Devenir un Jedi Kubernetes avec Alfred Workflows

Tout est une question de productivité.

“Un barista versant du café dans quatre tasses à la fois” par Nathan Dumlao sur Unsplash

Au cours des dernières années ici chez FairFly, nous avons travaillé avec Kubernetes, un excellent outil d’orchestration de conteneurs qui nous aide à gérer tous nos services et déploiements.

Kubernetes est un système open source d'automatisation du déploiement, de la mise à l'échelle et de la gestion d'applications conteneurisées, conçu à l'origine par Google (source: Wikipedia).

Dans cet article, je voudrais expliquer comment nous avons réussi à acquérir la maîtrise et à gérer plus efficacement tous nos actifs kubernetes en utilisant un excellent outil appelé Alfred workflows, que nous utilisons et que nous tenons beaucoup à cœur ici à FairFly. Ceci, et notre passion pour la productivité et l'efficacité, ont conduit notre équipe de R & D vers une ère plus rapide et plus productive.

À partir de maintenant, je suppose que vous connaissez la technologie et que vous avez une expérience intermédiaire.

Dans les âges sombres… il n'y avait que kubectl

Kubernetes vous donne un bel outil CLI nommé: kubectl

Kubectl - Interface de ligne de commande permettant d'exécuter des commandes sur des clusters Kubernetes (à partir de la page de présentation de kubernetes.io kubectl)

Nous nous sommes retrouvés à effectuer diverses tâches quotidiennes avec kubectl, de manière non productive; Cela inclut la visualisation des journaux, l’exécution dans les pods, la surveillance du processus d’initialisation du déploiement, la suppression d’actifs ou simplement la visite de notre tableau de bord Kubernetes.

De plus, kubectl a une saisie semi-automatique, mais sa super lente, la recherche n’est pas assez bonne et il ne fournit pas assez d’informations sur le contexte, tel que combien de pods sont actifs pour le déploiement? quel est son statut? etc.

Par exemple, pour pouvoir récupérer les journaux, la commande kubectl requiert l'utilisation de en tant qu'argument. Maintenant, nous devons trouver le nom du pod que nous voulons soit en tapant $ kubectl get pod ou en utilisant la complétion automatique.

Ce processus est très lent et je devais trouver un moyen de le rendre plus efficace (avais-je mentionné que nous étions des freaks en matière de productivité?). J'ai donc commencé à utiliser des étiquettes qui m'ont aidé à trouver un sous-ensemble de ressources un peu plus rapidement. pas assez vite. Même la navigation dans l’historique bash (CTRL + R) ne répondait pas à mes besoins en efficacité.

Et ensuite ça m'a frappé!

Présentation de Alfred Workflow.

Pour ceux qui ne connaissent pas Alfred, vous êtes en train de passer à côté.
Alfred (solutions de rechange que vous pouvez vérifier: Wox, Hain) est un exécutant de tâches Mac OS qui étend considérablement les possibilités de Spotlight. Vous pouvez donc être plus productif avec des actions personnalisées, par exemple ouvrir des applications, exécuter des scripts et utiliser la plupart des fonctionnalités de votre système d'exploitation. comme vous le désirez être plus rapide que jamais! Et surtout, vous permet de concevoir des flux de travail entièrement personnalisés.

Exemple de flux de travail d'une liste de tâches simples - www.alfredapp.com

Flux de travail Kubernetes Alfred

J'ai décidé de créer un workflow personnalisé pour que la magie opère
(télécharger ici) en construisant un ensemble de commandes qui enveloppent kubectl et fournissent les fonctionnalités de complétion et de recherche qui nous ont tellement manqué. Ces commandes incluent nos opérations quotidiennes les plus courantes telles que la journalisation des résidus, l’exécution dans des conteneurs, etc.

Étape 1 - Configuration rapide

ksetenv - ouvrira un menu pour
- Votre URL de tableau de bord (doit!)
- Votre chemin local kubectl
(par défaut: / usr / local / bin / kubectl)

  • Installez kubetail (must!) - Un script Bash pour extraire les journaux Kubernetes de plusieurs pods en même temps. ($ brew install kubetail)

Étape 2 - Utilisez la force

Une liste des commandes disponibles.kl (journaux)

kl - Récupère les journaux de ressources.
ks - Accédez à n’importe quel shell.
kw - Regardez et décrivez les ressources.
kr - Supprimer les actifs rapidement. Ne vous inquiétez pas, appuyer sur ⏎ ne supprimera rien, vous devrez maintenir les touches SHIFT + pour exécuter.
kre - Supprimer les cosses expulsées.
kd - Aller au tableau de bord.
kds - Explorez vos actifs dans le tableau de bord.

Bonus: Pods DataDog Monitor (commande kdm)

Nous surveillons nos actifs avec DataDog. L’obtention de métriques telles que la mémoire / le processeur prend un certain temps, vous devez accéder à DataDog → Métriques → Explorateur, dans la section Graphique, choisissez toutes les métriques que vous souhaitez afficher, puis choisissez plus de ressources…. c'est frustrant.
Pour cette utilisation spécifique, j'ai créé la commande kdm Alfred, dans laquelle vous choisissez votre ressource dans la liste et obtenez un résumé instantané dans DataDog.

kdm

Explorez les statistiques de vos actifs dans DataDog.

Conclusion

Comme vous l’avez probablement vu, à Fairfly, nous sommes en quelque sorte des maniaques de la productivité! Nous utilisons des flux de travail personnalisés Alfred pour à peu près tout et cherchons constamment à améliorer et à rendre notre travail d'équipe et notre infrastructure meilleurs et plus rapides. J'espère que vous trouverez le temps d'utiliser ce flux de travail. Nous avons créé cette boîte à outils pour vous - c'est GRATUIT.
N'hésitez pas à contacter pour tout commentaire, suggestions de flux de travail et plus à eldar@fairfly.com.