Docker kube代理问题-尝试将windows工作节点添加到kubernetes群集

Docker kube代理问题-尝试将windows工作节点添加到kubernetes群集,docker,kubernetes,windows-server-2019,Docker,Kubernetes,Windows Server 2019,我正在尝试使用mcr.microsoft.com/windows/servercore:1809图像获取一个 该节点由集群识别并显示为就绪 当我尝试将任何pod部署到集群时,它运行起来没有问题,但是不可能访问与服务关联的公开端口 在windows worker节点上运行kube proxy似乎存在问题。该节点的日志显示: 创建pod沙箱失败:rpc错误:code=Unknown desc=无法启动pod“kube proxy nwclf”的沙箱容器:守护程序的错误响应:未找到网络主机 你知道我哪

我正在尝试使用
mcr.microsoft.com/windows/servercore:1809
图像获取一个

该节点由集群识别并显示为就绪

当我尝试将任何pod部署到集群时,它运行起来没有问题,但是不可能访问与服务关联的公开端口

在windows worker节点上运行
kube proxy
似乎存在问题。该节点的日志显示:

创建pod沙箱失败:rpc错误:code=Unknown desc=无法启动pod“kube proxy nwclf”的沙箱容器:守护程序的错误响应:未找到网络主机

你知道我哪里出了问题吗

更新: 刚刚注意到,windows计算机上的kube proxy pod有一个基于群集的ip地址(
10.244.5.2
),而不是来自我的本地网络(
192.168.1.X
)。这与找出问题所在有关吗

NAMESPACE     NAME                                 READY   STATUS              RESTARTS   AGE   IP             NODE              NOMINATED NODE   READINESS GATES
kube-system   kube-proxy-9jq8w                     1/1     Running             1          15d   192.168.1.9   k8s-mr        <none>           <none>
kube-system   kube-proxy-h5gx7                     0/1     ContainerCreating   0          13s   10.244.5.2     wins2019-worker   <none>           <none>
名称空间名称就绪状态重新启动老化IP节点指定节点就绪门
kube系统kube-proxy-9jq8w 1/1运行1 15d 192.168.1.9 k8s mr
kube系统kube-proxy-h5gx7 0/1集装箱创建0 13s 10.244.5.2 wins2019工人
详细说明如下所示

user@k8s-mr:~/kube_projects/testdemo-4.1/app$ kubectl -n kube-system describe pod kube-proxy-nwclf
Name:               kube-proxy-nwclf
Namespace:          kube-system
Priority:           2000001000
PriorityClassName:  system-node-critical
Node:               wins2019-worker/192.168.1.10
Start Time:         Wed, 17 Apr 2019 13:35:30 +0100
Labels:             controller-revision-hash=b7775b676
                    k8s-app=kube-proxy
                    pod-template-generation=1
