0

我有一个基于 kubernetes 的应用程序,它使用操作员在 pod 中构建和部署容器。有时我想以特权模式运行容器以启用性能跟踪,但由于我不是直接从清单部署 pod/容器,我不能简单地添加特权模式和 debugfs 文件系统挂载。

这让我不得不分叉操作员代码,更改构建容器规范的位置,并使用修改后的操作员重新部署。可行,但很尴尬。

所以我的问题是,是否可以在操作员部署 Pod 之前,根据一些集群范围的设置,将额外的属性添加到容器规范中?或者在部署后修改容器规范?我试过了kubectl edit pod mypod,但是没有用。

这是在安装了 kubespray 的物理集群上。

4

1 回答 1

0

需要考虑三件事:

  1. 您的操作员可以创建一个控制器(例如 Deployment)而不是 Pod,这允许在 Pod Spec 区域中进行修改,从而触发 Deployment 的推出(请参阅滚动更新策略)。

  2. 使用 MutatingAdmissionWebhook 所以在创建 Pod 之前,它的清单会被即时修改/覆盖。更多关于 MutatingAdmissionWebhook 的信息可以在这里这里找到。

  3. 以修改供应规格 -> 交换 pod-a 形式的变通解决方案。更多关于这方面的讨论在这里

如果上述任何方法有帮助,请告诉我。

于 2019-08-21T10:35:40.797 回答