我有我的简单部署.yaml文件与pod配置.这个想法是使用副本数作为变量而不使用 Helm ,我该怎么办?有一种方法使用的Map变量?谢谢
pb3skfrl1#
我有我的简单部署.yaml文件与pod配置.这个想法是使用副本数量作为变量,而不使用 Helm ,我怎么办?没有原生的Kubernetes机制可以从ConfigMap(或其他资源)设置replicas值。您需要使用某种模板机制,但不一定是Helm。假设你想部署三个副本,你可以使用像sed这样简单的东西,如下所示:
replicas
sed
sed '/replicas:/ s/:.*/: 3/' deployment.yaml | kubectl apply -f-
字符串或者,您可以将部署 Package 在shell脚本中:
#!/bin/sh cat <<EOF apiVersion: apps/v1 kind: Deployment metadata: name: example spec: replicas: ${1:-1} . . . EOF
型然后运行:
sh create-deployment.sh 3 | kubectl apply -f-
型等您可以使用Kustomize为部署打上所需的补丁;您的kustomization.yaml可能看起来像这样:
kustomization.yaml
resources: - deployment.yaml patches: - patch: | apiVersion: apps/v1 kind: Deployment metadata: name: example spec: replicas: 3
型你可以通过运行...
kubectl apply -k .
型.在与kustomization.yaml文件相同的目录中。
1条答案
按热度按时间pb3skfrl1#
我有我的简单部署.yaml文件与pod配置.这个想法是使用副本数量作为变量,而不使用 Helm ,我怎么办?
没有原生的Kubernetes机制可以从ConfigMap(或其他资源)设置
replicas
值。您需要使用某种模板机制,但不一定是Helm。假设你想部署三个副本,你可以使用像
sed
这样简单的东西,如下所示:字符串
或者,您可以将部署 Package 在shell脚本中:
型
然后运行:
型
等
您可以使用Kustomize为部署打上所需的补丁;您的
kustomization.yaml
可能看起来像这样:型
你可以通过运行...
型
.在与
kustomization.yaml
文件相同的目录中。