CKS cluster doesn't come up if "cloud.kubernetes.cluster.experimental.features.enabled" setting is enabled
- Lingua principale
- Java
- Stelle
- 3.1k
- Fork
- 1.4k
- Merge medio
- 6g 19h
- PR unite (30g)
- 32
Descrizione
### problem
CKS cluster doesn't come up if "cloud.kubernetes.cluster.experimental.features.enabled" setting is enabled
### versions
ACS 4.20.1, 4.21
### The steps to reproduce the bug
1. Enable the global setting "cloud.kubernetes.cluster.experimental.features.enabled" setting
2. Launch a cks cluster, enable private registry and provide your docker hub credentials
dockerregistryurl= "https://index.docker.io/v1/"
dockerregistryusername= <>
dockerregistrypassword=<>
3. CKS cluster is struck in starting state
4. On logging into control node found the following errors
```
root@example-cluster-control-19927ba5b6e:/opt/bin# crictl images
WARN[0000] Config "/etc/crictl.yaml" does not exist, trying next: "/opt/bin/crictl.yaml"
WARN[0000] Image connect using default endpoints: [unix:///run/containerd/containerd.sock unix:///run/crio/crio.sock unix:///var/run/cri-dockerd.sock]. As the default settings are now deprecated, you should set the endpoint instead.
ERRO[0000] validate service connection: validate CRI v1 image API for endpoint "unix:///run/containerd/containerd.sock": rpc error: code = Unimplemented desc = unknown service runtime.v1.ImageService
ERRO[0000] validate service connection: validate CRI v1 image API for endpoint "unix:///run/crio/crio.sock": rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial unix /run/crio/crio.sock: connect: no such file or directory"
ERRO[0000] validate service connection: validate CRI v1 image API for endpoint "unix:///var/run/cri-dockerd.sock": rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial unix /var/run/cri-dockerd.sock: connect: no such file or directory"
FATA[0000] validate service connection: validate CRI v1 image API for endpoint "unix:///var/run/cri-dockerd.sock": rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial unix /var/run/cri-dockerd.sock: connect: no such file or directory"
```
kublet logs
```
Sep 08 05:18:03 example-cluster-control-19927ba5b6e systemd[1]: kubelet.service: Main process exited, code=exited, status=1/FAILURE
Sep 08 05:18:03 example-cluster-control-19927ba5b6e systemd[1]: kubelet.service: Failed with result 'exit-code'.
Sep 08 05:18:13 example-cluster-control-19927ba5b6e systemd[1]: kubelet.service: Scheduled restart job, restart counter is at 41.
Sep 08 05:18:13 example-cluster-control-19927ba5b6e systemd[1]: Stopped kubelet.service - kubelet: The Kubernetes Node Agent.
Sep 08 05:18:13 example-cluster-control-19927ba5b6e systemd[1]: Started kubelet.service - kubelet: The Kubernetes Node Agent.
Sep 08 05:18:14 example-cluster-control-19927ba5b6e kubelet[31660]: Flag --cgroup-driver has been deprecated, This parameter should be set via the config file specified by the Kubelet's -->
Sep 08 05:18:14 example-cluster-control-19927ba5b6e kubelet[31660]: E0908 05:18:14.034670 31660 run.go:72] "command failed" err="failed to load kubelet config file, path: /var/lib/kubele>
Sep 08 05:18:14 example-cluster-control-19927ba5b6e systemd[1]: kubelet.service: Main process exited, code=exited, status=1/FAILURE
Sep 08 05:18:14 example-cluster-control-19927ba5b6e systemd[1]: kubelet.service: Failed with result 'exit-code'.
Sep 08 05:18:24 example-cluster-control-19927ba5b6e systemd[1]: kubelet.service: Scheduled restart job, restart counter is at 42.
Sep 08 05:18:24 example-cluster-control-19927ba5b6e systemd[1]: Stopped kubelet.service - kubelet: The Kubernetes Node Agent.
Sep 08 05:18:24 example-cluster-control-19927ba5b6e systemd[1]: Started kubelet.service - kubelet: The Kubernetes Node Agent.
Sep 08 05:18:24 example-cluster-control-19927ba5b6e kubelet[32393]: Flag --cgroup-driver has been deprecated, This parameter should be set via the config file specified by the Kubelet's -->
Sep 08 05:18:24 example-cluster-control-19927ba5b6e kubelet[32393]: E0908 05:18:24.237711 32393 run.go:72] "command failed" err="failed to load kubelet config file, path: /var/lib/kubele>
```
The file
"/etc/containerd/config.toml" is not populated correctly
### What to do about it?
Cloudstack should support private container registry
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia con il percorso di provisioning del cluster CKS e il file /etc/containerd/config.toml generato, usando gli errori di kubelet e crictl come evidenza del fallimento. Riproduci il problema con l'impostazione experimental-features e le credenziali private del registry Docker Hub; il lavoro è completato quando il cluster esce dallo stato di avvio e kubelet e containerd si inizializzano correttamente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- docker, java, kubernetes
- Ambito
- devops, infrastructure
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100