Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes EKS,Windows节点。网络插件cni失败_Kubernetes - Fatal编程技术网

Kubernetes EKS,Windows节点。网络插件cni失败

Kubernetes EKS,Windows节点。网络插件cni失败,kubernetes,Kubernetes,根据,我运行了命令eksctl utils install vpc controllers--cluster--approve 我的EKS版本是v1.16.3。我尝试将Windows docker映像部署到Windows节点。下面有个错误 警告失败CreatePodSandbox 31s kubelet,ip-west-2.compute.internal失败创建pod sandbox:rpc错误:代码=未知描述=未能为pod“mrestapi-67fb477548-v4njs”设置沙盒容器“a

根据,我运行了命令eksctl utils install vpc controllers--cluster--approve

我的EKS版本是v1.16.3。我尝试将Windows docker映像部署到Windows节点。下面有个错误

警告失败CreatePodSandbox 31s kubelet,ip-west-2.compute.internal失败创建pod sandbox:rpc错误:代码=未知描述=未能为pod“mrestapi-67fb477548-v4njs”设置沙盒容器“ab8001f7b01f5c154867b7e”网络:网络插件cni未能设置pod“mrestapi-67fb477548-v4njs ui”网络:无法分析Kubernetes参数:pod没有标签vpc.amazonaws.com/PrivateIPv4Address

$ 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)

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

要解决此问题,我将

  • 首先列出组件以确保它们正在运行:
  • 如果他们正在运行,请检查他们的日志

  • 作为一件轶事,我已经完成了文档中“使用macOS或Linux客户端为您的群集启用Windows支持”一节中提到的步骤,到目前为止,您在几个群集上链接了这些步骤,它们都很有效。

    您的输出用于什么

    kubectl describe node <windows_node>
    
    然后您需要使用不同的实例类型重新创建节点组

    然后尝试部署以下内容:

    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
    
    打开浏览器http://localhost:8001/api/v1/namespaces/default/services/http:windows-服务器iis测试:80/proxy/default.html将显示带有
    Hello EKS
    文本的网页

  • 我删除了windows节点,重新创建了具有不同实例类型的windows节点。但是,它没有起作用
  • 删除了windows节点组,重新创建了windows节点组。它不起作用
  • 最后,我删除了整个EKS集群,重新创建了EKS集群。命令kubectl descripe node给出了下面的输出

  • 已部署windows-server-iis.yaml。它按预期工作。问题的根本原因是神秘的。

    您使用的vpc资源控制器是什么版本?$kubectl记录vpc-resource-controller-645d6696bc-s5rhk-n kube system I1010 03:40:29.041761 1 1 LeaderRelection.go:185]试图获取leader lease kube system/vpc资源控制器。。。I1010 03:40:46.453557 1 leaderelection.go:194]成功获取lease kube系统/vpc资源控制器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结束于:太旧的资源版本:1480444(1515040)这部分没有描述相关的问题,我已经发布了一个答案谢谢你的回答。我想我遇到了你描述的问题。我删除并重新创建了几次节点组。但是,这没有帮助。如何确定我使用的实例类型是否有足够的可用IP?如何增加IPs限制?您使用的实例类型是什么?我不认为您可以增加ENIMy实例类型为m5.large所允许的最大IP数。我试过m5.xlarge和m1.xlarge。它们都不起作用。我删除了节点组,用新的实例类型重新创建了节点组。但是,运气不好。我会检查我在步骤1中提到的两个组件的日志,并确认您的测试pod已正确分配给Windows节点(即通过kubectl get pods-o wide)、vpc-Acmission-webhook-8f77c5d74-nqmmt和分配给Linux节点的vpc-resource-controller-645D66969BC-s5rhk。如何修复?实例类型为m5.large。我删除并重新创建了具有两种不同实例类型的windows组:m1.xlarge和m5.xlarge。但是,没有运气。我仍然得到vpc.amazonaws.com/CIDRBlock 0 0 vpc.amazonaws.com/ENI 0 0 vpc.amazonaws.com/privateipv40地址
    nodeSelector:
      kubernetes.io/os: windows
      kubernetes.io/arch: amd64
    
    kubectl describe node <windows_node>
    
      vpc.amazonaws.com/CIDRBlock:           0
      vpc.amazonaws.com/ENI:                 0
      vpc.amazonaws.com/PrivateIPv4Address:  0
    
    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
    
    kubectl proxy
    
      vpc.amazonaws.com/CIDRBlock           0         0
      vpc.amazonaws.com/ENI                 0         0
      vpc.amazonaws.com/PrivateIPv4Address  1         1