svc
ipvs模型(lvs)
kube-proxy都通过watch的方式监控着kube-APIServer写入etcd中关于Pod的最新状态信息,它一旦检查到一个Pod资源被删除了 或 新建,它将立即将这些变化,反应再iptables 或 ipvs规则中,以便iptables和ipvs在调度Clinet Pod请求到Server Pod时,不会出现Server Pod不存在的情况。
默认clusterip模式:clusterip是集群默认的service类型,他会获取一个虚拟IP,仅限于集群内部可以访问。(进入POD容器内,ping是可以ping通的。)
主机模式:
用于为集群外部访问Service后面Pod提供访问接入端口,会占用主机端口。
这种类型的service工作流程为:
Client----->NodeIP:NodePort----->ClusterIP:ServicePort----->PodIP:ContainerPort
1.查看podIp:kubectl get po -A -owide|grep edgec
2.通过podIP:8080看能不能访问通。如果不通(查看端口的socket连接lsof -i:8080)
3.通过clusterIP 看能不能访问通:clusterIP:8080
通过kubectl get svc获取CLUSTER-IP
4.通过节点IP:32082去访问,看能不能通。
附:
服务器服务的先后过程:
1、服务器创建监听socket
2、与对外服务的端口号绑定
3、开始listen
4、客户端连接到服务器对应的port
5、服务器accept为新的客户端产生新的socket
6、基于这个新的socket与客户端交换数据。