1.Ingress 是什么?
Ingress 公开了从集群外部到集群内 services 的 HTTP 和 HTTPS 路由。 流量路由由 Ingress 资源上定义的规则控制。
一种全局的、为了代理不同后端 Service 而设置的负载均衡服务,就是 Kubernetes 里的 Ingress 服务。
• Ingress由两部分组成:Ingress controller和Ingress服务。
• Ingress Controller 会根据你定义的 Ingress 对象,提供对应的代理能力。业界常用的各种 反向代理项目,比如 Nginx、HAProxy、Envoy、Traefik 等,都已经为Kubernetes 专门维 护了对应的 Ingress Controller
官网:https://kubernetes.github.io/ingress-nginx/
2. ingress服务部署
下载ingress-nginx文件,得到deploy.yaml文件,编辑查看所需镜像:
在私有仓库主机从外界拉取ingress服务所需镜像,打标签推送到我们的私有仓库上
在deploy.yaml文件中更改镜像名称,与私有仓库中的镜像名相契合
应用deploy.yaml,可以查看到刚刚添加的 Ingress-nginx 的状态是Active:
kubectl get namespaces ##创建了一个以ingress-nginx命名的空间
kubectl get pod -n ingress-nginx ##查看pod时指定namespace
kubectl get all -n ingress-nginx ##查看ingress-nginx下的所有信息资源
kubectl get pod -n ingress-nginx -o wide ##查看pod运行在那些节点
kubectl get svc -n ingress-nginx ##获取到端口 31181
kubectl describe svc -n ingress-nginx ingress-nginx-con