【问题标题】:Kubernetes not returning endpoints Django Rest-FrameworkKubernetes 不返回端点 Django Rest-Framework
【发布时间】:2018-08-06 19:30:16
【问题描述】:

嘿,伙计们,我有一个 django rest 应用程序,每次我使用服务公开部署时,我的 minikube 都不会公开 IP,有人知道如何解决吗?我等了 3 个小时,我的 minikube 没有显示任何 IP。

Pod/容器日志:

<django.db.models.fields.related.ForeignKey>
<django.db.models.fields.TextField>
<django.db.models.fields.related.ForeignKey>
Operations to perform:
  Apply all migrations: admin, auth, authtoken, chat, contenttypes, notifications, sessions
Running migrations:
  No migrations to apply.
<django.db.models.fields.related.ForeignKey>
<django.db.models.fields.TextField>
<django.db.models.fields.related.ForeignKey>
<django.db.models.fields.related.ForeignKey>
<django.db.models.fields.TextField>
<django.db.models.fields.related.ForeignKey>
Performing system checks...
 System check identified no issues (0 silenced).
August 06, 2018 - 19:14:37
Django version 2.0.1, using settings 'chatire.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C

后端服务:

apiVersion: v1
kind: Service
metadata:
  name: backend-service
spec:
  type: NodePort
  ports:
    - port: 8000
      nodePort: 30001
  selector:
    service: backend-pod

后端部署:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: backend-deployment
spec:
  template:
    metadata:
      labels:
       name: backend-pod
    spec:
      containers:
        - name: container-backend
          image: modalgr.azurecr.io/chatbot/backend:v1.1
          ports:
          - containerPort: 8000
          command: ["/bin/sh"]
          args: ["app.sh"]
      restartPolicy: Always
      imagePullSecrets:
      - name: azure-auth

错误日志:

C:\Users\Youssef\Documents\kubernetes>minikube service backend-service | findstr IP
Waiting, endpoint for service is not ready yet...
Waiting, endpoint for service is not ready yet...
Waiting, endpoint for service is not ready yet...
Waiting, endpoint for service is not ready yet...

【问题讨论】:

  • 在您的服务定义中,您可以尝试使用targetPort: 8000 而不是nodePort: 30001 吗?
  • 我尝试了targetPort和nodePort,没有nodePort,没有任何反应

标签: django docker django-rest-framework kubernetes


【解决方案1】:

错误Waiting, endpoint for service is not ready yet...表示你的Service找不到你的Pod。

这是因为Service中的标签名称与Deployment中的标签名称不匹配。

要解决此问题,您应该在 Deployment 中将 name: backend-pod 更改为 service: backend-pod

【讨论】:

    猜你喜欢
    • 2019-08-19
    • 1970-01-01
    • 1970-01-01
    • 2021-01-19
    • 1970-01-01
    • 2017-10-02
    • 2020-04-02
    • 2021-10-02
    • 2013-04-09
    相关资源
    最近更新 更多