注意:
--watch-namespace
将范围限制为特定命名空间。ingress-controller
将合并定义。kubectl create clusterrolebinding cluster-admin-binding \
--clusterrole cluster-admin \
--user $(gcloud config get-value account)
所有部署都需要强制执行以下命令。
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml
不同的云平台部署过程不同,可以参考这里。
Ingress-controller
访问端口。kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/baremetal/service-nodeport.yaml
检查ingress-controller
是否已启动,请运行以下命令:
kubectl get pods --all-namespaces -l app.kubernetes.io/name=ingress-nginx --watch
要检查处于运行状态的ingress-controller
是哪个版本的,进入这个pod然后执行nginx-ingress-controller version
命令。
POD_NAMESPACE=ingress-nginx
POD_NAME=$(kubectl get pods -n $POD_NAMESPACE -l app.kubernetes.io/name=ingress-nginx -o jsonpath='{.items[0].metadata.name}')
kubectl exec -it $POD_NAME -n $POD_NAMESPACE -- /nginx-ingress-controller --version
从charts官方的仓库中使用这个chart,来安装ingress-controller
以my-nginx
作为实例名字。
helm install stable/nginx-ingress --name my-nginx
# 如果kubernetes集群开启了RBAC,执行如下命令
helm install stable/nginx-ingress --name my-nginx --set rbac.create=true
# 检查安装的版本
POD_NAME=$(kubectl get pods -l app.kubernetes.io/name=ingress-nginx -o jsonpath='{.items[0].metadata.name}')
kubectl exec -it $POD_NAME -- /nginx-ingress-controller --version