基本的にポッド内でkubectlを実行するためのユーティリティコンテナであるテンプレートがあります。
私がやりたいのは、「utilitypod-randomID」のように、同じテンプレートを異なる名前で複数回展開できるようにすることです。
Kubectlといくつかのシェルスクリプト、または同様のものを介して、それを行う方法はありますか?
現在のテンプレートは次のようになります。
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"
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"
apply
は名前でリソースを検索し、それらの定義を比較しようとするため、これはkubectl create -f template.yaml
でのみ機能し、apply
では機能しませんが、このテンプレートには含まれていません。特定の名前。