简体   繁体   English

(Kubernetes + Docker)Skaffold 不断终止我的部署文件:错误:无法在 2m0s 内稳定:超出上下文期限

[英](Kubernetes + Docker) Skaffold keeps terminating my deployment files : Error: could not stabilize within 2m0s: context deadline exceeded

I'm trying to deploy a MicroServices system on my local machine using Skaffold.我正在尝试使用 Skaffold 在我的本地机器上部署一个微服务系统。

ingress-srv.yaml入口-srv.yaml

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-service
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/use-regex: 'true'
spec:
  rules:
    - host: ticketing.dot
      http:
        paths:
          - path: /api/users/?(.*)
            backend:
              serviceName: auth-srv
              servicePort: 3000

auth-depl.yaml auth-depl.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: auth-depl
spec:
  replicas: 1
  selector:
    matchLabels:
      app: auth
  template:
    metadata:
      labels:
        app: auth
    spec:
      containers:
        - name: auth
          image: ****MYDOCKERID****/auth
          env:
            - name: JWT_KEY
              valueFrom:
                secretKeyRef:
                  name: jwt-secret
                  key: JWT_KEY

---
apiVersion: v1
kind: Service
metadata:
  name: auth-srv
spec:
  selector:
    app: auth
  ports:
    - name: auth
      protocol: TCP
      port: 3000
      targetPort: 3000

auth-mongo-depl.yaml: auth-mongo-depl.yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: auth-mongo-depl
spec:
  replicas: 1
  selector:
    matchLabels:
      app: auth-mongo
  template:
    metadata:
      labels:
        app: auth-mongo
    spec:
      containers:
        - name: auth-mongo
          image: mongo
---
apiVersion: v1
kind: Service
metadata:
  name: auth-mongo-srv
spec:
  selector:
    app: auth-mongo
  ports:
    - name: db
      protocol: TCP
      port: 27017
      targetPort: 27017

I've followed through the guidelines in the manual:我已按照手册中的指南进行操作:

https://kubernetes.github.io/ingress-nginx/deploy/

and hit:并点击:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.34.0/deploy/static/provider/cloud/deploy.yaml

However Skaffold keep terminating the deployment:然而 Skaffold 继续终止部署:

