【问题标题】:AWS EKS getting error "networkPlugin cni failed to set up pod"AWS EKS 收到错误“networkPlugin cni 无法设置 pod”
【发布时间】:2021-03-25 10:01:41
【问题描述】:

EKS 集群版本:

客户端版本:version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.1", GitCommit:"c4d752765b3bbac2237bf87cf0b1c2e307844666", GitTreeState:"clean", BuildDate:"2020-12-19T11 :45:27Z", GoVersion:"go1.15.5", 编译器:"gc", 平台:"linux/amd64"} 服务器版本:version.Info{Major:"1", Minor:"18+", GitVersion:"v1.18.9-eks-d1db3c", GitCommit:"d1db3c46e55f95d6a7d3e5578689371318f95ff9", GitTreeState:"clean", BuildDate:"2020-10 -20T22:18:07Z", GoVersion:"go1.13.15", 编译器:"gc", 平台:"linux/amd64"}

下面是我的部署文件:

kind: Deployment
apiVersion: apps/v1
metadata:
  name: sample-pod
  namespace: front-end
spec:
  replicas: 1
  selector:
    matchLabels:
      app: sample-pod
  template:
    metadata:
      labels:
        app: sample-pod
    spec:
      serviceAccountName: my-service-account
      containers:
        - name: sample-pod
          image: <Account-id>.dkr.ecr.us-east-1.amazonaws.com/sample-pod-image:latest
          resources:
            limits:
              cpu: 1000m
              memory: 1000Mi
            requests:
              cpu: 500m
              memory: 500Mi
          env:
            - name: name
              value: sample-pod
            - name: ACTIVE_SPRING_PROFILE
              value: dev
          imagePullPolicy: Always
          ports:
            - name: http
              containerPort: 8091
      imagePullSecrets:
        - name: <my_region>-1-ecr-registry

这是我的 docker 文件。

FROM  amazoncorretto:latest
COPY bootstarp.sh /bootstarp.sh
RUN yum -y install aws-cli 
CMD ["tail", "-f" , "/bootstarp.sh"]

重现步骤:

  1. kubectl apply -f my-dep.yaml
  2. 让容器被创建。
  3. 使用命令删除部署 kubectl delete -f my-dep.yaml
  4. 使用命令重新创建 应用 -f my-dep.yaml

【问题讨论】:

标签: docker docker-desktop


【解决方案1】:

不是一个完美的解决方案,但这就是我克服它的方法。

根本原因:部署处于终止阶段,我正在重新创建部署,这涉及重新分配网络资源,并且由于死锁,部署失败。

Soln:我在部署的终止和重新创建之间添加了一个冷静期。之前我是一次性删除并重新创建部署(使用 shell 脚本)。

之前:

kubectl delete-f my-dep.yaml
some more instructions .....
kubectl apply -f my-dep.yaml

现在:

kubectl delete-f my-dep.yaml
some more instructions .....
**sleep 1m 30s**
kubectl apply -f my-dep.yaml

由于冷却,我现在可以按预期部署容器。

问候 阿米特·米娜

【讨论】:

    猜你喜欢
    • 2019-12-29
    • 1970-01-01
    • 2017-11-02
    • 2018-12-12
    • 2020-08-05
    • 2021-01-22
    • 1970-01-01
    • 1970-01-01
    • 2021-11-03
    相关资源
    最近更新 更多