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.

Configuration d’un cluster Kubernetes à haute disponibilité SUSE® Rancher Prime: K3s pour SUSE Rancher Prime

Cette section décrit comment installer un cluster Kubernetes selon les meilleures pratiques pour l’environnement du serveur Rancher.

Pour les systèmes sans accès direct à Internet, veuillez vous référer aux instructions d’installation en isolation physique.

Conseil d’installation pour un nœud unique :

Dans un cluster Kubernetes à nœud unique, le serveur Rancher n’a pas de haute disponibilité, ce qui est important pour exécuter Rancher en production. Cependant, installer Rancher sur un cluster à nœud unique peut être utile si vous souhaitez économiser des ressources en utilisant un seul nœud à court terme, tout en préservant un chemin de migration vers la haute disponibilité.

Pour configurer un cluster K3s à nœud unique, exécutez la commande d’installation du serveur Rancher sur un seul nœud au lieu de deux nœuds.

Dans les deux configurations à nœud unique, Rancher peut être installé avec Helm sur le cluster Kubernetes de la même manière qu’il serait installé sur tout autre cluster.

Conditions préalables

Ces instructions supposent que vous avez configuré deux nœuds, un équilibreur de charge, un enregistrement DNS et une base de données MySQL externe comme décrit dans cette section.

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.

Installation de Kubernetes

1. Installer Kubernetes et configurer le serveur SUSE® Rancher Prime: K3s

Lors de l’exécution de la commande pour démarrer le serveur API K3s Kubernetes, vous passerez une option pour utiliser le magasin de données externe que vous avez configuré précédemment.

  1. Connectez-vous à l’un des nœuds Linux que vous avez préparés pour exécuter le serveur Rancher.

  2. Sur le nœud Linux, exécutez cette commande pour démarrer le serveur K3s et le connecter au magasin de données externe :

     curl -sfL https://get.k3s.io |  INSTALL_K3S_VERSION=<VERSION> sh -s - server \
       --datastore-endpoint="<DATASTORE_ENDPOINT>"

    <DATASTORE_ENDPOINT> est l’URI de connexion pour votre datastore. Par exemple, mysql://username:password@tcp(hostname:3306)/database-name si vous utilisez MySQL. Les datastores valides incluent etcd, MySQL, PostgreSQL ou SQLite (par défaut).

    Le point de terminaison du datastore peut également être passé en utilisant la variable d’environnement $K3S_DATASTORE_ENDPOINT.

  3. Obtenez le token du nœud principal du serveur :

     cat /var/lib/rancher/k3s/server/token
  4. Exécutez la commande sur votre deuxième nœud de serveur K3s :

       curl -sfL https://get.k3s.io |  INSTALL_K3S_VERSION=<VERSION> sh -s - server \
         --datastore-endpoint="<DATASTORE_ENDPOINT>" \
         --token "<MAIN_SERVER_NODE_TOKEN>"

2. Confirmez que SUSE® Rancher Prime: K3s est en cours d’exécution

Pour confirmer que K3s a été configuré avec succès, exécutez la commande suivante sur l’un des nœuds de serveur K3s :

sudo k3s kubectl get nodes

Vous devriez alors voir deux nœuds avec le rôle de maître :

ubuntu@ip-172-31-60-194:~$ sudo k3s kubectl get nodes
NAME               STATUS   ROLES    AGE    VERSION
ip-172-31-60-194   Ready    master   44m    v1.17.2+k3s1
ip-172-31-63-88    Ready    master   6m8s   v1.17.2+k3s1

Testez ensuite la santé des pods du cluster :

sudo k3s kubectl get pods --all-namespaces

Résultat : Vous avez configuré avec succès un cluster Kubernetes K3s.

3. Enregistrez et commencez à utiliser le fichier kubeconfig

Lorsque vous avez installé K3s sur chaque nœud de serveur Rancher, un fichier kubeconfig a été créé sur le nœud à /etc/rancher/k3s/k3s.yaml. Ce fichier contient des informations d’identification pour un accès complet au cluster, et vous devez enregistrer ce fichier dans un endroit sûr.

Pour utiliser ce fichier kubeconfig,

  1. Installez kubectl,, un outil de ligne de commande Kubernetes.

  2. Copiez le fichier à /etc/rancher/k3s/k3s.yaml et enregistrez-le dans le répertoire ~/.kube/config sur votre machine locale.

  3. Dans le fichier kubeconfig, la directive server est définie comme hôte local. Configurez le serveur comme le DNS de votre équilibreur de charge, en vous référant au port 6443. (Le serveur API Kubernetes sera accessible au port 6443, tandis que le serveur Rancher sera accessible aux ports 80 et 443.) Voici un exemple k3s.yaml :

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: [CERTIFICATE-DATA]
    server: [LOAD-BALANCER-DNS]:6443 # Edit this line
  name: default
contexts:
- context:
    cluster: default
    user: default
  name: default
current-context: default
kind: Config
preferences: {}
users:
- name: default
  user:
    password: [PASSWORD]
    username: admin

Résultat : Vous pouvez maintenant utiliser kubectl pour gérer votre cluster K3s. Si vous avez plus d’un fichier kubeconfig, vous pouvez spécifier lequel vous souhaitez utiliser en passant le chemin du fichier lors de l’utilisation de kubectl :

kubectl --kubeconfig ~/.kube/config/k3s.yaml get pods --all-namespaces

Pour plus d’informations sur le fichier kubeconfig, consultez la K3s documentation ou la documentation officielle de Kubernetes sur l’organisation de l’accès au cluster à l’aide de fichiers kubeconfig.

4. Vérifiez la santé de vos pods de cluster

Maintenant que vous avez configuré le fichier kubeconfig, vous pouvez utiliser kubectl pour accéder au cluster depuis votre machine locale.

Vérifiez que tous les pods et conteneurs requis sont sains et prêts à continuer :

ubuntu@ip-172-31-60-194:~$ sudo kubectl get pods --all-namespaces
NAMESPACE       NAME                                      READY   STATUS    RESTARTS   AGE
kube-system     metrics-server-6d684c7b5-bw59k            1/1     Running   0          8d
kube-system     local-path-provisioner-58fb86bdfd-fmkvd   1/1     Running   0          8d
kube-system     coredns-d798c9dd-ljjnf                    1/1     Running   0          8d

Résultat : Vous avez confirmé que vous pouvez accéder au cluster avec kubectl et que le cluster K3s fonctionne avec succès. Maintenant, le serveur de gestion Rancher peut être installé sur le cluster.