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.

  1. 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"
  1. 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 --check
  1. Puis 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 autre

krew

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-login

kubeconfig

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 nodes

Une 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.0

Kubectl 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