首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FastAPI文档上的kubernetes没有与devspace上的迷你库集群。502坏网关

FastAPI文档上的kubernetes没有与devspace上的迷你库集群。502坏网关
EN

Stack Overflow用户
提问于 2022-07-12 00:48:20
回答 1查看 157关注 0票数 0

我正试图在kubernetes上开发一个热重加载应用程序(即时代码同步)。我正在使用DevSpace。当在小型集群上运行我的应用程序时,一切正常,我可以按下入口到达我的FastAPI文档。问题是,当我尝试使用devspace时,我可以执行到我的舱内,并立即看到我的更改被反映出来,但是当我试图进入我的FastAPI文档时,我得到了一个502坏网关。

我有一个这样的api-pod.yaml文件:

代码语言:javascript
复制
apiVersion: apps/v1
kind: Deployment
metadata:
  name: project-api
spec:
  replicas: 1
  selector:
    matchLabels:
      app: project-api
  template:
    metadata:
      labels:
        app: project-api
    spec:
      containers:
        - image: project/project-api:0.0.1
          name: project-api
          command: ["uvicorn"]
          args: ["endpoint:app", "--port=8000", "--host", "0.0.0.0"]
          imagePullPolicy: IfNotPresent
          livenessProbe:
            httpGet:
              path: /api/v1/project/tasks/
              port: 8000
            initialDelaySeconds: 5
            timeoutSeconds: 1
            periodSeconds: 600
            failureThreshold: 3
          ports:
            - containerPort: 8000
              name: http
              protocol: TCP

---
apiVersion: v1
kind: Service
metadata:
  name: project-api
spec:
  selector:
    app: project-api
  ports:
    - port: 8000
      protocol: TCP
      targetPort: http
  type: ClusterIP

我有一个这样的api-ingress.yaml文件:

代码语言:javascript
复制
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: project-ingress
spec:
  rules:
    - http:
        paths:
          - path: /api/v1/project/tasks/
            pathType: Prefix
            backend:
              service:
                name: project-api
                port:
                  number: 8000
  ingressClassName: nginx

---
apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata:
  name: nginx
spec:
  controller: k8s.io/ingress-nginx

使用kubectl get ep,我得到:

代码语言:javascript
复制
NAME          ENDPOINTS         AGE
project-api   172.17.0.6:8000   17m

使用kubectl get svc,我得到:

代码语言:javascript
复制
NAME          TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
project-api   ClusterIP   10.97.182.167   <none>        8000/TCP   17m

使用kubectl get ingress我得到:

代码语言:javascript
复制
NAME          CLASS   HOSTS   ADDRESS          PORTS   AGE
api-ingress   nginx   *       192.168.64.112   80      17m

重申一下,我的问题是,当我尝试使用FastAPI访问192.168.64.112/api/v1/project/tasks/docs文档时,我得到了一个502坏网关。

我在跑步:

代码语言:javascript
复制
MacOS Monterey: 12.4
Minikube version: v1.26.0 (with hyperkit as the vm)
Ingress controller: k8s.gcr.io/ingress-nginx/controller:v1.2.1
Devspace version: 5.18.5
EN

回答 1

Stack Overflow用户

发布于 2022-07-12 07:45:06

我相信问题在DevSpace内部。我现在很舒服地使用倾斜。一切都如期而至。

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

https://stackoverflow.com/questions/72945975

复制
相关文章

相似问题

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