Chapitre 01

Se connecter

Un navigateur pour l'interface, kubectl pour la ligne de commande, et un seul compte pour les deux. Pas de VPN, pas de clé SSH : tout passe en HTTPS par Rancher.

Niveau intermédiaire  ·  Lecture 8 min  ·  Pour les développeurs

01Votre compte Rancher

Rancher est la console web de la plateforme. Votre administrateur vous a transmis un identifiant, un mot de passe provisoire et le nom de votre namespace.

  1. Ouvrez https://rancher.k8s.exemple.fr et connectez-vous.
  2. Changez le mot de passe tout de suite, depuis le menu de votre avatar en haut à droite.
  3. Ouvrez le cluster demo : vous y voyez votre projet et votre namespace.

Tout ce que fait kubectl, l'interface sait le faire aussi : liste des pods, journaux en direct, shell dans un conteneur. C'est le bon endroit pour regarder ; la ligne de commande reste le bon endroit pour agir de façon reproductible.

02Installer kubectl

Selon votre système
# macOS
brew install kubectl
# Windows
winget install Kubernetes.kubectl
# Linux : le paquet de votre distribution, ou le binaire officiel
curl -LO "https://dl.k8s.io/release/v1.36.5/bin/linux/amd64/kubectl"
sudo install -m 0755 kubectl /usr/local/bin/kubectl

kubectl version --client

Une version de kubectl à une version mineure près de celle du cluster convient : pour un cluster en 1.36, de 1.35 à 1.37.

03Récupérer le kubeconfig

Dans Rancher, sur le cluster demo, l'icône Download KubeConfig de la barre du haut télécharge un fichier qui contient l'adresse de la plateforme et votre jeton personnel. Rangez-le à part, plutôt que de mélanger plusieurs clusters dans un seul fichier :

Premier contact
mkdir -p ~/.kube
mv ~/Downloads/demo.yaml ~/.kube/captain-demo.yaml
chmod 600 ~/.kube/captain-demo.yaml

export KUBECONFIG=~/.kube/captain-demo.yaml
kubectl config set-context --current --namespace=mon-equipe
kubectl get pods          # "No resources found" : la connexion fonctionne

Ajoutez la ligne export à votre ~/.bashrc ou ~/.zshrc si la plateforme devient votre quotidien.

04Votre namespace et vos droits

Vous êtes membre d'un projet Rancher : vous gérez tout dans les namespaces de ce projet, et rien en dehors. Certaines commandes sont donc refusées, et c'est normal :

Ce qui marche, ce qui ne marche pas
kubectl get pods,svc,ingress          # oui : votre namespace
kubectl auth can-i create deployments # yes
kubectl get nodes                     # Forbidden : les serveurs ne vous regardent pas
kubectl get pods -n kube-system       # Forbidden : le namespace d'un autre

Un quota borne aussi ce que le projet peut consommer en processeur, en mémoire et en stockage. Il ne gêne pas un usage normal ; il évite qu'une boucle infinie de votre collègue ne vous prive de place.

05Protéger vos accès

Ce fichier vaut votre mot de passe

Le kubeconfig contient votre jeton : quiconque le possède agit en votre nom. Ne le partagez pas, ne l'envoyez pas par messagerie, et surtout ne le versionnez pas. Ajoutez *.kubeconfig et .kube/ à votre .gitignore global. En cas de fuite, supprimez le jeton dans Rancher (menu de l'avatar, Account & API Keys) et téléchargez-en un nouveau.

Le jeton expire au bout d'un certain temps, fixé par l'administrateur. Si kubectl répond soudain Unauthorized, il suffit de télécharger un nouveau kubeconfig.

Vous codez, nous veillons sur le cluster

Cette plateforme existe pour que vos développeurs déploient sans attendre personne et sans ticket. Nous l'hébergeons et l'exploitons pour vous : réseau, certificats, sauvegardes, mises à jour et surveillance des attaques. Il vous reste le plus intéressant.