比如从其他文件中设置ConfigMap和Secret 设置资源的跨领域
标签:
使用kustomize进行Kubernetes东西的声明式打点kustomize是一个独立的工具,用于通过kustomization文件来自界说Kubernetes东西。
从1.14开始,Kubectl还撑持使用kustomization文件打点Kubernetes东西。要检察在包罗kustomization文件的目录中找到的资源,请运行以下命令:
kubectl kustomize <kustomization_directory>要应用这些资源,请使用--kustomize或-k标识表记标帜运行kubectl apply:
kubectl apply -k <kustomization_directory>Kustomize是用于自界说Kubernetes配置的工具。它具有以下成果来打点应用措施配置文件:
从其他来源孕育产生资源,好比从其他文件中设置ConfigMap和Secret
设置资源的跨范围,在项目中为所有Kubernetes资源设置跨范围字段是很常见的,好比为所有资源设置不异的名称空间,添加不异的标签集,添加不异的注释集
构成和定制资源调集,Kustomize撑持差别资源的组合,kustomization.yaml文件中的resources字段界说要包罗在配置中的资源列表
kustomize成果列表:
字段 字段类型 字段成果说明namespace string 为所有资源添加名称空间
namePrefix string 此字段的值位于所有资源的名称之前
nameSuffix sting 该字段的值附加到所有资源的名称之后
commonLabels map[string]string 添加到所有资源和选择器的标签
commonAnnotations map[string]string 添加到所有资源的注释
resources []string 此列表中的每个条目都必需解析为现有资源配置文件
configmapGenerator []ConfigMapArgs 此列表中的每个条目城市生成一个ConfigMap
secretGenerator []SecretArgs 此列表中的每个条目城市生成一个secret
generatorOptions GeneratorOptions 改削所有ConfigMap和Secret生成器
bases []string 此列表中的每个条目都应解析到包罗kustomization.yaml文件的目录
patchesStrategicMerge []string 此列表中的每个条目都应解析Kubernetes东西的战略合并补丁
patchesJson6902 []Json6902 该列表中的每个条目都应解析为一个Kubernetes东西和一个Json Patch
vars []Var 每个条目都是从一种资源的字段中捕获信息
images []Image 每个条目都将改削一个图像的名称,标签和/或摘要,而不创建补丁
configurations []string 此列表中的每个条目都应解析为一个包罗Kustomize transfromer configuration
crds []string 该列表中的每个条目都应解析为针对Kubernetes类型的OpenAPI界说文件
以下使用k8s官网的示例来演示一下,通过configmap配置redis:
首先创建redis的配置文件信息redis-config,文件内容如下:
maxmemory 2mb maxmemory-policy allkeys-lr从redis-config文件创建一个包罗ConfigMap的kustomization.yaml
cat <<EOF >./kustomization.yaml configMapGenerator: - name: example-redis-config files: - redis-config EOF界说redis的pod配置信息,,redis-pod.yaml:
apiVersion: v1 kind: Pod metadata: name: redis spec: containers: - name: redis image: redis:5.0.4 command: - redis-server - "/redis-master/redis.conf" env: - name: MASTER value: "true" ports: - containerPort: 6379 resources: limits: cpu: "0.1" volumeMounts: - mountPath: /redis-master-data name: data - mountPath: /redis-master name: config volumes: - name: data emptyDir: {} - name: config configMap: name: example-redis-config items: - key: redis-config path: redis.conf将pod资源配置添加到kustomization.yaml
cat <<EOF >>./kustomization.yaml resources: - redis-pod.yaml EOF检察已经创建的文件
[[email protected] k8sredis]# ll total 12 -rw-r--r-- 1 root root 103 Jan 20 01:59 kustomization.yaml -rw-r--r-- 1 root root 43 Jan 20 01:57 redis-config -rw-r--r-- 1 root root 619 Jan 20 01:59 redis-pod.yaml [[email protected] k8sredis]# pwd /opt/k8sredis温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/31120.html