Comment utiliser Kubectl Dry Run

Comment utiliser Kubectl Dry Run
La gestion de la formation déclarative, également appelée configuration en tant que code, est la force principale de Kubernetes. Cela offre aux utilisateurs de définir l'état préféré du cluster, de donner un chemin vers différentes formes et d'améliorer l'audit et la mécanisation sur le pipeline. Il peut s'agir de «serveur» ou de «client». L'approche du client imprime simplement les éléments dirigés sans les diriger. La stratégie du serveur consiste à diriger les exigences côté serveur sans conserver des ressources. Il y a encore quelques lacunes dans la réalisation d'une pratique déclarative continue avec Kubernetes. Le compilateur et le linter identifient correctement les défaillances de la demande de traction de code mais manquent de validation appropriée du dossier de configuration de Kubernetes. La solution actuelle consiste à exécuter la commande `` Kubectl Appliquer Dry Run '', qui exécute une exécution à sec locale et ne communique pas avec le serveur. Il n'y a pas d'authentification du serveur, et il ne peut pas passer par le contrôleur d'accès de validation. Par exemple, les noms des ressources des clients sont d'abord confirmés sur le serveur, donc l'exécution de la course à sec locale est inutile. Savoir comment un objet est utilisé par un serveur peut être difficile pour plusieurs raisons.

Conditions préalables:

Pour exécuter les commandes à Kubernetes, nous devons installer Ubuntu 20.04. Ici, nous utilisons le système d'exploitation Linux pour exécuter les commandes kubectl. Maintenant, nous installons le cluster Minikube pour exécuter Kubernetes dans Linux. Minikube offre une compréhension extrêmement fluide car elle fournit un mode efficace pour tester les commandes et les applications.

Voyons comment utiliser Kubectl Dry Run:

Commencez Minikube:

Après avoir installé le cluster Minikube, nous commençons l'Ubuntu 20.04. Nous devons maintenant ouvrir un terminal pour exécuter les commandes. À cette fin, nous appuyons sur la combinaison de 'Ctrl + Alt + T' du clavier.

Dans le terminal, nous écrivons la commande `` Minikube Start '', et après cela, nous attendons un peu jusqu'à ce qu'il commence efficacement. La sortie de cette commande est donnée en dessous.

Lors de la mise à jour d'un élément actuel, Kubectl s'applique envoie uniquement le patch, pas l'objet complet. L'impression de tout élément actuel ou d'origine en mode à sec n'est pas complètement correct. Le résultat de la combinaison serait imprimé.

La logique d'application côté serveur doit être disponible sur le côté client pour que Kubectl soit capable d'imiter exactement les résultats de l'application, mais ce n'est pas l'objectif.

L'effort existant est axé sur l'affectation de la logique des applications au serveur. Après là, nous avons ajouté la possibilité de faire du sèche au côté du serveur. Kubectl applique à sec fait le travail nécessaire en produisant le résultat de la fusion appliquée privée de le maintenir réellement.

Peut-être que nous améliorons l'aide du drapeau, émettons un avis si la course à sec est utilisée lors de l'évaluation des articles à l'aide de l'application, documentez les limites de la course à sec et utilise le serveur à sec.

Le diff kubectl doit être le même que le kubectl s'applique. Il montre les différences entre les sources du fichier. Nous pouvons également utiliser le programme DIFF sélectionné avec la variable d'environnement.

Lorsque nous utilisons le kubectl pour appliquer le service à un cluster à sec, le résultat apparaît comme la forme du service, pas la sortie d'un dossier. Le contenu retourné doit comprendre des ressources locales.

Construisez un fichier YAML à l'aide du service annoté et reliez-le au serveur. Modifiez les notes dans le fichier et exécutez la commande 'kubectl applique -f -Dry-run = client'. La sortie affiche des observations côté serveur au lieu d'annotations modifiées. Cela authentifiera le fichier yaml mais ne le construisera pas. Le compte que nous utilisons pour la validation a l'autorisation de lecture demandée.

Ceci est une instance où -Dry-run = le client n'est pas approprié pour ce que nous testons. Et cette condition particulière est souvent observée lorsque plusieurs personnes ont un accès au CLI à un cluster. En effet.

Cette commande kubectl offre une brève observation des ressources enregistrées par le serveur API. De nombreux champs sont sauvés et cachés par Apeserver. Nous pouvons utiliser la commande par le résultat des ressources pour générer nos formations et nos commandes. Par exemple, il est difficile de découvrir un problème dans un cluster avec de nombreux espaces de noms et placements; Cependant, l'instance suivante utilise l'API brute pour tester toutes les distributions dans le cluster et a une réplique ratée. Filtre simplement le déploiement.

Nous exécutons la commande 'sudo snap installer kube-apiserver' pour installer un apicherver.

Le piste sec côté serveur est activé via des portes fonctionnelles. Cette fonction était assistée par défaut; Cependant, nous pouvons l'activer / le désactiver en utilisant la commande «« Kube-apiserver -feature-gates dryrun = true ».

Si nous utilisons un contrôleur d'accès dynamique, nous devons le réparer de la manière suivante:

  • Nous éliminons tous les effets secondaires après avoir spécifié les contraintes à sec dans une demande de webhook.
  • Nous indiquons le champ d'effets personnels de l'article pour spécifier que l'élément n'a aucun effet secondaire pendant la course à sec.

Conclusion:

Le rôle demandé dépend du module d'autorisation qui consent à la course à sec dans le compte pour imiter la formation d'un article de Kubernetes sans contourner le rôle à considérer.

Ceci est certainement en dehors de la description du rôle actuel. Comme nous le savons, rien n'est formé / supprimé / corrigé lors de l'exécution de la commission concernant les actions effectuées dans le cluster. Cependant, nous permettons également à cela de distinguer entre -Dry-run = Server et -Dry-run = pas de sortie pour les comptes. Nous pouvons utiliser le kubectl appliquer -server-run-run pour activer une fonction de kubectl. Cela élaborera la demande à travers le drapeau à sec et la réapparition de l'article.