13、Ingress 大全
1)、 nodePort不足
1端口限1服务,端口需提前规则
支持4层负载均衡
2)、对外/对内==>http/https
Ingress Controller流量路由
3)、
i)、部署Ingress Controller
ii)、Ingress 规则
3)、
i)、部署Ingress Controller
采用官方维护Nginx控制器
https://github.com/kubernetes/ingress-nginx
###############https://github.com/kubernetes/ingress-nginx/tree/nginx-0.30.0/deploy/static
yaml ###wget https://github.com/kubernetes/ingress-nginx/blob/nginx-0.30.0/deploy/static/mandatory.yaml
############mandatory.yaml####################改名为 ingress-controller.yaml
################## mandatory.yaml##############改名为 ingress-controller.yaml ###############
##################mv mandatory.yaml ingress-controller.yaml ###################
##########wget mandatory.yaml文件内容问题 请直接vi ingress-controller.yaml 手工复制内容######
##################vi ingress-controller.yaml ###########################################
################### 国内镜像 lizhenliang/nginx-ingress-controller:0.30.0
###Ingress Controller###暴露########使用宿主机网络hostNetwork:true或NodePort
##### ####kubectl apply -f ingress-controller.yaml#######
版本要改成 v1
######kubectl get pods -n ingress-nginx
###ss -atnp |grep 80
ii)、Ingress 规则
其他控制器 https://kubernetes.io/zh/docs/concepts/services-networking/ingress/
############## kubectl get service##############
##进行Ingress#####对service:web《====》host: web.aliangedu.com
######vi ingress.yaml 如下######
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: aliangedu
spec:
rules:
- host: web.aliangedu.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: test
port:
number: 8888
kubectl apply -f ingress.yaml
查看######### kubectl get ingress
######kubectl get pods
######kubectl get pods
查看######### kubectl get ingress
例 本地hosts对应Ingress的配域名
<ingress controller Pod所在Node IP> web.aliangedu.cn
浏览器: 192.168.254.156 service clusterip(iptables 负载) --->分布在各个节点pod
web.aliangedu.cn ingress-controller(80/443) --->分布在各个节点pod