通过公开部署创建的Kubernetes服务未响应curl

时间:2020-05-27 12:21:47

标签: kubernetes

我使用部署结构部署了我的应用程序。我的广告连播的状态为Running,并且对广告连播的IP进行 curl 会返回应用程序内容。但是,当我使用kubectl expose deployment创建服务并且 curl 服务的IP时,curl会引发Connection refused错误。为什么呢?

我的豆荚

NAME                            READY   STATUS    RESTARTS   AGE   IP          NODE        NOMINATED NODE   READINESS GATES
cge-frontend-5d4595469b-qvcsd   0/1     Running   0          19s   10.40.0.4   compute04   <none>           <none>

我的服务

NAME           TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)   AGE
cge-frontend   ClusterIP   10.98.212.184   <none>        80/TCP    16m

错误

$ curl 10.98.212.184
curl: (7) Failed connect to 10.98.212.184:80; Connection refused

1 个答案:

答案 0 :(得分:1)

使用kubectl describe svc命令调查了我的服务之后。我冒充我的服务没有Endpoints-端点部分应列出pod的IP。

$ kubectl describe svc cge-frontend 
Name:              cge-frontend
Namespace:         default
Labels:            app=cge-frontend
Annotations:       <none>
Selector:          app=cge-frontend
Type:              ClusterIP
IP:                10.98.212.184
Port:              <unset>  80/TCP
TargetPort:        80/TCP
Endpoints:         
Session Affinity:  None

事实证明,错误是由我的probe之一导致我的广告连播处于Running状态而不是Ready状态引起的。固定探针,固定我的吊舱,然后固定服务。

修复探针后,我的吊舱现在处于正确状态READY 1/1

NAME                            READY   STATUS    RESTARTS   AGE   IP          NODE        NOMINATED NODE   READINESS GATES
cge-frontend-5d4595469b-qvcsd   1/1     Running   0          19s   10.40.0.5   compute04   <none>           <none>