Kubernetes的service该如何访问?


刚初步接触Kubernetes,service这一块的原理还不是很清楚,现在用192.168.1.20做master节点,上面跑etcd,kube-apiserver,kube-controller-manager和kube-scheduler,192.168.1.21和192.168.1.22做node节点,上面跑Docker、kubelet和kube-proxy,现在部署了一个应用,在2个节点上分别被自动调度了一个pod,分别通过两台节点的ip也能正常访问,最后创建了一个对应的service,service被分配了虚拟ip192.168.1.9和端口,但这个该怎么访问啊?ping不通啊,难道不是这个原理?外部该如何通过service的虚拟ip做负载均衡访问应用?
已邀请:

杨章显 - 思科系统运维工程师

赞同来自: CooCla xiaolunsanguo


master配置的portalnet包含的IP都是本地有效的,对外没有路由,肯定ping不通的。如果你需要对外访问服务,可以在Service里设置publicIP,然后通过publicIP:servicePort访问服务。

wpcxbdtb

赞同来自:


谢谢!试出来了,确实是只能在node节点上才能访问,因为虚拟ip只在每一个node节点的iptables中映射

jolestar

赞同来自:


在master节点上配置kube-proxy就能访问service了。

Bryant

赞同来自:


学习了

xiphis

赞同来自:


service向外暴露,可以使用ingress

要回复问题请先登录注册