Le 24 novembre s'est terminé Slurm Mega, un cours intensif avancé sur Kubernetes.
L'idée de Slurm Mega : nous regardons sous le capot du cluster, analysons en théorie et pratiquons les subtilités de l'installation et de la configuration d'un cluster prêt pour la production (« la manière pas si simple »), considérons les mécanismes pour assurer la sécurité et la tolérance aux pannes des applications.
Mega Bonus : ceux qui réussissent Slurm Basic et Slurm Mega reçoivent toutes les connaissances nécessaires pour réussir l'examen
Un merci spécial à Selectel pour avoir fourni un cloud pour la pratique, grâce auquel chaque participant a travaillé dans son propre cluster à part entière, et nous n'avons pas eu à ajouter 5 XNUMX supplémentaires au prix du billet pour cela.
Slurm Méga. Premier jour.
Le premier jour de Slurm Mega, nous avons chargé les participants de 4 sujets. Pavel Selivanov a parlé du processus de création d'un cluster de basculement de l'intérieur, du travail de Kubeadm, ainsi que des tests et du dépannage du cluster.
Première pause café. Habituellement, c'est la « cloche du professeur », mais à Slurm, pendant que les élèves boivent du café, les enseignants continuent de répondre aux questions.
Et malgré le fait que le nuage « Break II » plane au-dessus de la tête de Pavel Selivanov, ce n’est pas son destin de faire une pause.
Sergueï Bondarev et Marcel Ibraev attendent leur tour pour monter en chaire.
Pendant la pause, j'ai approché Sergey Bondarev et lui ai demandé : « Quels conseils donneriez-vous à tous les ingénieurs Kubernetes sur la base de votre expérience de travail avec les clusters de nos clients ?
Sergey a donné une recommandation simple : «Bloquez l'accès depuis Internet au serveur API. Parce que de temps en temps, des menaces de sécurité surviennent qui permettent à des utilisateurs non autorisés d'accéder au cluster.»
Après quelques minutes et une bouteille d'eau minérale, Pavel Selivanov s'est lancé dans la bataille avec l'ombre du sujet « Autorisation dans un cluster utilisant un fournisseur externe », à savoir LDAP (Nginx + Python) et OIDC (Dex + Gangway).
Lors de la pause suivante, Marcel Ibraev, Slurm Speaker, Certified Kubernetes Administrator, a donné ses conseils aux ingénieurs Kubernetes : «Je dirai une chose apparemment triviale, mais compte tenu de la fréquence à laquelle je rencontre cela, je soupçonne que tout le monde n’en tient pas compte. Vous ne devriez pas croire aveuglément les tutoriels sur Internet qui vous diront à quel point telle ou telle solution fonctionne. Dans le contexte de Kubernetes, cela prend une signification particulière. Parce que Kubernetes est un système complexe et y ajouter une solution qui n'a pas été testée dans votre projet particulier et l'installation de votre cluster peut avoir des conséquences désastreuses, malgré le fait qu'ils aient écrit sur Internet sur sa fraîcheur. Même Kubernetes lui-même, sans une approche équilibrée, peut nuire à votre projet : « ce qui est bon pour un Russe est la mort pour un Allemand ». Par conséquent, nous testons, vérifions et testons toute solution avant de la mettre en œuvre nous-mêmes. C’est la seule façon de prendre en compte toutes les nuances qui peuvent survenir.».
Après le déjeuner, Sergei Bondarev est entré dans la bataille. Son sujet est la politique de réseau, à savoir une introduction au CNI et à la politique de sécurité du réseau.
Internet regorge d’articles sur la politique de réseau. Il existe une opinion parmi les administrateurs selon laquelle les politiques réseau peuvent être supprimées, mais les spécialistes de la sécurité aiment vraiment cet outil et exigent que les politiques réseau soient activées.
Pavel Selivanov a succédé à Sergey Bondarev à la tête de Kubernetes avec le thème « Applications sécurisées et hautement disponibles dans un cluster ». Il a des sujets favoris : PodSecurityPolicy, PodDisruptionBudget, LimitRange/ResourceQuota.
Le sujet de Mega, dont Pavel a parlé à DevOpsConf :
Après avoir expliqué avec quelle facilité un cluster Kubernetes peut être piraté, les administrateurs sceptiques disent : « Oui, je vous l'ai dit, votre Kubernetes est plein de trous. » Pavel explique qu'il est possible de configurer la sécurité dans un cluster, et ce n'est pas difficile, c'est juste que les paramètres de sécurité sont désactivés par défaut. Détails dans la transcription
— Qui a cassé le cluster ? Il a cassé le cluster ! Je vois parfaitement d'ici !
Chez Slurms, tout n'est jamais simple et facile, pour ne pas s'ennuyer. Mais cette fois, Telegram a décidé de montrer à tout le monde le cinquième point :
Марсель Ибраев, [22 нояб. 2019 г., 16:52:52]:
Коллеги, в данный момент наблюдаются сбои в работе Телеграм, имейте это ввиду
Ceci a conclu la première journée, lumineuse et remplie de connaissances pratiques. Le deuxième jour, il y aura encore plus de pratique, lancer un cluster de bases de données en utilisant PostgreSQL comme exemple, lancer un cluster RabbitMQ, gérer les secrets dans Kubernetes.
Slurm Méga. Deuxième jour.
Le présentateur a commencé la deuxième journée par une joyeuse annonce : « Le matin, comme l'a dit Pavel hier, du vrai hardcore nous attend. Dans le langage des chirurgiens, on entrera dans les entrailles de Kubernetes !
L’artiste de masse est une autre histoire. L'un des problèmes de Slurm est que les gens se déconnectent de la surcharge d'informations et s'endorment. Nous cherchions toujours un moyen de faire quelque chose, et les petits jeux avec un public ont bien fonctionné lors du dernier Slurm. Cette fois, nous avons embauché une personne spécialement formée. Il y a eu beaucoup de blagues dans le chat sur les « compétitions intéressantes », mais il n'en reste pas moins que nous n'avons jamais vu de participants aussi joyeux.
Ils sont venus à la rescousse de Marcel Ibraev - et il a commencé à étudier les applications Stateful dans le cluster. À savoir, lancer un cluster de bases de données en utilisant PostgreSQL comme exemple et lancer un cluster RabbitMQ.
Après le déjeuner, Sergey Bondarev a commencé à travailler sur K8S. Et le thème était « Garder des secrets ». Mulder et Scully l'ont couvert. A étudié la gestion des secrets dans Kubernetes et Vault. Et aussi « La vérité est là-bas ».
Ce qui s'est poursuivi jusque tard dans la soirée, lorsque Pavel Selivanov a commencé à parler du Horizontal Pod Autoscaler.
Slurm Méga. Le troisième jour.
D'un ton vif et joyeux, dès le matin, Sergei Bondarev a excité le public avec des sauvegardes et des récupérations après des pannes. J'ai vérifié personnellement la sauvegarde et la récupération du cluster à l'aide de Heptio Velero et etcd.
Sergey a poursuivi le sujet de la rotation annuelle des certificats dans le cluster : renouvellement des certificats du plan de contrôle à l'aide de kubeadm. Juste avant le déjeuner, afin de mettre en appétit les participants ou de le tuer complètement, Pavel Selivanov a évoqué le thème du déploiement de l'application.
Des outils de création de modèles et de déploiement ont été pris en compte, ainsi que des stratégies de déploiement.
Pavel Selivanov a abordé un nouveau sujet : Service Mesh, installation d'Istio. Le sujet s'est avéré si riche que vous pouvez y suivre un cours intensif séparé. Nous discutons des plans, restez à l'écoute des annonces.
L'essentiel est que tout fonctionne correctement. Parce qu'il est temps de pratiquer :
créer CI/CD pour lancer simultanément le déploiement d’applications et la mise à jour du cluster. Dans les projets éducatifs, tout fonctionne bien. Et la vie est parfois pleine de surprises.
Que le Slurm soit avec vous !
Source: habr.com