问题诊断-Deployment故障排除图解(待续…)
在Kubernetes中部署应用程序时,通常会定义三个组件:
一个Deployment - 这是一份用于创建你的应用程序的Pod副本的”食谱”;
一个Service - 一个内部负载均衡器,用于将流量路由到内部的Pod上;
一个Ingress - 描述如何流量应该如何从集群外部流入到集群内部的你的服务上。
- 在Kubernetes中,应用程序通过两层负载均衡器暴露服务:内部的和外部的。
- 内部的负载均衡器称为Service,而外部的负载均衡器称为Ingress。
- Pod不会直接部署。Deployment会负责创建Pod并管理它们。
一. 连接Deployment和Service
其实,Service和Deployment之间根本没有连接。事实是:Service直接指向Pod,并完全跳过了Deployment。因此,应该注意的是Pod和Service之间的相互关系。
- Service selector应至少与Pod的一个标签匹配;
- Service的targetPort应与Pod中容器的containerPort匹配;
- Service的port可以是任何数字。多个Service可以使用同一端口号,因为它们被分配了不同的IP地址;