Jouer avec Kubernetes - service pour une connaissance pratique des K8

Pendant environ un an, nous avons écrit sur un service en ligne intéressant pour l'auto-éducation dans le monde des conteneurs - Play with Docker . Ses auteurs, soutenus par Docker Inc, ne sont pas restés immobiles et ont suivi les tendances que nous observons non seulement dans le «cercle étroit» de Docker, mais aussi dans l'industrie dans son ensemble: ils ont déjà lancé un nouveau service similaire dédié à Kubernetes. Alors, rencontrez Play with Kubernetes (PWK)!


Aire de jeux PWK


PWK répète complètement l'idée (et même l'interface) de son «progéniteur» Play with Docker: son site principal est le «terrain de jeu», qui fournit un navigateur Web avec accès à une machine virtuelle Linux pour expérimenter avec les clusters Kubernetes . En fait, c'est un analogue SaaS gratuit de Minikube avec ses propres commodités (fonctionne directement dans le navigateur) et ses limites (voir ci-dessous).

Techniquement, cela utilise les capacités de la technologie Docker-in-Docker (DIND), qui vous permet d'exécuter des conteneurs Docker à l'intérieur d'autres conteneurs Docker. (Cette approche pour travailler avec Docker n'est pas recommandée dans le cas général, cependant, elle a droit à la vie dans des applications spéciales, telles que le développement de Docker lui-même et des technologies associées.) Versions utilisées du logiciel dans le service:

  • Système d'exploitation "hôte" (sur l'hôte) - CoreOS 7.4.1708,
  • Serveur Kubernetes - 1.8.11,
  • Client Kubernetes - 1.8.14,
  • Docker - 03/18/1-ce.

Pour émuler le terminal dans un navigateur Web, une implémentation JavaScript de xterm.js est toujours proposée, pour laquelle un petit nombre de paramètres sont disponibles (sélection de la taille de police, possibilité d'utiliser des raccourcis clavier depuis macOS). Le premier, c'est-à-dire Familier avec Play with Docker, limitations: pas plus de 4 heures de fonctionnement continu dans une session et pas plus de 5 nœuds de cluster (4 Go de RAM pour chacun).



Si l'entrée de la plate-forme Play with Docker n'est actuellement disponible que par Docker ID, alors dans le cas de Kubernetes, il existe une deuxième option - via un compte sur GitHub.

Le lancement effectif du site principal Play with Kubernetes - le terrain de jeu - s'est déroulé «discrètement et discrètement» l'été dernier, mais en soi, il n'est pas aussi intéressant que les travaux de laboratoire. Et il y a seulement un mois, une annonce publique du premier de ces travaux, disponible sur la ressource Play with Kubernetes Classroom , a eu lieu .

Lab avec Kubernetes


Il était basé sur le travail de Jérôme Petazzoni , qui a consacré 7 ans de sa vie à Docker Inc, où il est passé d'ingénieur SRE à évangéliste et a organisé de nombreux séminaires sur le travail avec des conteneurs et Kubernetes.



Hors sujet intéressant: Pourquoi Jérôme a-t-il quitté Docker?
Jérôme, que vous pouvez également connaître dans le référentiel du DIND déjà mentionné, a commencé son voyage vers Docker avec une petite startup dotCloud en concurrence avec Heroku (~ 2011). En 2013, la société a rejoint Docker Inc et l'auteur, étant SRE, a d'abord fait une présentation sur le thème des conteneurs. Il est devenu un conférencier actif depuis 2014, faisant en moyenne 2 apparitions par semaine.

En 2016, des ateliers réguliers de conteneurs ont été ajoutés à ces performances régulières ... et en même temps, Jérôme s'est rendu compte qu'il avait épuisé ses ressources. En octobre, ses sentiments se sont confirmés en recevant un diagnostic de dépression. Les antidépresseurs et la thérapie ont suivi, conduisant à une amélioration visible. Cependant, à l'été 2017, Jérôme, participant à une étude sur la santé mentale, a réussi le test d'épuisement Maslach Burnout Inventory et s'est retrouvé dans la zone rouge. Après avoir discuté avec des personnes compétentes en la matière, il a pris la décision de faire une pause en 2018, et avant de mettre tout en œuvre pour mettre en œuvre la stratégie Docker visant à soutenir Kubernetes.

«En 2018, je vais me consacrer du temps. J'apprends Rust. J'écris un petit clone d'Ableton [instrument de musique] pour connecter un contrôleur de grille (comme Monome ou LaunchPad) au Raspberry Pi pour jouer de la musique live. Je vais faire une retraite sur la méditation vipassana. J'espère être un mentor pour ceux qui n'ont pas reçu autant de bonheur et de privilèges que moi, et devenir le meilleur allié pour eux. Quitter Docker est la première étape et la plus difficile, mais le chemin à venir s'annonce bien. »

Mais revenons au jeu avec Kubernetes ...

Les travaux de laboratoire proposés dans le service en ligne sont destinés aux débutants et sont consacrés aux concepts et capacités de base de Kubernetes:

  • ce que ce système vous permet généralement de faire: lancer des conteneurs, équilibrer la charge, déployer de nouvelles versions d'images, mettre à l'échelle automatiquement ...;
  • Architecture de Kubernetes
  • Ressources Kubernetes: nœuds, pods, services, espaces de noms, secrets;
  • approche déclarative;
  • Modèle de réseau Kubernetes
  • etc.

L'essentiel est que cette théorie s'appuie sur la pratique, pour laquelle tout a commencé. Dans le cadre de la partie pratique, il est proposé de lancer vos premiers conteneurs et d'apprendre à transférer des ports pour eux, à créer un déploiement et à le dimensionner, à travailler avec des ressources dans YAML, à se familiariser avec les étiquettes et les sélecteurs ... Je ne listerai pas toutes les étapes en détail - il vaut mieux les voir (et essayer) vous-même sur Page de l'atelier pratique de Kubernetes .

Le travail en laboratoire ressemble à tout ce qui était dans Play with Docker: à gauche vous avez une instruction de document (y compris les commandes pour entrer), et à droite il y a un terminal (plus précisément, il y en a deux pour deux nœuds Kubernetes), ce qui permet «Jouez» à l'administrateur du cluster K8 et voyez ce qui se passe réellement et comment. Ce dernier, bien sûr, est facilité par la possibilité d'exécuter des commandes de qualification arbitraires à n'importe quelle étape du travail.



Au lieu d'une conclusion


À l'heure actuelle, un seul laboratoire d'introduction est disponible sur Play with Kubernetes, mais les auteurs promettent d'en créer de nouveaux. Leur développement dans Play with Docker nous permet d'espérer que cela se produira vraiment. Ceux qui souhaitent partager leur expérience peuvent le faire dans un référentiel de projet spécial .

PS


Lisez aussi dans notre blog:

Source: https://habr.com/ru/post/fr415381/


All Articles