Annotations:        <none>
Status:             Pending
IP:                 192.168.1.10
Controlled By:      DaemonSet/kube-proxy
Containers:
  kube-proxy:
    Container ID:
    Image:         k8s.gcr.io/kube-proxy:v1.14.0
    Image ID:
    Port:          <none>
    Host Port:     <none>
    Command:
      /usr/local/bin/kube-proxy
      --config=/var/lib/kube-proxy/config.conf
      --hostname-override=$(NODE_NAME)
    State:          Waiting
      Reason:       ContainerCreating
    Ready:          False
    Restart Count:  0
    Environment:
      NODE_NAME:   (v1:spec.nodeName)
    Mounts:
      /lib/modules from lib-modules (ro)
      /run/xtables.lock from xtables-lock (rw)
      /var/lib/kube-proxy from kube-proxy (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-proxy-token-f4tqx (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  kube-proxy:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      kube-proxy
    Optional:  false
  xtables-lock:
    Type:          HostPath (bare host directory volume)
    Path:          /run/xtables.lock
    HostPathType:  FileOrCreate
  lib-modules:
    Type:          HostPath (bare host directory volume)
    Path:          /lib/modules
    HostPathType:
  kube-proxy-token-f4tqx:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  kube-proxy-token-f4tqx
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:
                 CriticalAddonsOnly
                 node.kubernetes.io/disk-pressure:NoSchedule
                 node.kubernetes.io/memory-pressure:NoSchedule
                 node.kubernetes.io/network-unavailable:NoSchedule
                 node.kubernetes.io/not-ready:NoExecute
                 node.kubernetes.io/pid-pressure:NoSchedule
                 node.kubernetes.io/unreachable:NoExecute
                 node.kubernetes.io/unschedulable:NoSchedule
Events:
  Type     Reason                  Age                From                      Message

------

  Normal   Scheduled               70s                default-scheduler         Successfully assigned kube-system/kube-proxy-nwclf to wins2019-worker
  Normal   SandboxChanged          2s (x12 over 61s)  kubelet, wins2019-worker  Pod sandbox changed, it will be killed and re-created.
  Warning  FailedCreatePodSandBox  0s (x13 over 62s)  kubelet, wins2019-worker  Failed create pod sandbox: rpc error: code = Unknown desc = failed to start sandbox container for pod "kube-proxy-nwclf": Error response from daemon: network host not found
user@k8s-mr:~/kube_项目/testdemo-4.1/app$kubectl-n kube系统描述pod kube代理nwclf
名称:kube proxy nwclf
名称空间:kube系统
优先权:2000010000
PriorityClassName:系统节点关键
节点:wins2019 worker/192.168.1.10
开始时间:2019年4月17日星期三13:35:30+0100
标签:控制器修订哈希=b7775b676
k8s app=kube代理
pod模板生成=1
注释:
状态:待定
IP:192.168.1.10
控制者:守护程序/kube代理
容器:
kube代理:
容器ID:
图片:k8s.gcr.io/kube代理:v1.14.0
图像ID:
端口:
主机端口:
命令:
/usr/local/bin/kube代理
--config=/var/lib/kube proxy/config.conf
--主机名覆盖=$(节点名称)
国家:等待
原因:集装箱制造
就绪:错误
重新启动计数:0
环境:
节点名称:(v1:spec.nodeName)
挂载:
/库/来自库模块(ro)的模块
/从xtables锁(rw)运行/xtables.lock
/来自kube代理(rw)的var/lib/kube代理
/var/run/secrets/kubernetes.io/serviceaccount来自kube-proxy-token-f4tqx(ro)
条件:
类型状态
初始化为True
准备错误
集装箱准备好了吗
播客预定为真
卷数:
kube代理:
类型:ConfigMap(由ConfigMap填充的卷)
姓名:kube proxy
可选:false
xtables锁:
类型:主机路径(裸主机目录卷)
路径:/run/xtables.lock
主机路径类型:文件或创建
lib模块:
类型:主机路径(裸主机目录卷)
路径:/lib/模块
主机路径类型:
kube-proxy-token-f4tqx:
类型:Secret(由Secret填充的卷)
SecretName:kube-proxy-token-f4tqx
可选:false
QoS等级:最佳努力
节点选择器:
容忍:
批判地
node.kubernetes.io/磁盘压力:NoSchedule
node.kubernetes.io/内存压力:NoSchedule
node.kubernetes.io/网络不可用:NoSchedule
node.kubernetes.io/未准备好:NoExecute
node.kubernetes.io/pid压力:NoSchedule
node.kubernetes.io/unreachable:NoExecute
node.kubernetes.io/unschedule:NoSchedule
活动:
从消息中键入原因年龄
------
正常计划的70年代默认计划程序已成功将kube系统/kube代理nwclf分配给wins2019工作程序
正常沙箱已更改2秒(x12超过61秒)kubelet,wins2019工作吊舱沙箱已更改,它将被杀死并重新创建。
警告FailedCreatePodSandBox 0s(x13/62s)kubelet,wins2019工作人员创建pod sandbox失败:rpc错误:代码=未知描述=无法启动pod“kube代理nwclf”的沙盒容器:守护程序的错误响应:未找到网络主机

现在修复了它,我误解了
kube proxy
不应该在windows节点上运行

我必须修改kubernetes主机并应用
节点选择器
,以确保根据每个节点的操作系统为其设置适当的POD

wget https://raw.githubusercontent.com/Microsoft/SDN/master/Kubernetes/flannel/l2bridge/manifests/node-selector-patch.yml
kubectl patch ds/kube-proxy --patch "$(cat node-selector-patch.yml)" -n=kube-system