Docker 修改正在运行的kubernetes群集

Docker 修改正在运行的kubernetes群集,docker,kubernetes,Docker,Kubernetes,我已经为kubernetes集群创建了一个yaml文件 其中包含两个docker图像(2个微服务)。从中创建了一个集群。 kubectl创建-f pod.yaml 群集正在运行 我希望添加另一个新的docker映像(要删除的新微服务)或从该集群中删除现有的一个docker映像 在同一集群中是否可能 通常认为pod只包含一个容器/服务是最佳实践。如果是这种情况,您可以简单地创建另一个部署配置文件来添加新服务,并使用kubectl应用它 如果您希望删除部署,可以使用kubectl delete de

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

我希望添加另一个新的docker映像(要删除的新微服务)或从该集群中删除现有的一个docker映像


在同一集群中是否可能

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


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

我不想进入您所说的
部分,它包含两个docker映像(2个微服务)。
这可能是一个单独的讨论,而且更主观

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

spec:
  containers:
  - name: container1
//.. more stuff
spec:
  containers:
  - name: container2
//.. more stuff
spec:
  containers:
  - name: container3    
但是另外将
deploymentStrategy
定义为
RollingUpdateDeployment
,这样就不会同时取下所有的POD,并以可控的方式更换它们,而不会影响最终用户流量

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


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

只需创建一个新部署,您不必使用新群集修改现有的clusternew部署?可能会显示您的.yaml文件