我有一个模板,它基本上是一个工具容器,用于在pod中运行kubectl。
我想要做的是,能够拥有同一模板的多个部署,使用不同的名称,就像"utilitypod-randomID“一样。
有没有办法做到这一点,通过kubectl和一些shell脚本,或类似的东西?
当前模板如下所示:
apiVersion: v1
kind: Pod
metadata:
name: utilitypod
namespace: blah-dev
labels:
purpose: utility-pod
spec:
containers:
- name: utilitypod
image: blahblah/utilitypod:latest
command: [ "/bin/bash", "-c", "--" ]
args: [ "while true; do sleep 28800; done;" ]
env:
- name: KUBERNETES_SERVICE_HOST
value: "api.dev.blah.internal"
- name: KUBERNETES_SERVICE_PORT
value: "443"
发布于 2017-12-29 21:54:16
您可以将name
替换为generateName
,这会添加一个随机后缀。您的模板将如下所示:
apiVersion: v1
kind: Pod
metadata:
generateName: utilitypod-
namespace: blah-dev
labels:
purpose: utility-pod
spec:
containers:
- name: utilitypod
image: blahblah/utilitypod:latest
command: [ "/bin/bash", "-c", "--" ]
args: [ "while true; do sleep 28800; done;" ]
env:
- name: KUBERNETES_SERVICE_HOST
value: "api.dev.blah.internal"
- name: KUBERNETES_SERVICE_PORT
value: "443"
请注意,这只适用于kubectl create -f template.yaml
,而不适用于apply
,因为apply
通过其名称查找资源并尝试比较它们的定义,但此模板不包含特定名称。
https://stackoverflow.com/questions/48023475
复制相似问题