Rancher¶
Rancher est une plateforme de gestion de conteneurs, englobant un large ensemble de fonctionnalités.
Elle est utilisée dans Caascad uniquement comme moyen d'accéder aux clusters Kubernetes.
Note
Dans ce tutoriel, remplacez les valeurs suivantes comme suit :
ZONE_NAME
à remplacer par le nom de votre zone d'administration (commence par ocb-).
Accéder à Rancher¶
Dans votre environnement d'administration, le service Rancher est situé à l'adresse suivante :
https://rancher.ZONE_NAME.caascad.com
Connexion¶
Pour pouvoir vous connecter à l'interface Web de Rancher, vous devez utiliser vos identifiants/ mot de passe Keycloak. Pour plus d'informations sur Keycloak, consultez la page Authentification.
- Cliquez sur "Log In with Keycloak"
- Cliquez sur "Log In"
- Puis entrez vos nom d'utilisation / Mot de passe
- Vous êtes désormais prêt à utiliser Rancher !
Accéder à un cluster avec kubectl et kubeconfig¶
Cette section décrit comment manipuler votre cluster Kubernetes avec kubectl depuis l'interface utilisateur de Rancher ou depuis votre poste de travail.
Pour plus d'informations sur l'utilisation de kubectl, consultez la Documentation Kubernetes: Overview of kubectl.
Accéder aux clusters avec le shell kubectl dans l'interface utilisateur de Rancher¶
Vous pouvez accéder à vos clusters et les gérer en vous connectant à Rancher et en ouvrant le shell kubectl dans l'interface utilisateur. Aucune autre configuration n'est nécessaire.
- Connectez-vous à Rancher. Dans la vue globale, ouvrez le cluster auquel vous voulez accéder avec kubectl.
- Ensuite, cliquez sur "Launch kubectl".
- Utilisez la fenêtre qui s'ouvre pour interagir avec votre cluster Kubernetes.
Accéder aux clusters avec kubectl depuis votre poste de travail¶
Cette section décrit comment télécharger le fichier kubeconfig de votre cluster, lancer kubectl depuis votre poste de travail et accéder à votre cluster.
- Dans la vue globale, ouvrez le cluster auquel vous voulez accéder avec kubectl.
- Cliquez sur le fichier Kubeconfig
- Copiez le contenu affiché dans votre presse-papiers
- Collez le contenu dans un nouveau fichier sur votre ordinateur local et déplacez le fichier vers
~/.kube/config
.
cp /path/to/config-file ~/.kube/config
- Maintenant, depuis votre poste de travail, lancez kubectl et utilisez-le pour interagir avec votre cluster Kubernetes.
Astuce
Si vous avez installé des outils de ligne de commande Kubernetes en amont, tels que kubectl ou helm, vous devrez les configurer avec le chemin d'accès correct à kubeconfig. Cela peut se faire soit en exportant la variable d'environnement KUBECONFIG, soit en invoquant l'option de ligne de commande --kubeconfig.
- Exploitez la variable d'environnement KUBECONFIG :
export KUBECONFIG=$HOME/.kube/config
kubectl get pods --all-namespaces
helm ls --all-namespaces
- L'emplacement par défaut du fichier kubeconfig est
~/.kube/config
, mais vous pouvez utiliser n'importe quel répertoire et le spécifier en utilisant l'option --kubeconfig, comme dans cette commande :
kubectl --kubeconfig /custom/path/kube.config get pods
Clés API¶
Si vous voulez interagir avec Rancher au travers d'un programme, you aurez besoin d'un clé API.
Les clés API sont composées de 4 éléments :
- Endpoint: il s'agit de l'adresse IP et du chemin que les autres applications utilisent pour envoyer des requêtes à l'API Rancher.
- Access Key: le nom d'utilisateur du jeton.
- Secret Key: le mot de passe du jeton. Pour les applications qui vous demandent deux chaînes différentes pour l'authentification API, vous entrez généralement les deux clés ensemble.
- Bearer Token: le nom d'utilisateur et le mot de passe du jeton concaténés ensemble.
Suivez les instructions de cette section pour obtenir une clé :
Créer une clé API¶
- Cliquez sur votre Avatar utilisateur et selectionnez "API & Keys" depuis les paramètres utilisateur dans le menu en haut à droite.
- Cliquez sur Add Key.
Astuce
- Saisissez une description pour la clé API et sélectionnez une période d'expiration ou une portée. Il est fortement recommandé de définir une date d'expiration.
- La clé API ne sera plus valide après l'expiration. Les périodes d'expiration plus courtes sont plus sûres.
-
Cliquez sur Create.
-
Enregistrez les informations affichées
Votre clé API est maintenant créée. Vos API Endpoint, Access Key, Secret Key, et Bearer sont affichés.
-
Copiez les informations affichées dans un endroit sûr. Ces informations ne sont affichées qu'une seule fois, donc si vous perdez votre clé, vous devrez en faire une nouvelle.
-
Utilisez le Bearer Token pour vous authentifier avec Rancher CLI.
Utiliser les clés API¶
Dans le fichier kubeconfig¶
Les clés API peuvent également être utilisées pour accéder à vos clusters Kubernetes en ajoutant le "Bearer Token" à la section "token" du fichier kubeconfig. Elles peuvent aussi être stockées dans Vault pour être consommées par d'autres applications comme la CI.
Dans les requêtes¶
Il est possible d'utiliser ces clés pour récupérer des informations sur les objets Kubernetes via l'API Rancher également. Par exemple, la requête suivante vous permet de récupérer les métriques d'un service déployé dans l'un de vos Clusters.
curl -X GET -H "Authorization: Bearer ${RANCHER_ACCESS_KEY}:${RANCHER_SECRET_KEY}" "https://${RANCHER_URL}/k8s/clusters/${CLUSTER_ID}/api/v1/namespaces/${NAMESPACE}/services/${SERVICE_NAME}:${PORT}/metrics"
Clé d'API à durée de validité limitée (TTL)¶
À la création d'une clé d'API, il est possible d'en choisir la durée de validité. Cette option, accessible indépendamment pour chaque utilisateur, peut être renforcée afin de garantir une rotation périodique des clés d'API et une durée de validité maximale pour l'ensemble des utilisateurs.
L'activation de cette fonctionnalité invalide automatiquement l'ensemble des clés d'API utilisateur ne respectant pas la durée de validité maximale autorisée. Cette invalidation concerne également les tokens utilisés dans la configuration de l'interface en ligne de commande de Kubernetes (kubeconfig kubectl
).
Une nouvelle configuration kubectl
peut être récupérée depuis l'interface de gestion d'un cluster Kubernetes dans l'UI Rancher (cf. Accéder à un cluster avec kubectl et kubeconfig). Notez que la nouvelle configuration ne contient plus directement le jeton d'authentification utilisé par kubectl
, mais dépend maintenant de l'interface en ligne de commande rancher
. Les jetons d'authentification sont récupérés à l'exécution de la commande kubectl
.
Si vous ne disposez pas encore de la CLI rancher
, les liens des exécutables sont accessibles depuis la partie droite du bandeau inférieur dans l'interface utilisateur.
Si vous souhaitez activer cette fonctionnalité, contactez le support Caascad.
Point d'attention
La durée de validité maximale fixée s'applique à l'ensemble des zones gérées par une même zone d'administration !