rancher-desktop icon indicating copy to clipboard operation
rancher-desktop copied to clipboard

Rancher Desktop on Win 11 - K8S deployment not working

Open chabant opened this issue 1 year ago • 1 comments

Actual Behavior

I installed Rancher for windows via Desktop.Setup.1.13.1.msi and I had no error/problem The docker part is working. When I try to deploy a pod via kubernetes I had a problem; The container is running but on the kubernetes side I have no pod running !

C:\Users\069222706>docker --version Docker version 25.0.4-rd, build c4cd0a9 C:\Users\069222706>kubectl version Client Version: v1.28.2 Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3 Server Version: v1.27.6+k3s1

image

kubectl apply -f https://k8s.io/examples/service/access/hello-application.yaml deployment.apps/hello-world created

kubectl get deployments hello-world NAME READY UP-TO-DATE AVAILABLE AGE hello-world 0/2 2 0 13s

kubectl describe deployments hello-world Name: hello-world Namespace: default CreationTimestamp: Thu, 28 Mar 2024 10:02:08 +0100 Labels: Annotations: deployment.kubernetes.io/revision: 1 Selector: run=load-balancer-example Replicas: 2 desired | 2 updated | 2 total | 0 available | 2 unavailable StrategyType: RollingUpdate MinReadySeconds: 0 RollingUpdateStrategy: 25% max unavailable, 25% max surge Pod Template: Labels: run=load-balancer-example Containers: hello-world: Image: gcr.io/google-samples/node-hello:1.0 Port: 8080/TCP Host Port: 0/TCP Environment: Mounts: Volumes: Conditions: Type Status Reason


Available False MinimumReplicasUnavailable Progressing True ReplicaSetUpdated OldReplicaSets: NewReplicaSet: hello-world-7dc9558f6d (2/2 replicas created) Events: Type Reason Age From Message


Normal ScalingReplicaSet 16s deployment-controller Scaled up replica set hello-world-7dc9558f6d to 2

kubectl get pods --selector="run=load-balancer-example" --output=wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES hello-world-7dc9558f6d-ff8cf 0/1 ImagePullBackOff 0 5m39s 10.42.0.168 ibm-pf3tllme hello-world-7dc9558f6d-xb2c8 0/1 ImagePullBackOff 0 5m39s 10.42.0.169 ibm-pf3tllme

image

Steps to Reproduce

kubectl apply -f https://k8s.io/examples/service/access/hello-application.yaml

Result

kubectl get deployments hello-world NAME READY UP-TO-DATE AVAILABLE AGE hello-world 0/2 2 0 13s

kubectl describe deployments hello-world Name: hello-world Namespace: default CreationTimestamp: Thu, 28 Mar 2024 10:02:08 +0100 Labels: Annotations: deployment.kubernetes.io/revision: 1 Selector: run=load-balancer-example Replicas: 2 desired | 2 updated | 2 total | 0 available | 2 unavailable StrategyType: RollingUpdate MinReadySeconds: 0 RollingUpdateStrategy: 25% max unavailable, 25% max surge Pod Template: Labels: run=load-balancer-example Containers: hello-world: Image: gcr.io/google-samples/node-hello:1.0 Port: 8080/TCP Host Port: 0/TCP Environment: Mounts: Volumes: Conditions: Type Status Reason


Available False MinimumReplicasUnavailable Progressing True ReplicaSetUpdated OldReplicaSets: NewReplicaSet: hello-world-7dc9558f6d (2/2 replicas created) Events: Type Reason Age From Message


Normal ScalingReplicaSet 16s deployment-controller Scaled up replica set hello-world-7dc9558f6d to 2

kubectl get pods --selector="run=load-balancer-example" --output=wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES hello-world-7dc9558f6d-ff8cf 0/1 ImagePullBackOff 0 5m39s 10.42.0.168 ibm-pf3tllme hello-world-7dc9558f6d-xb2c8 0/1 ImagePullBackOff 0 5m39s 10.42.0.169 ibm-pf3tllme

image

Expected Behavior

I expect a status of pod as running when the container is running.

Additional Information

No response

Rancher Desktop Version

1.13.1

Rancher Desktop K8s Version

1.27.6

Which container engine are you using?

moby (docker cli)

What operating system are you using?

Windows

Operating System / Build Version

Windows 11

What CPU architecture are you using?

x64

Linux only: what package format did you use to install Rancher Desktop?

None

Windows User Only

VPN Cisco secure client.

chabant avatar Mar 28 '24 13:03 chabant

That means you have issues pulling the actual images (gcr.io/google-samples/node-hello:1.0); the alive containers you see are for port forwarding and not your actual container.

Please try kubectl describe pod hello-world-7dc9558f6d-ff8cf (or whatever pod name you have at the moment) and see if you can see any issues.

Since you're using a VPN client, please also try enabling the network tunnel; that typically helps in that scenario. The plan is to make that the default option soon, but we're still missing a feature or two for that to reach parity.

