web-dev-qa-db-ja.com

Kubernetesポッドのデプロイ名にランダムな文字列を追加します

基本的にポッド内で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"
6
user8639269

namegenerateNameに置き換えることができます。これにより、ランダムなサフィックスが追加されます。テンプレートは次のようになります。

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では機能しませんが、このテンプレートには含まれていません。特定の名前。

20
Robert Lacok