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

 

posted @ 2022-04-25 16:20  AlexMa  阅读(65)  评论(0)    收藏  举报