登录
首页 >  Golang >  Go问答

如何使用 MutatingWebhook 在创建时将容器注入到 Kubernetes Pod 中?

来源:stackoverflow

时间:2024-04-12 17:00:36 342浏览 收藏

你在学习Golang相关的知识吗?本文《如何使用 MutatingWebhook 在创建时将容器注入到 Kubernetes Pod 中?》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!

问题内容

使用 mutatingwebhook/sidecar 注入,我尝试在创建 kubernetes 部署时将容器添加到其中。我知道我必须制作一个 json 补丁,但我不清楚添加容器所需的语法。 (我已成功向部署添加标签,fwiw。)

我知道 json 补丁对象看起来像这样,但我不清楚在“值”字段中放置什么。

}
  "op":    "add",
  "path":  "/spec/containers",
  "value": "containername",
}

以下是我收到的错误消息之一的示例,该消息表明我的语法中的某些内容不正确。

Error creating: Internal error occurred: Internal error occurred: v1.Pod.Spec: v1.PodSpec.Containers: []v1.Container: readObjectStart: expect { or n, but found ", error found in #10 byte of ...|160000}},"{\"name\":|..., bigger context ...|OD","SETGID","SETUID"]},"runAsUser":1000160000}},"{\"name\":\"fluentd\"}"],"dnsPolicy":"ClusterFirst|...

解决方案


我会将此添加为评论,但我的代表太低。

https://kubernetes.io/docs/tasks/run-application/update-api-object-kubectl-patch/

显示使用 kubectl 修补部署的示例。可以在 MWH 中使用相同的 JSON 来修补部署。

Kubernetes 拥有广泛的 go 库,将所有 Kubernetes 对象封装为 go 结构。这是一个使用 MWH 注入容器的示例。

https://github.com/morvencao/kube-mutating-webhook-tutorial/blob/master/main.go#L26 <-他们加载将从文件(由配置映射填充)修补的 YAML

https://github.com/morvencao/kube-mutating-webhook-tutorial/blob/master/deployment/configmap.yaml < - 他们正在注入的 YAML 内容(由配置映射填充)

https://github.com/morvencao/kube-mutating-webhook-tutorial/blob/master/webhook.go#L132 < - 他们循环部署中的容器并添加容器(通过 JSON 补丁)

到这里,我们也就讲完了《如何使用 MutatingWebhook 在创建时将容器注入到 Kubernetes Pod 中?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>