ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

K8S Kustomize

2022-05-23 19:03:45  阅读:130  来源: 互联网

标签:Kustomize 配置文件 yaml Base K8S 目录 kustomization


1.概述

官网:https://kustomize.io/
参考文档:https://kubectl.docs.kubernetes.io/guides/
Kustomize是一个开源的Kubernetes配置管理工具。
在Kubernetes上运行一个项目,可能存在多套运行环境:开发环境、测试环境、生产环境,多套环境可能需要编写多个存在微小差异的YAML配置文件,而这多套YAML文件只存在微小的配置差异(比如镜像、标签等),Kustomize允许将这些公共部分写入到基础配置文件(Base/xxx.yaml)中,将差异部分写入到对应不同运行环境需要覆盖的配置文件(Overlay/<项目目录>/xxx.yaml)中,以简化管理和编写配置文件。
Kustomize已内置Kubernetes中,可以使用"kubectl apply -k"命令指定配置目录。

1.1.Kustomize的组成和目录结构

~/someApp
├── base
│   ├── deployment.yaml
│   ├── kustomization.yaml
│   └── service.yaml
└── overlays
    ├── development
    │   ├── cpu_count.yaml
    │   ├── kustomization.yaml
    │   └── replica_count.yaml
    └── production
        ├── cpu_count.yaml
        ├── kustomization.yaml
        └── replica_count.yaml

Kustomize主要由Base、Overlay两个部分组成,分别对应Base、Overlay目录。

  • Base,基础配置文件存放目录。目录下应该存放kustmization配置文件+资源配置文件。
  • Overlays/<项目目录>,差异/要更新的配置文件存放目录,期望覆盖更新、增加、减少的资源对象。目录下应该存放kustmization配置文件+补丁配置文件+更多资源配置文件。

1.2.kustomization.yaml

在每个目录下都应存在一个kustomization.yaml,它是Kustomize的配置文件,用于描述和说明Base、Overlays目录下Kuernetes资源配置文件之间的关系,或者定义声明公共的资源配置部分。
kustomization.yaml有自己的语法,最基础的声明如下:
Base/kustomization.yaml:

commonLabels:
  app: hello
resources:
- deployment.yaml
- service.yaml

Overlays/development/kustomization.yaml:

bases:
- ../../base
patchesStrategicMerge:
- cpu_count.yaml
- replica_count.yaml

2.kustomization常用指令

Base/kustomization.yaml:

namePrefix: my-
resources:
- deployment.yaml
- service.yaml

commonLabels:
  kustomize: dome-nginx
commonAnnotations:
  kustomize/description: "This is an application managed by kustomize"

Overlays/production/kustomization.yaml:

bases:
- ../../base
patchesStrategicMerge:
- deployment.yaml

resources([])

指定要关联的资源配置文件列表。

bases([])

指定基础资源配置文件存放目录路径。

patchesStrategicMerge([])

指定要更新合并的资源配置文件列表。

namePrefix(string)

名称前缀,在每个资源对象的名称前面添加一个前缀。

commonLabels([])

标签,在每个资源对象上面增加一个标签。

commonAnnotations([])

注解,在每个资源对象上面增加一个注解。

标签:Kustomize,配置文件,yaml,Base,K8S,目录,kustomization
来源: https://www.cnblogs.com/RidingWind/p/16302389.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有