mook-as avatar Mar 28 '24 16:03 mook-as

Ok, sorry I checked the wrong container. I am still testing with an other image docker nginx:latest, I pulled it on my docker. If I use or not my VPN client , I still have a problem.

C:\>kubectl run nginx --image=nginx:latest
pod/nginx created

C:\>kubectl get pods
NAME    READY   STATUS              RESTARTS   AGE
nginx   0/1     ImageInspectError   0          6s

C:\>kubectl describe pod nginx
Name:             nginx
Namespace:        default
Priority:         0
Service Account:  default
Node:             ibm-pf3tllme/172.25.12.192
Start Time:       Wed, 03 Apr 2024 15:09:41 +0200
Labels:           run=nginx
Annotations:      <none>
Status:           Pending
IP:               10.42.0.14
IPs:
  IP:  10.42.0.14
Containers:
  nginx:
    Container ID:
    Image:          nginx:latest
    Image ID:
    Port:           <none>
    Host Port:      <none>
    State:          Waiting
      Reason:       ImageInspectError
    Ready:          False
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-l4v89 (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  kube-api-access-l4v89:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   BestEffort
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason         Age              From               Message
  ----     ------         ----             ----               -------
  Normal   Scheduled      9s               default-scheduler  Successfully assigned default/nginx to ibm-pf3tllme
  Warning  InspectFailed  9s (x2 over 9s)  kubelet            Failed to inspect image "nginx:latest": Id or size of image "nginx:latest" is not set
  Warning  Failed         9s (x2 over 9s)  kubelet            Error: ImageInspectError



C:\>docker images
REPOSITORY                                          TAG                    IMAGE ID       CREATED         SIZE
registry                                            2                      9363667f8aec   2 weeks ago     25.4MB
debian                                              latest                 c978d997d5fe   3 weeks ago     117MB
postgres                                            12                     1d9988eca73d   6 weeks ago     419MB
postgres                                            latest                 b9390dd1ea18   6 weeks ago     431MB
perl                                                latest                 8e9c7756e974   3 months ago    991MB
alpine/socat                                        latest                 ef8701c6e67d   5 months ago    9.17MB
nginx                                               latest                 61395b4c586d   6 months ago    187MB
localhost:5000/nginx                                latest                 61395b4c586d   6 months ago    187MB
dpage/pgadmin4                                      latest                 ce8ae42da4a0   6 months ago    545MB
postgres                                            <none>                 2d74f8a2591c   6 months ago    417MB
rancher/klipper-helm                                v0.8.2-build20230815   5f89cb8137cc   7 months ago    256MB
rancher/klipper-lb                                  v0.4.4                 af74bd845c4a   10 months ago   12MB
rancher/mirrored-library-traefik                    2.9.10                 d1e26b5f8193   12 months ago   138MB
rancher/local-path-provisioner                      v0.0.24                b29384aeb4b1   12 months ago   40.1MB
rancher/mirrored-metrics-server                     v0.6.3                 817bbe3f2e51   12 months ago   68.9MB
rancher/mirrored-coredns-coredns                    1.10.1                 ead0a4a53df8   14 months ago   53.6MB
rancher/mirrored-library-busybox                    1.34.1                 827365c7baf1   15 months ago   4.86MB
ibmcom/db2                                          latest                 2ec8bf76e622   17 months ago   2.79GB
blentai/docker_test                                 latest                 bd5562f1ce9e   2 years ago     257MB
rancher/mirrored-pause                              3.6                    6270bb605e12   2 years ago     683kB
gcr.io/google-samples/kubernetes-bootcamp           v1                     8fafd8af70e9   7 years ago     211MB
ghcr.io/rancher-sandbox/rancher-desktop/rdx-proxy   latest                 ce504226b541   54 years ago    5.29MB
<none>                                              <none>                 86bb84b0ddcb   54 years ago    5.11MB
<none>                                              <none>                 cc1e123943dd   54 years ago    5.29MB
<none>                                              <none>                 b28b0a35f55c   54 years ago    5.11MB
<none>                                              <none>                 962665d0abe6   54 years ago    5.12MB


(Edited by @mook-as: formatting)

chabant avatar Apr 03 '24 13:04 chabant

Ah, sorry about that; it looks like it's due to us having bumped moby; I suspect we will need to bump cri-dockerd to 0.3.10 or higher per Mirantis/cri-dockerd@9ac80dad297335dee11d453474f8fa48ec0b0c1a.

Thanks for filing the issue! As a workaround, consider using the containerd container engine. That isn't always useful though, so we'll try to get this fixed. As a more involved workaround, try running rdctl shell and manually download cri-dockerd and put the executable into /usr/local/bin, overwriting the existing one. (This will not survive a factory reset.)

mook-as avatar Apr 03 '24 17:04 mook-as

I believe this is fixed by #6712 and #6713.

jandubois avatar Apr 16 '24 22:04 jandubois