我有一個正在運行的 k8s 部署,帶有一個容器。
我想再部署 10 個容器,但部署清單有一些不同(即啟動的命令、容器名稱……)。
我寧愿使用模板,而不是在整個部署中再創建 10 個 .yml 檔案。我能做些什么來實作這一目標?
---
apiVersion: v1
kind: CronJob
metadata:
name: myname
labels:
app.kubernetes.io/name: myname
spec:
schedule: "*/10 * * * *"
jobTemplate:
spec:
template:
metadata:
labels:
app.kubernetes.io/name: myname
spec:
serviceAccountName: myname
containers:
- name: myname
image: 'mynameimage'
imagePullPolicy: IfNotPresent
command: ["/my/command/to/launch"]
restartPolicy: OnFailure
uj5u.com熱心網友回復:
Kustomize似乎是 kubernetes 配置中用于模板、組合、多環境覆寫等的首選工具。它也直接內置在kubectlnow 中。
具體來說,我認為您可以通過使用基礎和覆寫功能來實作您想要的。設定一個包含通用結構的基礎和包含特定覆寫的覆寫。
uj5u.com熱心網友回復:
您可以使用Helm或Kustomize。兩者都是模板工具,可幫助您實作目標
uj5u.com熱心網友回復:
您可以指定一組要創建的容器,您可以這樣做:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: container1
image: your-image
- name: container2
image: your-image
- name: container3
image: your-image
您可以根據需要多次重復該容器定義。
另一種方法是使用像上面提到的 helm/kustomize 這樣的模板引擎。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/472485.html
標籤:Kubernetes
