是否可以将是否设置了configmap变量作为Kubernetes容器部署的条件?

ghg1uchk  于 2023-02-03  发布在  Kubernetes
关注(0)|答案(1)|浏览(91)

如果我有一个service的k8s部署文件,其中包含多个容器(如apiworker1),我是否可以使它具有一个包含变量worker1_enabled的配置Map,以便如果我的service重新启动,容器worker1仅在配置Map中包含worker1_enabled=true时运行?

ql3eal8s

ql3eal8s1#

简短的回答是否定的。
根据k8s文档,Kubernetes集群中的Pod主要有两种使用方式:

  • 运行单个容器的Pod。“每个Pod一个容器”模型是Kubernetes最常见的用例;在本例中,您可以将Pod看作是单个容器的 Package 器;Kubernetes管理Pod,而不是直接管理容器。
  • 运行需要协同工作的多个容器的Pod。Pod可以封装由多个协同定位的容器组成的应用程序,这些容器紧密耦合并需要共享资源。这些协同定位的容器形成单个内聚的服务单元-例如,一个容器向公众提供存储在共享卷中的数据,而另一个独立的边车容器刷新或更新这些文件。Pod Package 这些容器,存储资源和暂时网络身份一起作为单个单元。

除非你的应用程序需要,最好将worker和API容器分开到它们自己的pod中,这样你就可以有一个deployment用于worker,一个用于api。
至于在worker1_enabled=true时部署worker,可以使用helm完成。您必须创建一个chart,以便在设置worker1_enabled=true的值时部署worker。
最后要注意的是,kubernetes中的service是一种抽象方式,用于将运行在一组Pod上的应用程序公开为网络服务。

相关问题