image.png
1.集群内部访问
2.内部访问外部
3.外部访问内部

1.例如 pod A 要访问pod B
1.1
由于pod的生命周期周期不稳定,ip地址随时可能变化。因此只能通过service的ip地址来访问,这是相对固定的,同时为每个service准备了dns域名解析,将ip地址映射为方便我们使用的域名
1.2
提供了headlessservice列出完整的pod清单

2.例如 pod A 访问 外部的MySQL服务
2.1
与服务未迁移到k8s上一样,直接使用ip+端口的访问方式
这里直接使用例子中的ip地址10.155.20.60:3306就能实现对数据库的访问
2.2
实际上就是加了一层封装,将2.1的访问方式包装为集群内的一个outservice,就可以和内部访问一样使用dns轻松访问了

3.外部的客户端访问集群内部
3.1
集群中节点都有一个对外的端口node:port
这种方法在生产环境中比较少使用
3.2
nodeport与hostport最重要的一个区别是,hostport是针对一个单宿主机的一个容器的;而nodeport是针对于K8S集群而言的。
3.3
ingress
image.png

https://zhuanlan.zhihu.com/p/...


wric
10 声望3 粉丝