user@homelab:~/docs$ cat 10-clients.md

Klienti: kubectl na Macu

Ovládání homelabu z Macu bez zásahu do ostatních kubeconfigů

# obsah

Cíl

Na Macu se kubectl používá i pro jiné clustery. Homelab proto dostane vlastní soubor a vlastní příkaz. Stávající ~/.kube/config ani proměnná KUBECONFIG se nemění.

Postup

shell @ mac
scp homelab:~/.kube/config ~/.kube/homelab.yaml
chmod 600 ~/.kube/homelab.yaml
sed -i '' 's/127.0.0.1/<ip-serveru>/' ~/.kube/homelab.yaml
kubectl --kubeconfig ~/.kube/homelab.yaml config rename-context default homelab
  • scp zkopíruje soubor ze serveru přes SSH a použije zkratku homelab ze ~/.ssh/config,
  • sed -i '' je syntaxe pro macOS, kde je u -i potřeba prázdný argument. Na serveru je API vidět jako 127.0.0.1, z Macu jako IP serveru. Certifikát k3s IP nodu obsahuje, takže TLS projde,
  • rename-context: z obecného default je homelab, aby bylo vždy jasné, kde jsi.
shell @ mac
echo "alias kh='NO_PROXY=<ip-serveru> kubectl --kubeconfig ~/.kube/homelab.yaml'" >> ~/.zshrc
source ~/.zshrc
kh get nodes
PříkazKam míří
kubectl …ostatní clustery (beze změny)
kh …jen homelab
ssh homelab + k …homelab přímo ze serveru

NO_PROXY zajistí, že spojení na homelab nepůjde přes proxy, která domácí adresy nevidí.