Labor 10: Konfigurieren von kubectl für den Remotezugriff¶
Info
Dies ist ein Fork des ursprünglichen "Kubernetes the hard way", das ursprünglich von Kelsey Hightower geschrieben wurde (GitHub: kelseyhightower). Im Gegensatz zum Original, das auf Debian-ähnlichen Distributionen für die ARM64-Architektur basiert, zielt dieser Fork auf Enterprise-Linux-Distributionen wie Rocky Linux ab, das auf der x86_64-Architektur läuft.
In diesem Labor generieren Sie basierend auf den Benutzeranmeldeinformationen admin eine Kubeconfig-Datei für das Befehlszeilenprogramm kubectl.
Führen Sie Befehle in diesem Abschnitt aus der
jumpboxaus.
The Admin Kubernetes Configuration File¶
Für jede Kubeconfig ist ein Kubernetes-API-Server zur Verbindung erforderlich.
Basierend auf dem DNS-Eintrag „/etc/hosts“ aus einem früheren Labor sollten Sie in der Lage sein, „server.kubernetes.local“ anzupingen.
curl -k --cacert ca.crt \
https://server.kubernetes.local:6443/version
{
"major": "1",
"minor": "32",
"gitVersion": "v1.32.0",
"gitCommit": "70d3cc986aa8221cd1dfb1121852688902d3bf53",
"gitTreeState": "clean",
"buildDate": "2024-12-11T17:59:15Z",
"goVersion": "go1.23.3",
"compiler": "gc",
"platform": "linux/amd64"
}
Generieren Sie eine Kubeconfig-Datei, die für die Authentifizierung als admin-Benutzer geeignet ist:
kubectl config set-cluster kubernetes-the-hard-way \
--certificate-authority=ca.crt \
--embed-certs=true \
--server=https://server.kubernetes.local:6443
kubectl config set-credentials admin \
--client-certificate=admin.crt \
--client-key=admin.key
kubectl config set-context kubernetes-the-hard-way \
--cluster=kubernetes-the-hard-way \
--user=admin
kubectl config use-context kubernetes-the-hard-way
Die Ergebnisse der Ausführung des obigen Befehls sollten eine Kubeconfig-Datei am Standardspeicherort ~/.kube/config erstellen, der vom Befehlszeilentool kubectl verwendet wird. Dies bedeutet auch, dass Sie den Befehl kubectl ausführen können, ohne eine Konfiguration anzugeben.
Verifizierung¶
Überprüfen Sie die Version des Remote-Kubernetes-Clusters:
kubectl version
Client Version: v1.32.0
Kustomize Version: v5.5.0
Server Version: v1.32.0
Listen Sie die Knoten im Remote-Kubernetes-Cluster auf:
kubectl get nodes
NAME STATUS ROLES AGE VERSION
node-0 Ready <none> 30m v1.31.2
node-1 Ready <none> 35m v1.31.2
Fortsetzung folgt: Provisionierung der Pod-Netzwerk-Routen
Author: Wale Soyinka
Contributors: Steven Spencer