Tato chyba se vám bude dít zejména na VPSkách, kde VPS vypínáte nebo uspáváte, čímž přerušíte synchronizaci času a po vzbuzení virtuálky pak řešíte takový problém, že chcete zadat příkaz kubectl get nodes či kubectl get pods a VPS vám vyplivne jen:
The connection to the server localhost:8080 was refused – did you specify the right host or port?
Takže dáte příkaz:
date
zjistíte, že vám linux vrátí datum -2 dny zpět.
Na Centos8/ RHEL8 je služba chrony, na debianích/ubuntích instalacích vám stačí apt install ntpdate -y
Potom příkazem:
ntpdate tak.cesnet.cz
sesynchronizujete čas s aktuálním datumem a časem.
Můžete a nemusíte rebootovat, podle toho, jestli se vám kubectl get nodes příkazy začnou chovat normálně.
Pokud ani po rebootu nic, mrkněte, na příkaz:
kubectl config view
Pokud je váš node nemocný, tak vám to vrátí něco jako:
kubectl config view
W0212 05:20:12.420954 515706 loader.go:221] Config not found: /home/user/admin.conf
apiVersion: v1
clusters: null
contexts: null
current-context: „“
kind: Config
preferences: {}
users: null
Takže jsem vzal na masteru obsah ~/.kube/config a nahrál ho do workeru ~/.kube/config
Buď se to chytne hned, pokud si to můžete dovolit tak dejte reboot (můžete zkusit i systemctl restart kubelet).
Potom, co vám začne node fungovat OK, tak vám bude vypisovat něco takového, jako jde vidět v následujícím příkladu:
# kubectl config view
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: DATA+OMITTED
server: https://VášServer:6443
name: kubernetes
contexts:
- context:
cluster: kubernetes
user: kubernetes-admin
name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
user:
client-certificate-data: REDACTED
client-key-data: REDACTED
Po rebootu
kubectl get nodes
NAME STATUS ROLES AGE VERSION
kubemaster Ready control-plane,master 3d21h v1.23.3
kubenode Ready <none> 3d21h v1.23.3