gpt4 book ai didi

kubernetes - Helm Hook运行kubectl命令

转载 作者:行者123 更新时间:2023-12-02 12:31:24 24 4
gpt4 key购买 nike

我想从升级前的kubectl运行helm hook命令,但是对于如何实现此目的,我似乎都没有任何文档。

为了实现此目的,我是否必须创建一个包含kubectl的Docker镜像?

还是有某种无需使用容器即可实现这一目标的方法?

我有一个基本的helm hook,看起来像这样


apiVersion: batch/v1
kind: Job
metadata:
name: {{ .Chart.Name }}-change-pvc-hook
labels:
app: {{ .Chart.Name }}
annotations:
"helm.sh/hook": pre-upgrade
"helm.sh/hook-delete-policy": hook-succeeded, before-hook-creation
spec:
template:
metadata:
name: "{{.Release.Name}}"
labels:
app: {{ .Chart.Name }}
spec:
restartPolicy: Never
containers:
- name: pre-upgrade-change-pvc

如果有人可以解释如何在没有容器的情况下运行 kubectl或如何实现这一点,那将是非常不错的

最佳答案

Do I have to create a docker image that contains kubectl in order to achieve this?



是的,您必须创建它,因为容器通常是轻量级的,并且包含最基本的内容。
您可以使用 Dockerfile使用kubernetes创建容器。

第二种选择是创建自己的 mutating webhook,它将修改PVC(使用 patch)。

Mutating admission Webhooks are invoked first, and can modify objects sent to the API server to enforce custom defaults. After all object modifications are complete, and after the incoming object is validated by the API server, validating admission webhooks are invoked and can reject requests to enforce custom policies.



这样,您可以在 Helm install创建发行版之前修改PVC。

关于kubernetes - Helm Hook运行kubectl命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58505426/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com