在Kubernetes yaml部署中,是否可以使用变量为kubectl命令设置名称、标签、主机名等字段?
像一个.env文件与docker-compose允许使用变量来定义映像,端口,卷...或值.yaml为Helm安装。
例如:
deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: $deploy_name
spec:
selector:
matchLabels:
app: $app
customer: $customer
env: $env
kube.env
deploy_name=prod-app
app=mysql
customer=customer1
env=prod
kubectl命令:kubectl apply -f deployment.yaml --values kube.env
我只找到了一种为容器设置env变量的方法,但没有为yaml部署的其余部分找到这种方法。
1条答案
按热度按时间bvjxkvbb1#
据我所知,他们不是在部署中设置动态变量机制的方法,但您可以通过两种方法实现这一点
1)(推荐且易于使用)使用Helm(Helm允许您在一个地方设置所有值)
您可以随时参考文档:https://helm.sh
2)使用脚本