在Kubernetes上运行Docker图像时,Gunicorn不断引导工人

在Kubernetes上运行Docker图像时,Gunicorn不断引导工人,docker,kubernetes,gunicorn,Docker,Kubernetes,Gunicorn,我已经对接了一个烧瓶应用程序,使用gunicorn提供服务。我的Dockerfile的最后一行是: CMD source activate my_env && gunicorn --timeout 333 --bind 0.0.0.0:5000 app:app 在本地运行应用程序时–直接在我的控制台中运行,不使用docker,或使用 docker run -dit \ --name my-app \ --publish 5000:50

我已经对接了一个烧瓶应用程序,使用gunicorn提供服务。我的Dockerfile的最后一行是:

CMD source activate my_env && gunicorn --timeout 333 --bind 0.0.0.0:5000 app:app
在本地运行应用程序时–直接在我的控制台中运行,不使用docker,或使用

docker run -dit \
           --name my-app \
           --publish 5000:5000 \
           my-app:latest
天气很好。我得到一个类似于:

[2018-12-04 19:32:30 +0000] [8] [INFO] Starting gunicorn 19.7.1
[2018-12-04 19:32:30 +0000] [8] [INFO] Listening at: http://0.0.0.0:5000 (8)
[2018-12-04 19:32:30 +0000] [8] [INFO] Using worker: sync
[2018-12-04 19:32:30 +0000] [16] [INFO] Booting worker with pid: 16
<my app's output>
我的k8s部署yaml看起来像

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: my-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      imagePullSecrets:
        - name: regcred
      containers:
        - name: my-frontend
          image: my-registry/my-frontend:latest
          ports:
            - containerPort: 80
        - name: my-backend
          image: my-registry/my-backend:latest
          ports:
            - containerPort: 5000
这里讨论的容器是
mybackend
。知道为什么会这样吗

更新:在我写这篇文章时,用
kubectl descripe pods
打印的事件列表更新如下:

Warning  FailedMount            9m55s                  kubelet, minikube  MountVolume.SetUp failed for volume "default-token-k2shm" : Get https://localhost:8443/api/v1/namespaces/default/secrets/default-token-k2shm: net/http: TLS handshake timeout
Warning  FailedMount            9m53s (x2 over 9m54s)  kubelet, minikube  MountVolume.SetUp failed for volume "default-token-k2shm" : secrets "default-token-k2shm" is forbidden: User "system:node:minikube" cannot get secrets in the namespace "default": no path found to object
Normal   SuccessfulMountVolume  9m50s                  kubelet, minikube  MountVolume.SetUp succeeded for volume "default-token-k2shm"

不确定它是否与我的问题相关

我通过在容器下添加资源解决了这个问题-我需要更多的内存

resources:
  requests:
    memory: "512Mi"
    cpu: 0.1
  limits:
    memory: "1024Mi"
    cpu: 1.0
希望有帮助

resources:
  requests:
    memory: "512Mi"
    cpu: 0.1
  limits:
    memory: "1024Mi"
    cpu: 1.0