让外部网络访问K8S service的四种方式

本文基于kubernetes 1.5.2版本编写

kube-proxy+ClusterIP

kubernetes版本大于或者等于1.2时,配置:

修改master的/etc/kubernetes/proxy,把KUBE_PROXY_ARGS=”“改为KUBE_PROXY_ARGS=”–proxy-mode=userspace”
重启kube-proxy服务
在核心路由设备或者源主机上添加一条路由,访问cluster IP段的路由指向到master上。

kubernetes版本小于1.2时,直接添加路由

负载均衡器+NodePort

部署一个负载均衡器(nginx、keepalive等)

Ingress

Ingress是一种HTTP方式的路由转发机制,由Ingress Controller和HTTP代理服务器组合而成。Ingress Controller实时监控Kubernetes API,实时更新HTTP代理服务器的转发规则。HTTP代理服务器有GCE Load-Balancer、HaProxy、Nginx等开源方案。 详细说明请见http://blog.csdn.net/liyingke112/article/details/77066814

loadbalance

LoadBalancer在NodePort基础上,K8S可以请求底层云平台创建一个负载均衡器,将每个Node作为后端,进行服务分发。该模式需要底层云平台(例如GCE)支持。

发布于:2019-11-08 01:57:03