gpt4 book ai didi

kubernetes - kubernetes- Helm 升级会忽略 namespace 配置

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

我使用k8s并使用gitlab部署我的应用程序。例如,我的集群具有 namespace production。如果最初安装该应用程序,则运行:

$ helm install --name super-app -f values.yml ./Path/To/Project/helm

由于在helm值中指定了该命令,因此该命令将成功安装该应用程序到 namespace 生产中:
replicaCount: 3
imagePullSecret: regcred
namespace: production

在项目掌 Helm chart 中,我使用默认 namespace :
replicaCount: 3
imagePullSecret: regcred
namespace: default

当我从gitlab ci运行程序运行以下命令时:
helm upgrade -f ./values.yaml --set image.tag=master-$DOCKER_IMAGE_TAG super-app ./helm

在values.yaml中再次指定了 namespace 生产,我得到以下结果:
Release "super-app has been upgraded.
LAST DEPLOYED: Wed Oct 23 12:15:36 2019
NAMESPACE: production
STATUS: DEPLOYED

RESOURCES:
==> v1/ConfigMap
NAME DATA AGE
super-app 1 0s

==> v1/Deployment
NAME READY UP-TO-DATE AVAILABLE AGE
super-app 0/3 3 0 0s

==> v1/Pod(related)
NAME READY STATUS RESTARTS AGE
super-app-5d6dc6c9d-25q9g 0/1 ContainerCreating 0 0s
super-app-5d6dc6c9d-tdfhh 0/1 ContainerCreating 0 0s
super-app-5d6dc6c9d-z7h96 0/1 ContainerCreating 0 0s

==> v1/Secret
NAME TYPE DATA AGE
super-app Opaque 0 0s

==> v1/Service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
super-app LoadBalancer 10.100.115.194 <pending> 8080:32645/TCP 0s

现在,该应用程序已部署在默认 namespace 中,而不是在生产环境中。即使现有应用程序(在helm upgrade命令之前)正在生产 namespace 中运行。 Helm只是在默认 namespace 中创建一个新的服务和应用程序。
相同的逻辑适用于其他应用程序,为什么k8s忽略我的命名空间配置?

谢谢

最佳答案

尽管尚未在Chart Best Practices中进行记录,但此问题(#5465)解决了 namespace 注意事项:

In general, templates should not define a namespace. This is because Helm installs objects into the namespace provided with the --namespace flag. By omitting this information, it also provides templates with some flexibility for post-render operations (like helm template |
kubectl create --namespace foo -f -
)



如所引用的,最好的选择是将 --namespace添加到安装/升级命令中,而不是在模板上进行定义。

关于kubernetes - kubernetes- Helm 升级会忽略 namespace 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58522811/

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