kubernetes windows worker node with calico can not deploy pods

11/21/2018

I try to use kubeadm.exe join to join windows worker node but it's not working.

Then I try to refer to this document nwoodmsft/SDN/CalicoFelix.md,after this, node status just like this

# node status
root@ysicing:~# kubectl get node -o wide
NAME              STATUS    ROLES     AGE       VERSION    EXTERNAL-IP OS-IMAGE                  KERNEL-VERSION   CONTAINER-RUNTIME
win-o35a06j767t   Ready     <none>    1h        v1.10.10   <none>        Windows Server Standard   10.0.17134.1   docker://18.9.0
ysicing           Ready     master    4h        v1.10.10   <none>    Debian GNU/Linux 9 (stretch)   4.9.0-8-amd64   docker://17.3.3

pods stauts:

root@ysicing:~# kubectl get pods --all-namespaces -o wide
NAMESPACE     NAME                              READY     STATUS              RESTARTS   AGE       IP             NODE
default       demo-deployment-c96d5d97b-99h9s   0/1       ContainerCreating   0          5m        <none>         win-o35a06j767t
default       demo-deployment-c96d5d97b-lq2jm   0/1       ContainerCreating   0          5m        <none>         win-o35a06j767t
default       demo-deployment-c96d5d97b-zrc2k   1/1       Running             0          5m        192.168.0.3    ysicing
default       iis-7f7dc9fbbb-xhccv              0/1       ContainerCreating   0          1h        <none>         win-o35a06j767t
kube-system   calico-node-nr5mt                 0/2       ContainerCreating   0          1h        192.168.1.2    win-o35a06j767t
kube-system   calico-node-w6mls                 2/2       Running             0          5h        172.16.0.169   ysicing
kube-system   etcd-ysicing                      1/1       Running             0          6h        172.16.0.169   ysicing
kube-system   kube-apiserver-ysicing            1/1       Running             0          6h        172.16.0.169   ysicing
kube-system   kube-controller-manager-ysicing   1/1       Running             0          6h        172.16.0.169   ysicing
kube-system   kube-dns-86f4d74b45-dbcmb         3/3       Running             0          6h        192.168.0.2    ysicing
kube-system   kube-proxy-wt6dn                  1/1       Running             0          6h        172.16.0.169   ysicing
kube-system   kube-proxy-z5jx8                  0/1       ContainerCreating   0          1h        192.168.1.2    win-o35a06j767t
kube-system   kube-scheduler-ysicing            1/1       Running             0          6h        172.16.0.169   ysicing

The kube-proxy and calico should not be the container way, and it runs under Windows using kube-proxy.exe.

calico pods err info:

Warning  FailedCreatePodSandBox  2m (x1329 over 32m)  kubelet, win-o35a06j767t  Failed create pod sandbox: rpc error: code = Unknown desc = failed to start sandbox container for pod "calico-node-nr5mt": Error response from daemon: network host not found

demo.yaml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: iis
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: iis
    spec:
      nodeSelector:
        beta.kubernetes.io/os: windows
      containers:
      - name: iis
        image: microsoft/iis
        resources:
          limits:
            memory: "128Mi"
            cpu: 2
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: iis
  name: iis
  namespace: default
spec:
  ports:
  - port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: iis
  type: NodePort

demo pods err logs

    (extra info: 
{"SystemType":"Container","Name":"082e861a8720a84223111b3959a1e2cd26e4be3d0ffcb9eda35b2a09955d4081","Owner":"docker","VolumePath":"\\\\?\\Volume{e8dcfa1d-fbbe-4ef9-b849-5f02b1799a3f}","IgnoreFlushesDuringBoot":true,"LayerFolderPath":"C:\\ProgramData\\docker\\windowsfilter\\082e861a8720a84223111b3959a1e2cd26e4be3d0ffcb9eda35b2a09955d4081","Layers":[{"ID":"8c940e59-c455-597f-b4b2-ff055e33bc2a","Path":"C:\\ProgramData\\docker\\windowsfilter\\7f1a079916723fd228aa878db3bb1e37b50e508422f20be476871597fa53852d"},{"ID":"f72db42e-18f4-54da-98f1-0877e17a069f","Path":"C:\\ProgramData\\docker\\windowsfilter\\449dc4ee662760c0102fe0f388235a111bb709d30b6d9b6787fb26d1ee76c990"},{"ID":"40282350-4b8f-57a2-94e9-31bebb7ec0a9","Path":"C:\\ProgramData\\docker\\windowsfilter\\6ba0fa65b66c3b3134bba338e1f305d030e859133b03e2c80550c32348ba16c5"},{"ID":"f5a96576-2382-5cba-a12f-82ad7616de0f","Path":"C:\\ProgramData\\docker\\windowsfilter\\3b68fac2830f2110aa9eb1c057cf881ee96ce973a378b37e20b74e32c3d41ee0"}],"ProcessorWeight":2,"HostName":"iis-7f7dc9fbbb-xhccv","HvPartition":false})
  Warning  FailedCreatePodSandBox  14m (x680 over 29m)  kubelet, win-o35a06j767t  (combined from similar events): Failed create pod sandbox: rpc error: code = Unknown desc = failed to start sandbox container for pod "iis-7f7dc9fbbb-xhccv": Error response from daemon: CreateComputeSystem 0b9ab5f3dd4a69464f756aeb0bd780763b38712e32e8c1318fdd17e531437b0f: The operating system of the container does not match the operating system of the host.
    (extra info:{"SystemType":"Container","Name":"0b9ab5f3dd4a69464f756aeb0bd780763b38712e32e8c1318fdd17e531437b0f","Owner":"docker","VolumePath":"\\\\?\\Volume{e8dcfa1d-fbbe-4ef9-b849-5f02b1799a3f}","IgnoreFlushesDuringBoot":true,"LayerFolderPath":"C:\\ProgramData\\docker\\windowsfilter\\0b9ab5f3dd4a69464f756aeb0bd780763b38712e32e8c1318fdd17e531437b0f","Layers":[{"ID":"8c940e59-c455-597f-b4b2-ff055e33bc2a","Path":"C:\\ProgramData\\docker\\windowsfilter\\7f1a079916723fd228aa878db3bb1e37b50e508422f20be476871597fa53852d"},{"ID":"f72db42e-18f4-54da-98f1-0877e17a069f","Path":"C:\\ProgramData\\docker\\windowsfilter\\449dc4ee662760c0102fe0f388235a111bb709d30b6d9b6787fb26d1ee76c990"},{"ID":"40282350-4b8f-57a2-94e9-31bebb7ec0a9","Path":"C:\\ProgramData\\docker\\windowsfilter\\6ba0fa65b66c3b3134bba338e1f305d030e859133b03e2c80550c32348ba16c5"},{"ID":"f5a96576-2382-5cba-a12f-82ad7616de0f","Path":"C:\\ProgramData\\docker\\windowsfilter\\3b68fac2830f2110aa9eb1c057cf881ee96ce973a378b37e20b74e32c3d41ee0"}],"ProcessorWeight":2,"HostName":"iis-7f7dc9fbbb-xhccv","HvPartition":false})
    Normal  SandboxChanged  4m (x1083 over 29m)  kubelet, win-o35a06j767t  Pod sandbox changed, it will be killed and re-created.

config: "c:\k\"

The cni directory is empty by default. Then add calico-felix.exe and config fileL2Brige.conf

i try to google it, need cni, but not found calico cni. What should I do in this situation, build Windows calico cni?

-- YsiCing
docker
kubernetes
project-calico
windows

0 Answers