Intégration Kubernetes

Kubernetes est un moteur d'orchestration de conteneurs en Open source dédié à l'automatisation du déploiement, de la mise à l'échelle et de la gestion des applications en conteneurs.

Avec le plug-in de fournisseur cloud Kubernetes, vous pouvez facilement intégrer des écosystèmes de cloud publics ou privés qui sont accessibles par le biais de l'API Kubernetes (par exemple, AWS, Azure ou Google Cloud).

Le profil de fournisseur cloud Kubernetes vous permet d'indiquer une liste d'images que vous pourrez sélectionner pour les serveurs d'exécution virtuels basés sur Kubernetes. Lorsque vous assignez un serveur d'exécution à une exécution Silk Central, un nouveau pod Kubernetes (basé sur l'image sélectionnée) est déployé, puis il lance l'exécution avant d'être supprimé.

Proxy requis dans Kubernetes

Au préalable, vous devez démarrer un proxy HTTP qui prend en charge la méthode HTTP CONNECT (tunnel SSL) au sein de l'environnement cloud Kubernetes. Ce proxy permet de garantir qu'un seul et unique port public est exposé au service cloud distant pour la connexion avec Silk Central, afin de transmettre par tunnel le trafic chiffré entre Silk Central et les serveurs d'exécution hébergés sur Kubernetes. Assurez-vous de configurer le proxy en tant que Proxy d'emplacement (de préférence) ou en tant que Proxy système dans Silk Central. Pour plus d'informations, reportez-vous aux rubriques Configuration d'un proxy système et Modification d'emplacements. Nous vous suggérons de spécifier un proxy d'emplacement et de créer les serveurs d'exécution virtuels basés sur Kubernetes à cet emplacement.

Remarque : Contrairement aux serveurs d'exécution physiques, il n'est pas nécessaire de modifier la configuration du port du serveur d'exécution pour l'image. Lorsque vous générez l'image à l'aide du Package d'images Docker, le port sécurisé est toujours 19125. Silk Central crée un service Kubernetes de type ClusterIP pour chaque serveur d'exécution qui écoute le port 443 et transmet le trafic au port 19125.

Démarrage d'un modèle de proxy dans Kubernetes

Silk Central est livré avec un fichier batch qui vous permet de démarrer un modèle de proxy dans Kubernetes.

Pour utiliser le fichier batch, téléchargez le Package d'images Docker à partir du menu Outils dans Silk Central. Extrayez le package et double-cliquez sur le fichier kubernetesStartTinyProxy.cmd. Le fichier batch déploie un pod nommé tinyproxy avec une image tinyproxy. Pour plus d'informations, consultez la page https://tinyproxy.github.io/.

Remarque : Il s'agit simplement d'un modèle de proxy. Le proxy réellement utilisé ne fait pas partie de l'intégration Silk Central Kubernetes. Vous pouvez utiliser n'importe quel proxy prenant en charge HTTP CONNECT. À des fins de démonstration, le modèle ne restreint pas l'accès au proxy. Assurez-vous de configurer soigneusement le proxy utilisé en fonction de vos besoins en matière de sécurité, par exemple en restreignant les adresses IP des clients et en autorisant uniquement les connexions au port 443.

Le modèle de fichier batch applique également le fichier tinyproxy-service.yaml afin de créer un service Kubernetes nommé tinyproxyservice de type NodePort. Le service crée un port public 30888 sur ce nœud qui assure le transfert vers le port réel du proxy 8888. Cela signifie que vous devez spécifier le port 30888 dans Silk Central pour accéder au proxy. Il se peut que vous deviez ajuster le type de service en fonction de votre infrastructure Kubernetes.

Génération d'une image Docker sécurisée du serveur d'exécution

Pour générer une image Docker, téléchargez le Package d'images Docker à partir du menu Outils dans Silk Central et extrayez-le. Ouvrez une invite de commande, accédez au répertoire du package et saisissez la commande suivante :

docker build -t silkcentral-execserver:21.0

Cette commande génère l'image Docker silkcentral-execserver:21.0 pour Linux (en utilisant le fichier Dockerfile par défaut) dans le référentiel Docker local. Pour générer une image pour un conteneur Windows, utilisez le fichier Dockerfile-Windows.