首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows节点。networkPlugin cni失败

Windows节点。networkPlugin cni失败
EN

Stack Overflow用户
提问于 2020-10-10 01:00:54
回答 3查看 1.2K关注 0票数 1

在每个https://docs.aws.amazon.com/eks/latest/userguide/windows-support.html中,我运行了命令eksctl utils install-vpc-控制器--集群 -批准。

我的EKS版本是v1.16.3。我试图将Windows停靠器映像部署到windows节点。下面有错误。

警告FailedCreatePodSandBox 31s kubelet,ip-west-2计算。内部失败创建荚沙箱: rpc错误:代码=未知desc =未能为pod“mrestapi-67fb477548-v4njs”设置沙箱容器"ab8001f7b01f5c154867b7e“网络: networkPlugin cni未能建立pod "mrestapi-67fb477548-v4njs_ui”网络:未能解析Kubernetes args: networkPlugin没有标签vpc.amazonaws.com/Privateipv4ress地址。

代码语言:javascript
复制
$ kubectl logs vpc-resource-controller-645d6696bc-s5rhk -n kube-system
I1010 03:40:29.041761       1 leaderelection.go:185] attempting to acquire leader lease  kube-system/vpc-resource-controller...
I1010 03:40:46.453557       1 leaderelection.go:194] successfully acquired lease kube-system/vpc-resource-controller
W1010 23:57:53.972158       1 reflector.go:341] pkg/mod/k8s.io/client-go@v0.0.0-20180910083459-2cefa64ff137/tools/cache/reflector.go:99: watch of *v1.Pod ended with: too old resource version: 1480444 (1515040)

它抱怨太旧的资源版本。如何升级版本?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-10-11 19:24:38

  1. 我删除了windows节点,重新创建了具有不同实例类型的windows节点.但是,这是行不通的。
  2. 删除windows节点组,重新创建windows节点组。它不起作用。
  3. 最后,我删除了整个EKS集群,重新创建了eks集群。命令kubectl描述节点给出了下面的输出。
代码语言:javascript
复制
  vpc.amazonaws.com/CIDRBlock           0         0
  vpc.amazonaws.com/ENI                 0         0
  vpc.amazonaws.com/PrivateIPv4Address  1         1

部署了windows-server-iis.yaml。它如预期的那样工作。这个问题的根源是神秘的。

票数 1
EN

Stack Overflow用户

发布于 2020-10-10 15:50:40

为了解决这个问题我会..。

  1. 首先列出组件以确保它们正在运行:
代码语言:javascript
复制
$kubectl get pod -n kube-system | grep vpc
vpc-admission-webhook-deployment-7f67d7b49-wgzbg   1/1     Running   0          38h
vpc-resource-controller-595bfc9d98-4mb2g           1/1     Running   0          29
  1. 如果它们正在运行,请检查它们的日志
代码语言:javascript
复制
kubectl logs <vpc-yadayada> -n kube-system
  1. 确保您使用的实例类型在每个ENI中都有足够的可利用的综合方案,因为在Windows中,只有一个ENI被使用,并且仅限于最大可用IP的每ENI减去主IP地址的一个。在此之前,我遇到了这个错误,超过了我的ENI可用的IP数。
  2. 确认你的吊舱的选择器是正确的
代码语言:javascript
复制
nodeSelector:
  kubernetes.io/os: windows
  kubernetes.io/arch: amd64

作为一件轶事,我已经完成了到目前为止您在几个集群上链接的文档的To enable Windows support for your cluster with a macOS or Linux client部分下提到的步骤,它们运行得很好。

票数 0
EN

Stack Overflow用户

发布于 2020-10-10 17:45:28

你的输出是什么?

代码语言:javascript
复制
kubectl describe node <windows_node>

如果是这样:

代码语言:javascript
复制
  vpc.amazonaws.com/CIDRBlock:           0
  vpc.amazonaws.com/ENI:                 0
  vpc.amazonaws.com/PrivateIPv4Address:  0

然后需要重新创建具有不同实例类型的节点组.

然后尝试部署以下内容:

代码语言:javascript
复制
apiVersion: apps/v1
kind: Deployment
metadata:
  name: windows-server-iis-test
  namespace: default
spec:
  selector:
    matchLabels:
      app: windows-server-iis-test
      tier: backend
      track: stable
  replicas: 1
  template:
    metadata:
      labels:
        app: windows-server-iis-test
        tier: backend
        track: stable
    spec:
      containers:
      - name: windows-server-iis-test
        image: mcr.microsoft.com/windows/servercore:1809
        ports:
        - name: http
          containerPort: 80
        imagePullPolicy: IfNotPresent
        command:
        - powershell.exe
        - -command
        - "Add-WindowsFeature Web-Server; Invoke-WebRequest -UseBasicParsing -Uri 'https://dotnetbinaries.blob.core.windows.net/servicemonitor/2.0.1.6/ServiceMonitor.exe' -OutFile 'C:\\ServiceMonitor.exe'; echo '<html><body><br/><br/><marquee><H1>Hello EKS!!!<H1><marquee></body><html>' > C:\\inetpub\\wwwroot\\default.html; C:\\ServiceMonitor.exe 'w3svc'; "
        resources:
          limits:
            cpu: 256m
            memory: 256Mi
          requests:
            cpu: 128m
            memory: 100Mi
      nodeSelector:
        kubernetes.io/os: windows
---
apiVersion: v1
kind: Service
metadata:
  name: windows-server-iis-test
  namespace: default
spec:
  ports:
  - port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: windows-server-iis-test
    tier: backend
    track: stable
  sessionAffinity: None
  type: ClusterIP
代码语言:javascript
复制
kubectl proxy

打开浏览器http://localhost:8001/api/v1/namespaces/default/services/http:windows-server-iis-test:80/proxy/default.html将显示带有Hello EKS文本的网页

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

https://stackoverflow.com/questions/64288984

复制
相关文章

相似问题

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