Cette page présente le développement Kubernetes dans Cloud Code.
Utiliser l'explorateur Kubernetes dans Cloud Code
L'explorateur Kubernetes vous permet d'accéder aux informations clusters, nœuds, charges de travail et plus encore, directement depuis votre IDE. Vous pouvez aussi définir un contexte actuel, diffuser et consulter les journaux, ouvrir un terminal interactif, et rechercher les descriptions de ressources avec l'API Kubernetes, Explorateur.
Cloud Code utilise le fichier kubeconfig par défaut, situé dans le répertoire $HOME/.kube
sous macOS/Linux ou %USERPROFILE%\.kube
sous Windows, pour récupérer les ressources Kubernetes. Vous pouvez changer ou ajouter des fichiers Kubeconfig depuis l'explorateur Kubernetes. Les fichiers Kubeconfig sont des fichiers YAML
contenant les détails, le certificat et le jeton secret de votre cluster Kubernetes
à s'authentifier auprès du cluster.
Pour utiliser un fichier kubeconfig autre que le fichier kubeconfig par défaut, reportez-vous à la Utiliser les fichiers kubeconfig.
Accéder à l'explorateur Kubernetes
Pour afficher et gérer vos ressources Kubernetes, utilisez l'API Kubernetes Explorer, accessible depuis le panneau latéral sur la droite. Vous pouvez également y accéder via Tools (Outils), Cloud Code (Cloud Code), Kubernetes et View Cluster Explorer (Afficher l'explorateur de cluster).Lorsque vous démarrez une session de développement ou de débogage, la section Sessions de développement affiche la vue structurée de la journalisation.
Actions de base
L'explorateur Kubernetes est fourni par kubectl
. Tant que vous avez
configuré votre fichier de configuration kubectl
pour accéder à vos clusters, vous pouvez utiliser
l'explorateur Kubernetes pour ajouter des clusters, parcourez tous vos clusters disponibles
des espaces de noms, des ressources et des nœuds pour vos clusters, qu'ils se trouvent
le contexte actif ou inactif.
Les actions générales disponibles de l'explorateur Kubernetes, accessibles via leurs icônes dans l'explorateur Kubernetes, sont les suivantes :
- Créer une application Kubernetes à partir d'un exemple
- Actualiser l'explorateur
- Ouvrez le Documentation Kubernetes Cloud Code dans un navigateur Web
Voici d'autres actions de débogage Kubernetes courantes, accessibles via leurs icônes dans l'explorateur Kubernetes :
- Exécutez la la configuration d'exécution/de débogage actuelle.
- Lancez la configuration d'exécution en mode débogage.
- Arrêtez une session de débogage active.
Copier un nom de ressource
Vous pouvez copier n'importe quel nom de ressource Kubernetes dans le presse-papiers (y compris les noms et les noms des clusters). Pour copier un nom de ressource, effectuez un clic droit sur la ressource, puis sélectionnez Copier le nom de la ressource.
Actualiser les ressources
L'explorateur Kubernetes recherche les modifications et s'actualise automatiquement pour refléter les mises à jour. Pour forcer l'actualisation d'une ressource Kubernetes récupérer ses dernières informations, effectuer un clic droit sur la ressource et sélectionner Refresh (Actualiser).
Vous pouvez aussi forcer l'actualisation de l'intégralité de l'explorateur Kubernetes. à l'aide du bouton d'actualisation de l'explorateur Kubernetes ;Décrire les ressources
Pour afficher les détails d'une ressource hors cluster, effectuez un clic droit sur la ressource, puis sélectionnez Describe (Décrire). Les informations sur les ressources sont présentées dans le panneau de la console de l'explorateur Kubernetes.Pour afficher les détails d'une ressource, vous pouvez également cliquer sur n'importe quelle ressource. Si des métadonnées sont associées, elles sont disponibles dans le panneau "Ressource Details" (Détails des ressources) de l'explorateur Kubernetes.
Options Skaffold
- Skaffold configuration (Configuration Skaffold) : sélectionne un fichier de configuration
skaffold.yaml
. Détectée automatiquement si votre projet contient unskaffold.yaml
. - Deployment profile (Profil de déploiement) : permet de sélectionner un profil parmi les options disponibles configurées dans votre fichier
skaffold.yaml
. - Environment variables (Variables d'environnement) : vous permettent de configurer des variables d'environnement supplémentaires à transmettre au processus de déploiement de Skaffold. Les options Skaffold peuvent également être configurées en tant que variables d'environnement à utiliser dans ce champ. Reportez-vous à la documentation de référence de la CLI Skaffold pour obtenir la liste complète des variables d'environnement Skaffold disponibles.
- Verbosité : permet de définir le niveau de verbosité de la sortie sur
trace
,debug
,info
,warn
,error
oufatal
. Le niveau de verbosité par défaut estwarn
.
Options Kubernetes
Le contexte de déploiement représente le contexte Kubernetes dans lequel votre application est déployée. Si le contexte de déploiement n'est pas spécifié, le comportement par défaut est de déployer dans le contexte de votre système actuel, le cas échéant.
Si vous préférez ne pas effectuer de déploiement dans le contexte actuel, dans la section "Déploiement" des paramètres d'exécution/de débogage, vous pouvez choisir l'une des options suivantes :
- Déployer localement sur un cluster Minikube : démarre un cluster Minikube géré par Cloud Code pour exécuter votre application et l'arrêter une fois le déploiement terminé. Si un cluster Minikube est déjà en cours d'exécution, Cloud Code utilise le cluster Minikube existant pour le déploiement.
Changer de contexte et déployer : modifie le contexte actuel de votre système en fonction du contexte spécifié lors du déploiement.
Delete deployments when finished (Supprimer les déploiements lorsque vous avez terminé) : supprime les déploiements Kubernetes lorsque le processus est terminé. Il s'agit du comportement par défaut. Vous pouvez également activer/désactiver ce paramètre pour empêcher la suppression des déploiements.
Personnaliser votre configuration de lancement
Pour configurer l'exécution de votre application, vous pouvez personnaliser votre
skaffold.yaml
.
Afficher le fichier YAML distant
Pour afficher le fichier YAML d'une ressource de votre cluster, directement depuis l'explorateur Kubernetes. Accédez à une ressource dans l'explorateur Kubernetes, telle qu'un pod, faites un clic droit sur le nom de la ressource, puis sélectionnez View Remote YAML (Afficher le fichier YAML distant).Le fichier YAML correspondant à la ressource spécifiée s'ouvre dans un nouvel onglet de l'éditeur.
Voir les journaux
Vous pouvez diffuser et afficher les journaux des ressources Kubernetes dans la console de l'explorateur Kubernetes pour surveiller leur progression.
Une fois que votre application est compilée et qu'elle s'exécute en mode normal ou en mode de développement, vous avez la possibilité de surveiller dans votre IDE les journaux qu'elle diffuse.
Vous pouvez également afficher les journaux d'un service spécifique en accédant à l'explorateur Kubernetes.
Pour sélectionner la ressource dont vous souhaitez afficher les journaux, comme un pod, un déploiement, ou d'un service:
Faites un clic droit sur la ressource, puis sélectionnez Stream Logs (Diffuser les journaux). Vous pouvez également diffuser les journaux de conteneurs individuels s'exécutant dans des pods.
Les journaux sont alors envoyés à la console de l'explorateur Kubernetes.
Pour afficher l'état des ressources de votre déploiement:
États des pods, des déploiements et des nœuds : les libellés de ces ressources Kubernetes sont accompagnés d'un symbole coloré indiquant leur état : échec (rouge), démarrage/arrêt/avertissement (jaune), état opérationnel (vert).
Descriptions des ressources déployées: vous pouvez exécuter une
kubectl describe
sur votre les ressources déployées pour en afficher les détails. Pour ce faire, effectuez un clic droit Décrivez.
Lancer un terminal
Pour les pods et les conteneurs, vous pouvez ouvrir un terminal interactif en effectuant un clic droit sur le pod ou le conteneur, puis en sélectionnant Get terminal (Obtenir un terminal).
Actions spécifiques sur les ressources
L'explorateur Kubernetes affiche les clusters, les espaces de noms, les nœuds, les charges de travail (déploiements, ensembles d'instances dupliquées, pods et conteneurs), les services et les entrées, les configurations (secrets, mappages de configuration, etc.) et le stockage (volumes, etc.). L'explorateur Kubernetes vous permet d'effectuer des actions uniques sur certaines de ces ressources.
Vous pouvez accéder à l'explorateur Kubernetes depuis le panneau latéral ou en suivant le menu Tools > Cloud Code > Kubernetes > View Cluster Explorer (Outils > Cloud Code > Kubernetes > Afficher l'explorateur de cluster).
Pour afficher les détails de vos ressources déployées, effectuez un clic droit sur une étiquette de ressource dans l'explorateur Kubernetes, puis cliquez sur Décrire.
Clusters
- Ajouter un cluster Google Kubernetes Engine : ajoutez un cluster GKE standard ou Autopilot existant ou créez-en un en cliquant sur + Ajouter un cluster GKE dans l'explorateur Kubernetes.
La boîte de dialogue "Ajouter un cluster" s'affiche. Vous pouvez choisir le projet et le cluster. que vous souhaitez utiliser ou créer un cluster.
Une fois l'opération terminée, cliquez sur OK et accédez au cluster choisi et à ses ressources sous-jacentes via l'explorateur Kubernetes.Définir en tant que contexte actif : définissez le cluster spécifié comme actif, de sorte que le contexte
kubectl
que vous avez configuré puisse accéder à ce cluster par défaut.
L'explorateur Kubernetes s'actualise automatiquement et le symbole Kubernetes s'affiche à côté du cluster approprié.
Si plusieurs contextes ont été configurés sur un même cluster, vous pouvez choisir l'un des contextes disponibles et le définir comme actif.
Espaces de noms
Définir en tant que contexte actif : définissez un espace de noms comme actif, de sorte que le contexte
kubectl
que vous avez configuré puisse accéder à cet espace de noms par défaut.
Notez qu'un contexte Kubernetes est un raccourci qui vous donne un accès rapide
à un espace de noms de votre cluster. Les contextes sont normalement créés automatiquement lorsque vous démarrez un cluster Minikube ou GKE. Si vous ne voyez pas l'option Définir en tant que contexte actif pour un espace de noms donné et si vous souhaitez créer un contexte pour celui-ci, utilisez la commande kubectl config set-context
dans votre terminal pour définir un contexte avec le cluster, l'utilisateur et l'espace de noms de votre choix.
Pods
- Afficher les journaux:affichez les journaux d'un pod dans la console de l'explorateur Kubernetes.
Ouvrir le terminal : obtenez un terminal pour un pod dans la console Kubernetes Explorer.
Par ailleurs, les libellés de pods en cours d'exécution sont associés à des marques d'état colorées :
- Rouge : le pod a échoué
- Jaune : le pod démarre ou se termine
- Vert : le pod est opérationnel et en cours d'exécution
Conteneurs
- Afficher les journaux : affichez les journaux d'un conteneur dans la console de l'explorateur Kubernetes.
- Obtenir le terminal:obtenez le terminal d'un conteneur dans la console de l'explorateur Kubernetes.
Déploiements
Afficher les journaux : affichez les journaux à partir d'un déploiement dans la console de l'explorateur Kubernetes.
Les déploiements en direct présentent des marques d'état colorées situées à côté de leurs libellés et du nombre d'instances dupliquées actives/totales :
- Jaune : le déploiement ne présente pas de disponibilité minimale ni de problèmes d'image.
- Vert : le déploiement est opérationnel et sa disponibilité minimale.
Nœuds
Les nœuds de votre cluster sont signalés par des marques d'état colorées situées à côté de leurs noms :
- Jaune : le nœud présente un problème de ressource, au niveau de la mémoire ou de la disponibilité du disque.
- Vert : le nœud est opérationnel.
Définitions de ressources personnalisées
L'explorateur Kubernetes va répertorier toutes les définitions de ressources personnalisées (CRD) installées et disponibles sur votre cluster :
Étape suivante
- Faites vos premiers pas avec Cloud Code for IntelliJ pour Kubernetes par créer et déployer une application Kubernetes à partir d'un exemple de code.
- Utilisez la synchronisation des fichiers et le hot reload pour accélérer le développement.
- Déboguer votre application dans Cloud Code