【问题标题】:Update multiple pods based on labels根据标签更新多个 pod
【发布时间】:2019-03-25 09:27:33
【问题描述】:

我有以下情况:

我有多个部署运行相同的映像,并且配置相同,但环境变量除外。

现在我的问题是,有没有一种简单的方法来更新所有这些部署的映像,而不是一个一个地更新?

我还没有找到解决方案,但我认为这应该可以通过使用标签来实现?

或者有没有更好的方法来部署相同的部署,只使用不同的环境变量?

【问题讨论】:

    标签: kubernetes label kubernetes-pod kubernetes-deployment


    【解决方案1】:

    是的,你可以,这就是标签的用途。它们适用于对相似对象进行分组。 这是最小的可重现示例。
    创建 2 个具有相同标签 app=nginx 的部署:

    $ kubectl run --image=nginx --overrides='{ "metadata": {"labels": {"app": "nginx"}}, "spec":{"template":{"spec": {"containers":[{"name":"nginx-container", "image": "nginx"}]}}}}' nginx-1
    deployment.apps/nginx-1 created
    $ kubectl run --image=nginx --overrides='{ "metadata": {"labels": {"app": "nginx"}}, "spec":{"template":{"spec": {"containers":[{"name":"nginx-container", "image": "nginx"}]}}}}' nginx-2
    deployment.apps/nginx-2 created
    

    这是我们的部署:

    $ kubectl get deploy -o wide --show-labels 
    NAME      READY   UP-TO-DATE   AVAILABLE   AGE   CONTAINERS        IMAGES   SELECTOR      LABELS
    nginx-1   1/1     1            1           20s   nginx-container   nginx    run=nginx-1   app=nginx,run=nginx-1
    nginx-2   1/1     1            1           16s   nginx-container   nginx    run=nginx-2   app=nginx,run=nginx-2
    

    然后我们可以使用set 命令并使用标签app=nginx 过滤所需的部署:

    $ kubectl set image deployment -l app=nginx nginx-container=nginx:alpine
    deployment.extensions/nginx-1 image updated
    deployment.extensions/nginx-2 image updated
    

    并查看结果:

    $ kubectl get deploy -o wide --show-labels
    NAME      READY   UP-TO-DATE   AVAILABLE   AGE     CONTAINERS        IMAGES         SELECTOR      LABELS
    nginx-1   1/1     1            1           6m49s   nginx-container   nginx:alpine   run=nginx-1   app=nginx,run=nginx-1
    nginx-2   1/1     1            1           6m45s   nginx-container   nginx:alpine   run=nginx-2   app=nginx,run=nginx-2
    

    【讨论】:

      猜你喜欢
      • 2021-01-07
      • 2022-01-05
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 2020-05-27
      • 2023-03-23
      • 1970-01-01
      相关资源
      最近更新 更多