简体   繁体   English

如何使用“controller.nodeSelector”选项将 nginx-ingress controller 部署到 kube.netes 主节点?

[英]How to deploy nginx-ingress controller to kubernetes master nodes by using "controller.nodeSelector" option?

I need only deploy nginx-ingress controller to kube.netes master nodes, by using Helm chart "ingress-nginx".我只需要使用 Helm 图表“ingress-nginx”将 nginx-ingress controller 部署到 kube.netes 主节点。 It provided an option "controller.nodeSelector" to select k8s nodes for deployment.它为 select 个 k8s 节点提供了一个选项“controller.nodeSelector”用于部署。 So I want to use this option to select k8s master nodes with label node-role.kube.netes.io/master= , but tried different formats, can't have it work as expected.所以我想将此选项用于 select k8s 主节点和 label node-role.kube.netes.io/master= ,但尝试了不同的格式,无法按预期工作。

Failed case:失败案例:

helm install --set controller.hostNetwork=true --set controller.hostPort.enabled=true --set controller.extraArgs.enable-ssl-passthrough="" --set controller.replicaCount=1 --set controller.nodeSelector."node-role\.kubernetes\.io/master"="" --namespace rwe ingress-nginx ingress-nginx/ingress-nginx

Could you help advise how to have this option take into effect?你能帮忙建议如何让这个选项生效吗? Thanks.谢谢。

First remove the taint from master node to make it schedulable首先从主节点移除污点,使其可调度

kubectl taint node master node-role.kubernetes.io/master:NoSchedule-

Add a label master=true to the master node master节点添加一个label master=true

kubectl label nodes master master=true

And then use below helm command.然后使用下面的 helm 命令。 Note --set-string instead of set注意--set-string而不是set

helm install --set controller.hostNetwork=true --set controller.hostPort.enabled=true --set controller.extraArgs.enable-ssl-passthrough="" --set controller.replicaCount=1 --set-string controller.nodeSelector.master=true --namespace rwe ingress-nginx ingress-nginx/ingress-nginx

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM