Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi.

2. Installer Kubernetes

Une fois l’infrastructure prête, vous pouvez procéder à la mise en place d’un cluster Kubernetes afin d’y installer Rancher.

Les étapes pour configurer RKE2 ou K3s sont indiquées ci-dessous.

Pour plus de commodité, exportez l’adresse IP et le port de votre proxy dans une variable d’environnement et configurez les variables HTTP_PROXY pour votre shell actuel sur chaque nœud :

La variable d’environnement NO_PROXY n’est pas standardisée, et le format accepté de la valeur peut différer entre les applications. Lors de la configuration de la variable NO_PROXY pour Rancher, la valeur doit respecter le format attendu par Golang.

Plus précisément, la valeur doit être une chaîne délimitée par des virgules qui ne contient que des adresses IP, une notation CIDR, des noms de domaine ou des étiquettes DNS spéciales (par exemple *). Pour une description complète du format de valeur attendu, consultez la documentation Golang en amont.

export proxy_host="10.0.0.5:8888"
export HTTP_PROXY=http://${proxy_host}
export HTTPS_PROXY=http://${proxy_host}
export NO_PROXY=127.0.0.0/8,10.0.0.0/8,cattle-system.svc,172.16.0.0/12,192.168.0.0/16
  • K3s

  • RKE2

Tout d’abord, configurez les paramètres du proxy HTTP sur le service systemd de K3s, afin que le containerd de K3s puisse tirer des images à travers le proxy :

cat <<'EOF' | sudo tee /etc/default/k3s > /dev/null
HTTP_PROXY=http://${proxy_host}
HTTPS_PROXY=http://${proxy_host}
NO_PROXY=127.0.0.0/8,10.0.0.0/8,cattle-system.svc,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local
EOF

Rancher doit être installé sur une version Kubernetes prise en charge. Pour savoir quelles versions de Kubernetes sont prises en charge pour votre version de Rancher, veuillez vous référer à la Matrice de support Rancher.

Pour spécifier la version K3s (Kubernetes), utilisez la variable d’environnement INSTALL_K3S_VERSION (par exemple, INSTALL_K3S_VERSION="v1.24.10+k3s1") lors de l’exécution du script d’installation K3s.

Sur le premier nœud, créez un nouveau cluster :

curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=<VERSION> K3S_TOKEN=<TOKEN> sh -s - server --cluster-init

Et ensuite rejoignez les autres nœuds :

curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=<VERSION> K3S_TOKEN=<TOKEN> sh -s - server --server https://<SERVER>:6443

<SERVER> est l’IP ou le DNS valide du serveur et <TOKEN> est le token de nœud du serveur trouvé à /var/lib/rancher/k3s/server/node-token.

Pour plus d’informations sur l’installation de K3s, consultez la documentation d’installation de K3s.

Pour avoir un aperçu de votre cluster, exécutez :

kubectl cluster-info
kubectl get pods --all-namespaces

Sur chaque nœud, exécutez le script d’installation de RKE2. Assurez-vous que la version de RKE2 que vous installez est prise en charge par Rancher.

curl -sfL https://get.rke2.io | INSTALL_RKE2_CHANNEL=v1.xx sh -

Ensuite, vous devez configurer les paramètres du proxy HTTP sur le service systemd de RKE2, afin que le containerd de RKE2 puisse tirer des images à travers le proxy :

cat <<'EOF' | sudo tee /etc/default/rke2-server > /dev/null
HTTP_PROXY=http://${proxy_host}
HTTPS_PROXY=http://${proxy_host}
NO_PROXY=127.0.0.0/8,10.0.0.0/8,cattle-system.svc,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local
EOF

Ensuite, créez le fichier de configuration RKE2 sur chaque nœud en suivant la documentation sur la haute disponibilité de RKE2.

Après cela, démarrez et activez le service rke2-server :

systemctl enable rke2-server.service
systemctl start rke2-server.service

Pour plus d’informations sur l’installation de RKE2, consultez la documentation de RKE2.

Pour avoir un aperçu de votre cluster, exécutez :

export KUBECONFIG=/etc/rancher/rke2/rke2.yaml
alias kubectl=/var/lib/rancher/rke2/bin/kubectl
kubectl cluster-info
kubectl get pods --all-namespaces

Problèmes ou erreurs ?

Consultez la page Dépannage.