[34mListing files to watch...[0m
[34m - ****MYDOCKERID****/auth
[0m[34mGenerating tags...[0m
[34m - ****MYDOCKERID****/auth -> [0m****MYDOCKERID****/auth:683e8db
[34mChecking cache...[0m
[34m - ****MYDOCKERID****/auth: [0m[32mFound Locally[0m
[34mTags used in deployment:[0m
[34m - ****MYDOCKERID****/auth -> [0m****MYDOCKERID****/auth:3c4bb66ff693320b5fac3fde91906768f8b54b968813b226822d057d1dd3a995
[34mStarting deploy...[0m
 - deployment.apps/auth-depl created
 - service/auth-srv created
 - deployment.apps/auth-mongo-depl created
 - service/auth-mongo-srv created
 - ingress.extensions/ingress-service created
[34mWaiting for deployments to stabilize...[0m
 - deployment/auth-depl:
 - deployment/auth-mongo-depl:
 - deployment/auth-depl: waiting for rollout to finish: 0 of 1 updated replicas are available...
 - deployment/auth-mongo-depl: waiting for rollout to finish: 0 of 1 updated replicas are available...
 - deployment/auth-mongo-depl is ready. [1/2 deployment(s) still pending]
 - deployment/auth-depl failed. Error: could not stabilize within 2m0s: context deadline exceeded.
[34mCleaning up...[0m
 - deployment.apps "auth-depl" deleted
 - service "auth-srv" deleted
 - deployment.apps "auth-mongo-depl" deleted
 - service "auth-mongo-srv" deleted
 - ingress.extensions "ingress-service" deleted
[31mexiting dev mode because first deploy failed: 1/2 deployment(s) failed[0m

How can we fix this annoying issue?我们如何解决这个烦人的问题?

EDIT 9:44 AM ISRAEL TIME:编辑 9:44 AM 以色列时间:

C:\Development-T410\Micro Services - JAN>kubectl get pods
NAME                                 READY   STATUS                       RESTARTS   AGE
auth-depl-645bbf7b9d-llp2q           0/1     CreateContainerConfigError   0          115s
auth-depl-c6c765d7c-7wvcg            0/1     CreateContainerConfigError   0          28m
auth-mongo-depl-6b594c4847-4kzzt     1/1     Running                      0          115s
client-depl-5888f95b59-vznh6         1/1     Running                      0          114s
nats-depl-7dfccdf5-874vm             1/1     Running                      0          114s
orders-depl-74f4d48559-cbwlp         0/1     CreateContainerConfigError   0          114s
orders-depl-78fc845b4-9tfml          0/1     CreateContainerConfigError   0          28m
orders-mongo-depl-688676d675-lrvhp   1/1     Running                      0          113s
tickets-depl-7cc7ddbbff-z9pvc        0/1     CreateContainerConfigError   0          113s
tickets-depl-8574fc8f9b-tm6p4        0/1     CreateContainerConfigError   0          28m
tickets-mongo-depl-b95f45947-hf6wq   1/1     Running                      0          113s

C:\Development-T410\Micro Services>kubectl logs auth-depl-c6c765d7c-7wvcg
Error from server (BadRequest): container "auth" in pod "auth-depl-c6c765d7c-7wvcg" is waiting to start: CreateContainerConfigError

Looks look your auth-depl deployment is failing.看起来你的auth-depl部署失败了。 Possibly the container is crashing or erroring out.可能容器正在崩溃或出错。 To debug you can see the pod logs要调试,您可以查看 pod 日志

$ kubectl logs auth-depl-xxxxxxxxxx-xxxxx

Make sure you run skaffold with the --cleanup=false option so that you can debug.确保使用--cleanup=false选项运行 skaffold,以便进行调试。 For example,例如,

$ skaffold dev --cleanup=false

Update:更新:

Based on the logs it looks like it's an issue with your Kubernetes Secret and how it's defined, possibly the format or YAML format.根据日志,您的 Kubernetes 机密及其定义方式(可能是格式或 YAML 格式)似乎存在问题。 This answer sheds some details on what the problem may be: Pod status as `CreateContainerConfigError` in Minikube cluster这个答案揭示了问题可能是什么的一些细节: Pod status as `CreateContainerConfigError` in Minikube cluster

You should add the environment variable for the mongo image in your deployment file您应该在部署文件中添加 mongo 映像的环境变量

 env:
        - name: MONGO_INITDB_ROOT_USERNAME
          value: root
        - name: MONGO_INITDB_ROOT_PASSWORD
          value: "rootuser"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Docker 错误“无法连接到网络<name> : 超出上下文最后期限。”</name> - Docker error “Could not attach to network <name>: context deadline exceeded.” Docker swarm leave --force - 超出上下文截止日期 - Docker swarm leave --force - context deadline exceeded kubernetes 部署因脚手架失败 - kubernetes deployment failed with skaffold init docker swarm with docker machine: context deadline exceeded - init docker swarm with docker machine: context deadline exceeded 拉取镜像“docker4nitin/tg_bot:v2”失败:rpc 错误:code = Unknown desc = context deadline exceeded - Failed to pull image "docker4nitin/tg_bot:v2": rpc error: code = Unknown desc = context deadline exceeded 带有远程 docker 上下文的 Skaffold dev - Skaffold dev with remote docker context Hyperledger Fabric-实例化链码时出错(尝试连接到本地对等点时出错:超出了上下文期限) - Hyperledger Fabric - Error while Instantiating chaincode (error trying to connect to local peer: context deadline exceeded) 无法连接尝试连接到本地对等节点时出错:超出了上下文期限 - Can't connect Error trying to connect to local peer: context deadline exceeded Skaffold 错误:部署因清理而失败 - Skaffold Error: deployment failed because of cleaning up Skaffold 不适用于本地 docker 图像和 docker-desktop kubernetes - Skaffold not working with local docker image & docker-desktop kubernetes
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM