首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >就绪探测失败,但端口转发到服务工作正常

就绪探测失败,但端口转发到服务工作正常
EN

Stack Overflow用户
提问于 2021-05-14 22:53:34
回答 1查看 32关注 0票数 1

我有一个deployment.yaml,它在容器上有一个就绪探测器。(就绪性探测将在此处失败)

代码语言:javascript
复制
apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: nginx
  name: my-nginx-deployment
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: nginx
    spec:
      containers:
      - image: nginx
        name: nginx
        readinessProbe:
         exec:
          command:
            - cat
            - /server/xyz.txt
         initialDelaySeconds: 50
         periodSeconds: 10
        resources: {}
status: {}

部署中的pods使用ClusterIP类型的服务提供服务。

代码语言:javascript
复制
apiVersion: v1
kind: Service
metadata:
  creationTimestamp: null
  labels:
    app: nginx-service
  name: nginx-service
spec:
  ports:
  - port: 8080
    protocol: TCP
    targetPort: 80
  selector:
    app: nginx
  type: ClusterIP
status:
  loadBalancer: {}

在使用kubectl apply应用这些yamls之后,pod中的容器永远不会准备就绪,因为就绪探测正在失败,这是意料之中的。

代码语言:javascript
复制
NAME                                     READY   STATUS    RESTARTS   AGE
my-nginx-deployment-6b788b89c6-f69j7   0/1     Running   0          9m50s
my-nginx-deployment-6b788b89c6-m5qf6   0/1     Running   0          9m50s

因此,由于这些pod还没有准备好,所以它们不应该服务于流量,但当我这样做时

代码语言:javascript
复制
kubectl port-forward services/nginx-service 8086:8080

我能够在http://127.0.0.1:8086/上得到200个响应和nginx主页,我还可以看到关于服务流量的pod日志。

问题是,当就绪探测失败时,为什么pods要为流量提供服务。

PS:我已经使用Kind在我的机器上创建了集群

EN

回答 1

Stack Overflow用户

发布于 2021-05-14 23:44:30

port-forward api用于Pod。kubectl port-forward命令只是使用服务来使其易于使用,但您的端口实际上被转发到Pod -因此就绪状态不适用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67536416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档