1. 检查Service配置 首先,我们需要检查Service配置是否正确。可以通过kubectl get svc [service-name] -n [namespace]来查看Service的配置信息。确保Service的类型、端口和选择器等配置正确。 ```bash kubectl get svc my-service -n my-namespace ``` 2. 检查Endpoint是否正确 Service与Pod之间的通信是通过Endpoin...
### 步骤2:检查Service和Pod是否在同一个Namespace中 确保Service和Pod在同一个Namespace中,否则无法进行正常的通信。可以通过以下命令查看Service所在的Namespace: ```bash kubectl get svc-n ``` ### 步骤3:检查Endpoint是否正确指向Pod Service通过Endpoint与对应的Pod通信,因此需要确保Endpoint正确指向Pod。可以...
下面在更新Deployment的过程中通过watch命令来观察有问题的Service的Endpoint。 $ watch kubectl describe endpoints [endpoint name] 然后我就发现了罪魁祸首,在旧 Pod被移除的 30 秒到几分钟左右的时间段内,这些被删除的Pod的IP:Port仍然出现在Endpoint的就绪列表中,同时新启动的Pod的IP:Port也没有被添加到Endpoint中...
1 部署Endpoint和Service 代码语言:yaml 复制 apiVersion:v1kind:Servicemetadata:name:myepnamespace:defaultlabels:app:myepspec:ports:-name:http-8080port:8080protocol:TCPtargetPort:8080ipFamilies:-IPv6---apiVersion:v1kind:EndpointsapiVersion:v1metadata:name:myep#此名字需与 Service 中的 metadata.name...
因此,Service和Endpoints之间的关系可以总结为:Service定义了一组Pod的访问方式,而Endpoints则存储了这些Pod的实际网络终结点信息,Service通过Endpoints来实现对后端Pod的负载均衡和代理转发。 Pod:Pod是kubernetes的最小管理单元,它有自己的IP地址,它的IP地址会被endpoints存储与管理,当pod没有达到健康时,endpoint会把这个...
Service也通过标签选择器关联到了pod,而且也有Endpoint pod正常运行 [root@k8s-master01 test-yaml01]# kubectl describe svc/nginx-n dev03Name:nginxNamespace:dev03Annotations:<none>Selector:app=myapp,version=v1Type:NodePortIP:10.101.93.77Port:web80/TCPTargetPort:80/TCPNodePort:web8081/TCPEndpoints:<no...
这节讲一下 k8s 网络相关的资源类型 service 和 endpoint,关于这一块,这篇博客讲的不错:https://www.cnblogs.com/moonlight-lin/p/14553119.html 在前面创建的 POD 会发现一个问题,POD的 IP 地址不是固定不变的,对外提供服务时很不方面,使用 Service 资源可以解决这个问题。 Service 先创建一个deployment ...
排查思路 dns问题 首先观察k8s-mon-deployment的日志 ```shell script kubectl logs -l app=k8s-mon-deployment -n kube-admin |grep 8080 如有下列报错说明网络不通 err="Get \"http://kube-state-metrics.kube-system:8080/metrics\": net/http: request canceled while waiting for connection (Client.Time...
1.集群 DNS 没有正常运行 步骤 1:找集群 dns 的 service 步骤 2:查看 service 详情 步骤 3:查看 endpoint 对应的 pod 状态 2...