Kubernetes之Pod介绍
下图Pod的客户端有两类:其他Pod和集群外的客户端
集群外访问需要通过service提供固定端点访问
service的类型有:ClusterIP、NodePort、LoadBalancer、ExternalName,默认是ClusterIP
创建service命令:kubectl expose deployment(控制器类型)nginx-deploy(控制器名称) --name 服务名 --port=service端口 --target-port=Pod的端口(即容器端口)
这样就可以通过访问service的ip来访问Pod,也可以通过service的服务名来访问,前提是Pod客户端需要能解析这个服务名,解析时需要依赖Core-dns服务。而物理机上的解析文件/etc/resolv.conf中的解析的IP不是Core-dns,可以通过master节点查看,命令为:kubectl get pods -n kube-system -o wide。如下图:
而coredns也有服务名,叫kube-dns,如下图:
如果从master节点上创建一个Pod客户端来访问其他Pod,它的dns服务直接指定到kube-dns的IP上。
因此在Pod之外解析的时候要加上搜索域,例如: