k8s创建吊舱的临时副本

时间:2020-10-02 16:25:39

标签: kubernetes continuous-integration devops continuous-deployment kustomize

我想即时创建一个k8s吊舱的副本, 并使用一些自定义配置对其进行修补。

不幸的是, 我真的不知道从哪里开始...

  my-service
    - kustomization.yaml
    - deployment.yaml

然后

kubectl apply -k ./path/to/my-service --override `{ "image": "foo-1", "name": "foo-1" }`

我所讨论的替代应该为部署提供动态信息, 例如我仅在构建时拥有的信息等。


A.C

  • []不应更改原始my-service吊舱,即时部署应创建一个新的临时吊舱。
  • []新的临时容器应具有original
  • 的所有信息

1 个答案:

答案 0 :(得分:1)

您可以使用简单的基础和叠加层:

my-service/
  base/
    kustomization.yml
    deployment.yml
  overlays/
    ephemeral/
      kustomization.yml

my-service/base/kustomization.yml

resources:
  - deployment.yml

如果您不需要临时部署的特定名称:

my-service/overlays/ephemeral/kustomization.yml

resources:
  - ../../base

nameSuffix: '-ephemeral'

images:
  - name: myImage
    newName: foo-1

replicas:
  - name: my-deployment
    count: 1

如果您需要特定名称,则必须在 my-service/overlays/ephemeral/kustomization.yml 中修补该名称。 然后你可以运行:

kubectl apply -k my-service/base
kubectl apply -k my-service/overlays/ephemeral

明确地说,这将创建两个部署:单个 Pod 的原始部署和一个部署。不是一个部署和一个单独的 Pod。