Nous avons une configuration d'essaim de docker sur quatre machines aws ec2 ubuntu. Deux d'entre eux agissant en tant que gérants.

Maintenant, au lieu de nous gérer nous-mêmes, nous voulons effectuer un portage vers un service géré comme aks/eks pour kubernetes.

Je n'en ai pas trouvé jusqu'à présent, alors j'ai pensé à migrer nos charges de travail vers kubernetes.

Dans le cadre de cela, nous exécutons la commande de service docker pour différentes bases de données afin que chaque fois qu'une base de données de test est requise (postgres, oracle, mysql, etc.), nous exécutons une commande dans docker swarm pour créer un service et nous obtenons un port aléatoire que nous connectez-vous en utilisant l'adresse IP publique du gestionnaire.

Exemple:

pour postgres :

docker service create --name postgres_31 -p target=5432 -e POSTGRES_PASSWORD=mysecretpassword -e POSTGRES_USER=admin -e POSTGRES_DB=testdb -d postgres:9.6.18

Ce qui précède créera un port aléatoire pour postgres pour le port 5432

comme ci-dessous, il a généré 30048

Ainsi, l'utilisateur se connecte avec l'adresse IP publique du nœud de gestionnaire et le port 30048 qui redirigera vers le port 5432 de la base de données.

docker service ls
p45fazswicxc        postgres_31         replicated          1/1                 postgres:13                                  *:30048->5432/tcp

De cette façon, nous avions l'habitude de créer plusieurs bases de données de postgres (ou d'autres bases de données) sur swarm (à des fins de test pour l'équipe de développement).

Comment répliquer cet environnement sur kubernetes ?

Dans kubernetes, il semble qu'il génère une adresse IP publique distincte pour le service de type équilibreur de charge pour chaque déploiement, mais nous en avons besoin d'une seule. J'ai pensé à garder un équilibreur de charge azur à l'extérieur et à tout rediriger, mais la configuration est pour http uniquement, je suppose et ne peut être que pour un seul port et non avec plusieurs ports aléatoires, corrigez-moi si je me trompe.

no answer