Helm安装的nginx-ingress如何将controller.kind从deployment更新为daemonset
解决方案
直接通过helm upgrade命令更新现有nginx-ingress release的配置即可,无需卸载重装,升级时需携带所有原有配置参数,避免之前设置的NodePort等配置被重置。
执行升级命令
helm upgrade nginx-ingress nginx-stable/nginx-ingress \ --set controller.service.type=NodePort \ --set controller.service.httpPort.nodePort=30000 \ --set controller.service.httpsPort.nodePort=30443 \ --set controller.kind=DaemonSet
升级后验证
- 检查原有Deployment是否已清理:
kubectl get deployment nginx-ingress,正常情况下该资源会被自动删除或副本数降至0 - 检查DaemonSet是否正常运行:
kubectl get daemonset nginx-ingress,确认期望副本数和就绪副本数一致 - 验证服务配置未被改动:
kubectl get svc nginx-ingress-controller,确认30000、30443端口配置与升级前一致
注意:如果集群节点配置了污点,需要在升级命令中追加
controller.tolerations相关参数配置容忍规则,否则Ingress控制器Pod可能无法调度到对应节点。
内容的提问来源于stack exchange,提问作者mainframer
相关产品推荐
相关产品推荐

