【问题标题】:Modify Running kubernetes Cluster修改运行 Kubernetes 集群
【发布时间】:2018-04-09 15:46:42
【问题描述】:

我已经为 kubernetes 集群创建了一个 yaml 文件 它包含两个 docker 图像(2 个微服务)。从中创建了一个集群。 kubectl create -f pod.yaml 集群正在运行。

我希望再添加一个新的 docker 镜像(新的微服务以进行 delpoyed)或从该集群中删除现有的一个 docker 镜像。

是否可以在同一个集群中?

【问题讨论】:

  • 新建一个deployment即可,不用修改已有集群
  • 新集群的新部署?
  • 也许显示你的 .yaml 文件

标签: docker kubernetes


【解决方案1】:

我不会进入你所说的which holds two docker images(2 microservices). 的部分,这可能是一个单独的讨论并且更主观。

您可以将另一个容器规范添加到您的 YAML 并应用它:

spec:
  containers:
  - name: container1
//.. more stuff
spec:
  containers:
  - name: container2
//.. more stuff
spec:
  containers:
  - name: container3    

但另外将deploymentStrategy 定义为RollingUpdateDeployment,这样就不会同时删除所有pod,而是以受控方式替换它们而不影响最终用户流量。

当然,如果您的应用程序的两个版本(一个带有 2 个容器,一个带有 3 个容器)与系统的其余部分不兼容,那么这不会解决您的问题。

在这种情况下 - 最好为新版本的应用程序建立另一个部署,并使用 DNS/路由机制将流量转移到新版本的应用程序。

【讨论】:

    【解决方案2】:

    通常认为最佳实践是 pod 仅包含单个容器/服务。如果是这种情况,您可以简单地创建另一个 deployment 配置文件来添加新服务并使用 kubectl 应用它。

    如果您想删除部署,可以使用kubectl delete deployment 命令。

    【讨论】:

      猜你喜欢
      • 2016-03-12
      • 2020-01-08
      • 1970-01-01
      • 1970-01-01
      • 2016-03-19
      • 2018-08-22
      • 1970-01-01
      • 2018-08-23
      • 2019-02-15
      相关资源
      最近更新 更多