Laboratorio 10: Configurazione di kubectl
per l'accesso remoto¶
Info
Si tratta di un fork dell'originale "Kubernetes the hard way" scritto originariamente da Kelsey Hightower (GitHub: kelseyhightower). A differenza dell'originale, che si basa su distribuzioni simili a Debian per l'architettura ARM64, questo fork si rivolge a distribuzioni Enterprise Linux come Rocky Linux, che gira su architettura x86_64.
In questo laboratorio si genererà un file kubeconfig per l'utilità a riga di comando kubectl
basato sulle credenziali dell'utente admin
.
Eseguite i comandi di questo laboratorio dalla macchina
jumpbox
.
Il file di configurazione Admin Kubernetes¶
Ogni kubeconfig richiede un Kubernetes API Server a cui connettersi.
In base alla voce DNS /etc/hosts
di un laboratorio precedente, si dovrebbe essere in grado di eseguire il pingserver.kubernetes.local
.
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"
}
Generare un file kubeconfig adatto all'autenticazione come utente admin
:
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
L'esecuzione del comando sopra riportato dovrebbe creare un file kubeconfig nella posizione predefinita ~/.kube/config
utilizzata dallo strumento da riga di comando kubectl
. Questo significa anche che è possibile eseguire il comando kubectl
senza specificare una configurazione.
Verifica¶
Controllare la versione del cluster Kubernetes remoto:
kubectl version
Client Version: v1.32.0
Kustomize Version: v5.5.0
Server Version: v1.32.0
Elencare i nodi del cluster Kubernetes remoto:
kubectl get nodes
NAME STATUS ROLES AGE VERSION
node-0 Ready <none> 30m v1.31.2
node-1 Ready <none> 35m v1.31.2
Successivo: Provisioning Pod Network Routes
Author: Wale Soyinka
Contributors: Steven Spencer