使用kustomize进行Kubernetes对象的声明式管理
2021-04-25 16:27
标签:sig ted 修改 icm container tar 名称 ase sources kustomize是一个独立的工具,用于通过kustomization文件来自定义Kubernetes对象。 从1.14开始,Kubectl还支持使用kustomization文件管理Kubernetes对象。要查看在包含kustomization文件的目录中找到的资源,请运行以下命令: 要应用这些资源,请使用--kustomize或-k标志运行kubectl apply: Kustomize是用于自定义Kubernetes配置的工具。它具有以下功能来管理应用程序配置文件: kustomize功能列表: 以下使用k8s官网的示例来演示一下,通过configmap配置redis: 使用kustomize进行Kubernetes对象的声明式管理 标签:sig ted 修改 icm container tar 名称 ase sources 原文地址:https://www.cnblogs.com/zmichael/p/12228838.html使用kustomize进行Kubernetes对象的声明式管理
kubectl kustomize
kubectl apply -k
字段
字段类型
字段功能说明
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定义文件
maxmemory 2mb
maxmemory-policy allkeys-lr
cat ./kustomization.yaml
configMapGenerator:
- name: example-redis-config
files:
- redis-config
EOF
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
cat >./kustomization.yaml
resources:
- redis-pod.yaml
EOF
[root@kub01 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
[root@kub01 k8sredis]# pwd
/opt/k8sredis
查看已经创建的资源:[root@kub01 k8sredis]# kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
redis 1/1 Running 0 3h33m 10.244.0.13 kub01
[root@kub01 k8sredis]# kubectl exec -it redis redis-cli
127.0.0.1:6379> CONFIG GET maxmemory
1) "maxmemory"
2) "2097152"
上一篇:jquery-进度条
文章标题:使用kustomize进行Kubernetes对象的声明式管理
文章链接:http://soscw.com/index.php/essay/79446.html