k8s-部署-18-NodePort型Service
1.K8S的DNS实现了服务在集群“内”被自动发现,那如何使得服务在k8s集群“外”被使用和访问呢
NodePort型的Service:
注意:无法使用kube-proxy的ipvs模型
使用Ingress资源
注意:Ingress只能调度并暴露7层应用,特指http和https协议
2.Ingress
- Ingress是K8S API的标准资源类型之一,也是一种核心资源,它其实是一组基于域名和URL路径 把用户的请求转发至指定Service资源的规则
- 可以将集群外部的请求流量,转发至集群内部,从而实现“服务暴露”
- Ingress控制器是能够为Ingress资源监听某些套接字,然后根据Ingress规则匹配机制路由调度流量的一组组件
- 说白了,Ingress没啥神秘的,就是nginx+一段go脚本而已
3.常用的Ingress控制器的实现软件
- Ingress-nginx
- HAProxy
- Traefik
如果使用iptables负载
[root@hdss7-14 ~]# vi /opt/kubernetes/server/bin/kube-proxy.sh #!/bin/sh ./kube-proxy \ --cluster-cidr 172.7.0.0/16 \ --hostname-override hdss7-14.host.com \ --proxy-mode=iptables \ --ipvs-scheduler=rr \ # iptables只能使用rr轮循 --kubeconfig ./conf/kube-proxy.kubeconfig
浙公网安备 33010602011771号