Încerc să implementez un cluster k8s folosind kubespray deasupra unui cluster openstack de servere ubuntu. Instalarea eșuează atunci când kubeadm încearcă să inițieze furnizorul de cloud trimițând o cerere post la punctul final keystone xxx:5000/v3/ pentru a crea simbolul de bootstrap. Kubelet.service nu pornește deoarece punctul final keystone este semnat de un certificat autosemnat. Vezi mai jos. Am salvat certificatul ca de la punctul final keystone și l-am plasat pe nodul master în /etc/kubernetes/ssl/ unde kubelet și kubeadm caută certificate. De asemenea, am actualizat /etc/kubernetes/kubeadm-config.yaml Pe baza documentației Aici și Aici, am actualizat configurația implicită de alăturare kubeadm pentru a include „unsafeSkipCAVerification: true”, dar kubelet.service încă eșuează pe certificatul autosemnat. Kubeadm ar trebui să se autentifice prin numele de utilizator/parola care este stocat în fișierul /etc/kubernetes/cloud_config și am verificat că acele valori sunt corecte. Nu sunt sigur unde să caut să schimb comportamentul. Orice îndrumare ar fi foarte apreciată.
ubuntu:/etc/kubernetes# kubeadm config print join-defaults
apiVersion: kubeadm.k8s.io/v1beta3
caCertPath: /etc/kubernetes/pki/ca.crt
descoperire:
bootstrapToken:
apiServerEndpoint: kube-apiserver:6443
simbol: abcdef.0123456789abcdef
unsafeSkipCAVerification: adevărat
timeout: 5m0s
tlsBootstrapToken: abcdef.0123456789abcdef
fel: JoinConfiguration
nodeÎnregistrare:
criSocket: /var/run/dockershim.sock
imagePullPolicy: IfNotPresent
nume: mdap-node-01
vicii: nul
Urmărirea stivei kubelet:
Dec 15 22:19:51 ubuntu kubelet[388780]: E1215 22:19:51.760564 388780 server.go:294] „Eșuat la rularea kubelet” err="Nu s-a putut rula Kubelet: nu s-a putut iniția furnizorul de cloud \" : Postați \"https://XXX.XXX.XXX.132:5000/v3/auth/tokens\": x509: certificat semnat de o autoritate necunoscută”
Dec 15 22:19:51 ubuntu systemd[1]: kubelet.service: Proces principal ieșit, cod=ieșit, stare=1/Eșec
FAILED - REÎNCERCARE: creați simbolul kubeadm pentru unirea nodurilor cu expirare de 24 de ore (implicit) (răman 4 încercări). Rezultatul a fost: {
„încercări”: 2,
„schimbat”: fals,
„cmd”: [
„/usr/local/bin/kubeadm”,
"--kubeconfig",
„/etc/kubernetes/admin.conf”,
"jeton",
"crea"
],
"delta": "0:01:15.035670",
„sfârșit”: „2021-12-16 15:03:22.901080”,
„invocare”: {
„module_args”: {
„_raw_params”: „/usr/local/bin/kubeadm --kubeconfig /etc/kubernetes/admin.conf token create”,
„_uses_shell”: fals,
„argv”: nul,
„chdir”: nul,
„creează”: nul,
„executable”: nul,
„elimină”: nul,
„stdin”: nul
„stdin_add_newline”: adevărat,
„strip_empty_ends”: adevărat,
„avertizează”: adevărat
}
},
"msg": "cod returnat diferit de zero",
"rc": 1,
„reîncercări”: 6,
„start”: „2021-12-16 15:02:07.865410”,
"stderr": "a expirat în așteptarea condiției\nPentru a vedea urmărirea stivei acestei erori executată cu --v=5 sau mai mare",
„stderr_lines”: [
„a expirat în așteptarea stării”,
„Pentru a vedea urma stivei acestei erori, executați cu --v=5 sau mai mare”
],
"stdout": "",
„stdout_lines”: []