skupperproject / skupper

Skupper is an implementation of a Virtual Application Network, enabling rich hybrid cloud communication.
http://skupper.io
Apache License 2.0
591 stars 73 forks source link

If load balancer IP is (temporarily) unavailable, skupper-router pod can fail to start (due to failed mounts) #1638

Open Karen-Schoener opened 2 months ago

Karen-Schoener commented 2 months ago

Describe the bug

If the load balancer is (temporarily) unavailable when a declarative site is created, the site does not transition to a running state.

How To Reproduce

Expected behavior

After minikube tunnel was started, expected the site to recover to a running state.

Environment details

Karen-Schoener commented 2 months ago

Closing issue. It's not as reproducible as I thought. Will retrace my steps.

Karen-Schoener commented 2 months ago

Issue is reproducible with the test step:

While in this state, the skupper-router pods remain in a state of ContainerCreating.

 $ kubectl get pods -A
NAMESPACE     NAME                                      READY   STATUS              RESTARTS      AGE
east          skupper-router-9bb8848f8-x6ght            0/2     ContainerCreating   0             9m28s
east          skupper-site-controller-77f45fc7d-mzhk2   1/1     Running             0             11m
kube-system   coredns-7db6d8ff4d-xt962                  1/1     Running             0             44m
kube-system   etcd-minikube                             1/1     Running             0             44m
kube-system   kube-apiserver-minikube                   1/1     Running             0             44m
kube-system   kube-controller-manager-minikube          1/1     Running             0             44m
kube-system   kube-proxy-rr42v                          1/1     Running             0             44m
kube-system   kube-scheduler-minikube                   1/1     Running             0             44m
kube-system   storage-provisioner                       1/1     Running             1 (43m ago)   44m
west          skupper-router-66bb77c574-9qn29           0/2     ContainerCreating   0             9m33s
west          skupper-site-controller-77f45fc7d-4jshd   1/1     Running             0             11m

While in this state, here's a list of the created secrets.

$ kubectl get secrets -A
NAMESPACE     NAME                     TYPE                            DATA   AGE
east          skupper-console-users    Opaque                          1      13m
east          skupper-local-ca         kubernetes.io/tls               2      13m
east          skupper-local-client     kubernetes.io/tls               4      13m
east          skupper-local-server     kubernetes.io/tls               3      13m
east          skupper-service-ca       kubernetes.io/tls               2      13m
east          skupper-service-client   Opaque                          1      13m
east          skupper-site-ca          kubernetes.io/tls               2      13m
kube-system   bootstrap-token-gnm68z   bootstrap.kubernetes.io/token   6      48m
west          skupper-console-users    Opaque                          1      13m
west          skupper-local-ca         kubernetes.io/tls               2      13m
west          skupper-local-client     kubernetes.io/tls               4      13m
west          skupper-local-server     kubernetes.io/tls               3      13m
west          skupper-service-ca       kubernetes.io/tls               2      13m
west          skupper-service-client   Opaque                          1      13m
west          skupper-site-ca          kubernetes.io/tls               2      13m

Attaching site-controller logs for namespaces west, east.

logs_west_skupper-site-controller.txt logs_east_skupper-site-controller.txt

Attaching kubectl describe pod skupper-router output.

kube_east_describe_pod_skupper_router.txt kube_west_describe_pod_skupper_router.txt