Guide d'installation
Guide d’installation
Puisque CEDILLE et un club axé sur l’open source, donc Linux, les méthodes d’installation sur Windows ne seront pas décrites ici.
kubectl
Si vous avez déjà ce programme d’installé, sautez à l’installation de krew
Avant de pouvoir se lancer à l’attaque dans nos divers cluster Kubernetes, quelques outils sont nécessaires.
L’outil principal pour intéragir avec l’API Kubernetes est kubectl, un outil en ligne de commande qui permet d’effectuer plusieurs actions en envoyant des requêtes à l’API Kubernetes.
Installation à l’aide d’un gestionnaire de programme
kubectl est généralement disponible sur les package managers des distros populaires, mais certains nécessitent un ajout de clés ou de repository afin de l’installer. https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/#install-using-native-package-management
Installation Manuelle
Dans le cas où kubectl ne serait pas disponible dans les répertoires du gestionnaire de programmes, ou que l’on voudrait avoir la version la plus récente, on peut suivre les étapes suivantes.
Le binary peut être téléchargé ainsi:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"On peut ensuite vérifier que l’intégrité du fichier en vérifiant le hash:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
# On valide que cette commande retourne `kubectl: OK`
echo "$(cat kubectl.sha256) kubectl" | sha256sum --checkPuis on installe le programme sur notre système:
# Installation globale
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
# Installation locale (si on ne veut pas rendre `kubectl` accesssible aux autres utilisateurs)
chmod +x kubectl
mkdir -p ~/.local/bin
mv ./kubectl ~/.local/bin/kubectl
# Puis on ajoute ~/.local/bin au $PATH dans notre fichier .bashrc, .zshrc ou autrekrew
L'utilisation de krew est recommandée pour installer les plugins requis pour accéder aux différents cluster de la Plateforme CEDILLE.
Pour installer, suivre les instructions d'installation de krew.
https://krew.sigs.k8s.io/docs/user-guide/setup/install
kubelogin
kubelogin est utilisé pour s'authentifier au cluster CEDILLE en utilisant du SSO avec OIDC. Nous utilisons Sidero Labs Omni comme fournisseur d'identité, nous permettant de donner des permissions granulaires par cluster.
Pour installer kubelogin, exécuter la commande:
kubectl krew install oidc-loginkubeconfig
La plateforme CEDILLE est gérée via Sidero Labs Omni. Notre instance de Omni est accessible ici.
Pour accéder à un cluster, il suffit de naviguer au cluster voulu (par exemple, le cluster
sandbox) et télécharger le fichier kubeconfig avec le bouton Download kubeconfig.
Pour tester rapidement l'accès, on peut exécuter les commandes suivantes:
export KUBECONFIG=~/Downloads/k8s-cedille-sandbox-kubeconfig.yaml #Modifier selon l'emplacement du kubeconfig téléchargé
kubectl get nodesUne page d’authentification devrait s’ouvrir, puis une fois authentifié, la commande devrait retourner un output similaire à celui-ci:
NAME STATUS ROLES AGE VERSION
k8s-cedille-sandbox-controlplane-0 Ready control-plane 207d v1.30.0
k8s-cedille-sandbox-worker-0 Ready <none> 207d v1.30.0
k8s-cedille-sandbox-worker-1 Ready <none> 207d v1.30.0
k8s-cedille-sandbox-worker-2 Ready <none> 207d v1.30.0Kubectl est prêt à être utilisé! Cependant, cette configuration du KUBECONFIG est temporaire. Il est donc recommandé d'utiliser la configuration recommandée.
https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig
Il peut aussi être pertinent de configurer l'accès à plusieurs clusters.
https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters