首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将Kubernetes自定义资源规范与GO控制器中的预期规范进行比较?

如何将Kubernetes自定义资源规范与GO控制器中的预期规范进行比较?
EN

Stack Overflow用户
提问于 2020-04-08 14:19:43
回答 1查看 85关注 0票数 0

我正在尝试实现我的第一个Kubernetes运算符。我希望操作员控制器能够将正在运行的pod中的配置与自定义资源定义中定义的预期配置进行比较。

例如:自定义资源

代码语言:javascript
运行
复制
apiVersion: test.com/v1alpha1
kind: TEST
metadata::
  name: example-test
spec:
  replicas: 3
  version: 20:03
  config:
    valueA: true
    valueB: 123

上述自定义资源部署完成,3个pods正在运行。进行更改,使得配置"valueA“被更改为false。

在GO控制器协调函数中,我可以获得测试实例并查看配置的“新”版本:

代码语言:javascript
运行
复制
instance := &testv1alpha1.TEST{}
log.Info("New value : " + instance.Spec.Config.valueA)

我想知道如何访问我运行的pod中"valueA“的值,以便我可以比较和重新创建pod,如果它发生了变化?

另一个次要问题是,我是否需要遍历协调函数中所有正在运行的pod来检查每个pod,或者我是否可以将其作为单个操作来完成?

EN

回答 1

Stack Overflow用户

发布于 2020-04-08 15:25:18

这个配置到底是什么?如果是Pod的规范配置,我建议你不要更新单个Pod,而是更新部署中的规范,它会自动重新启动它的Pod。如果这个pod中的应用程序是环境变量,我建议使用ConfigMap来存储它们,并更新它们。回答您的第二个问题,在这两种情况下--这将是一个单一的操作。

要获得部署或ConfigMap,你需要有它的名称和命名空间,通常,对于自定义资源,它应该从它的名称派生出来。Here is example如何获取部署实例并更新它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61094417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档