标签:tld 应用层 定义 gre 如何 ack 不同的 转发机制 ext
ingress 是如何访问到pod的呢? 1,ingress由ingress 控制器 和 规则组成。 2,ingress rule 负责找到对应的service,实现访问到pod。 我们知道service的表现形式为IP:PORT,即工作在第四层传输层(TCP/IP层),那么对于不同的URL地址经常对应用不同的后端服务或者虚拟服务器, 这些应用层的转发机制仅通过kubernetes的service机制是无法实现的,这种情况我么可以使用ingress策略定义和一个具体的ingress Controller, 两者结合实现一个完整的Ingress 负载均衡,这个负载均衡是基于nginx七层反向代理来实现的。 [root@centos7 demo]# [root@centos7 demo]# cat ingress.yml apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: name: example-ingress spec: rules: - host: example.ctnrs.com http: paths: - path: / backend: serviceName: web servicePort: 80 [root@centos7 demo]# [root@centos7 demo]# kubectl get pods NAME READY STATUS RESTARTS AGE web-5c987b8447-kptld 1/1 Running 0 6d21h web-5c987b8447-nwhcd 1/1 Running 0 4d14h web-5c987b8447-qjpz4 1/1 Running 0 4d14h [root@centos7 demo]# [root@centos7 demo]# kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 12d web NodePort 10.0.0.19 <none> 80:32045/TCP 4d14h web-1 ClusterIP 10.0.0.15 <none> 80/TCP 2d15h [root@centos7 demo]# [root@centos7 demo]# [root@centos7 demo]# kubectl apply -f ingress.yml ingress.networking.k8s.io/example-ingress unchanged [root@centos7 demo]# [root@centos7 demo]# kubectl get ing NAME HOSTS ADDRESS PORTS AGE example-ingress example.ctnrs.com 80 20m [root@centos7 demo]# [root@centos7 demo]# hosts 绑定: 192.168.0.11 example.ctnrs.com ingress 控制器在哪个节点,就用哪个节点的IP,来绑定对应的域名。 浏览器访问: example.ctnrs.com
标签:tld 应用层 定义 gre 如何 ack 不同的 转发机制 ext
原文地址:https://www.cnblogs.com/k8s-pod/p/13234570.html