ingress-nginx 是 Kubernetes 的入口控制器,使用NGINX作为反向代理和负载均衡器
版本介绍
版本1:Ingress NGINX Controller(k8s社区的ingres-nginx)
以 NGINX 开源技术为基础(kubernetes.io),可在GitHub的 kubernetes/ingress-nginx 代码库中找到,由 Kubernetes 社区维护,并且 F5 NGINX 承诺帮助管理该项目
版本2:NGINX Ingress Controller(nginx公司的nginx-ingress)
NGINX Ingress Controller 由 F5 NGINX 开发和维护(docs.nginx.com),可在 GitHub的 nginxinc/kubernetes-ingress 代码库中找到
安装(Ingress NGINX Controller)
官网地址
- 下载YAML文件
curl https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.6.4/deploy/static/provider/cloud/deploy.yaml -o /home/lixing/ingress-nginx.yaml
- 编辑YAML文件
修改Service(名称:ingress-nginx-controller)的type为NodePort
- 本地YAML安装
kubectl apply -f /home/lixing/ingress-nginx.yaml # 安装
kubectl apply -f /home/lixing/ingress-nginx.yaml # 卸载
- 查询 ingress-nginx 命名空间下的 deployment、pod、service 资源
kubectl get deployment,pods,service -n ingress-nginx -o wide
kubectl describe pod -n ingress-nginx podName
kubectl logs -n ingress-nginx podName
注意:ingress-nginx-controller 本身也是一个 service 服务
- 检查相关Pod运行状态
kubectl wait --namespace ingress-nginx \
--for=condition=ready pod \
--selector=app.kubernetes.io/component=controller \
--timeout=120s