Bbabo NET

Sciences & Technologie Actualités

Nous avons déployé la plateforme Deckhouse sur un nœud avec Astra Linux

Astra Linux est un système d'exploitation spécial russe, dont la version actuelle est basée sur Debian 10.0 (Buster). En particulier, cet OS est utilisé par les autorités publiques, les services publics et les entreprises publiques. Astra Linux est inclus dans le registre unifié des logiciels russes, certifié par le FSTEC, et Astra Linux Special Edition répond également aux exigences de protection de toute information restreinte : données personnelles, informations confidentielles et secrets d'État d'une importance particulière.

Nos clients demandent de plus en plus si la plate-forme Deckhouse est adaptée à la substitution des importations. Cela nous a incités à contacter l'équipe Astra Linux pour discuter de collaboration.

Tout d'abord, il était nécessaire de comprendre quelles limitations pouvaient survenir lors de l'exécution de Deckhouse sur une machine virtuelle avec Astra Linux. Nous avons pris une version assez ancienne et répandue d'Astra Linux Common Edition 2.12.43, qui est basée sur Debian 9.

Lancer une VM sur Astra Linux

Pour les expérimentations internes, nous utilisons OpenStack comme un cloud. Astra Linux a une image spéciale - cloud-init orel-vanilla-2.12.43-cloud-mg6.0.0 - qui est disponible au format qcow. Nous l'avons téléchargé sur OpenStack et cela a fonctionné :

image openstack créer --public --disk-format qcow2 --file ~/Downloads/orel-vanilla-2.12.43-cloud-mg6.0.0.qcow2 orel-vanilla-2.12.43-cloud

Ensuite, nous avons décidé d'ajouter une machine virtuelle sur Astra Linux au cluster existant en tant que nœud de travail.

Ajouter une VM au cluster

Je dirai tout de suite qu'Orel a décollé, mais pour cela nous avons dû résoudre trois problèmes.

Manque de support Debian dans Deckhouse. Astra Linux est basé sur Debian, mais Deckhouse ne fonctionne officiellement qu'avec Ubuntu et CentOS jusqu'à présent. Nous nous sommes immédiatement souvenus du problème correspondant - et avons décidé d'ajouter définitivement le support Debian dans le cadre de la future intégration avec Astra Linux.

Cette fois, nous avons ajouté la machine virtuelle en tant que nœud statique et l'avons lancée dans l'espoir que tout fonctionnera sur Ubuntu (qui est basé sur Debian). Et tout a fonctionné ... même si j'ai dû taper un peu sur les roues et frapper avec un marteau - plus de détails ci-dessous.

Aucun suivi de colis. Kubernetes contient des instructions sur la façon d'installer kubelet sur une distribution Debian. Mais les dépendances nécessitent le package conntrack, qui n'était pas dans la distribution Astra Linux. J'ai dû installer kubelet en tant que binaire (voir la section Sans gestionnaire de paquets).

Ancienne version de nginx. Nous utilisons nginx pour envoyer par proxy les requêtes des nœuds à kube-api-server. Au moment de l'expérience, le référentiel de packages Astra Linux ne contenait que la version 1.14 de nginx, qui n'a pas le module ngx_stream_module. Par conséquent, j'ai dû corriger la configuration de proxy générée automatiquement et connecter le module dynamiquement via load_module /usr/lib/nginx/modules/ngx_stream_module.so.

Dans le même temps, la nouvelle version d'Astra Linux Special Edition contient déjà tous les packages et composants nécessaires - à la fois conntrack et le nouveau nginx.

Sur la base des résultats des tests de charge et fonctionnels, aucun problème n'a été identifié.

Conclusion

Grâce à l'expérience, nous nous sommes assurés que Deckhouse n'a pas de limitations sérieuses pour une prise en charge complète des versions encore plus anciennes d'Astra Linux. Il faudra un peu de raffinement uniquement côté plateforme.

Avec des collègues d'Astra Linux Group, nous continuerons à travailler sur la compatibilité Deckhouse et OS.

P.S.

Lire aussi sur notre blog :

« Deckhouse de la plate-forme Kubernetes est inscrit au registre unifié des logiciels russes » ;

"Comment passer de GKE à Deckhouse sans même que les développeurs s'en aperçoivent. cas robota.ua » ;

Rouf v1.28.0. Fonctionnalités clés de la nouvelle version de la plateforme Kubernetes.

Nous avons déployé la plateforme Deckhouse sur un nœud avec Astra Linux