La version linux de SQL Server 2017 et MongoDB dans ACS Kubernetes

La version linux de SQL Server 2017 et MongoDB dans ACS Kubernetes

Karim

SQL Server 2017 a donc été officiellement lancé dans Linux et disponible sous forme d'image Docker. Dès lors, on en sait plus sur la manière dont SQL Server a été porté dans Linux via notamment le projet Drawbridge comme le mentionne cet article => https://techcrunch.com/2017/07/17/how-microsoft-brought-sql-server-to-linux/


Je pars donc d'un cluster Kubernetes dans Azure avec 1 noeud Master et 2 noeuds Minions en gabarit DS11_V2 :


Et je lance un POD avec l'image officielle de SQL Server créée par Microsoft depuis le Docker Hub :


Je peux rentrer dans le POD avec le container en exécution pour effectuer une première requête en Transact-SQL avec ici la création d'une base TestDB :


Et je peux créer une table avec des valeurs test :

Biensûr il est possible d'exposer ce SQL Server à l'extérieur du cluster Kubernetes via le service de load balancing fourni dans Azure Container Services :

Et je peux vérifier que le port d'accès 1433 du SQL Server est accessible depuis internet via l'adresse IP publique fournie :

Depuis une instance Ubuntu en exécution dans Cloudwatt j'installe le client SQLCMD :

Et je lance une requête depuis cette instance externe vers le container SQL Server en exécution dans le cluster Kubernetes :

Ca fonctionne ...

Apparemment, la communauté développe un chartpour Helm et faciliter l'installation du SQL Server avec les Secrets et les volumes persistants. Comme l'a déjà fait Bitnami avec MongoDB :

Je lance donc un POD MongoDB dans le cluster Kubernetes via le fichier YAML fourni sur le dépôt github de Bitnami :

Comme précedemment, j'expose un service MongoDB accessible depuis Internet via le service de load balancing fourni dans le cluster Kubernetes (Ingress Controller) :

Et là encore, le serveur MongoDB avec son volume persistant est accessible :


A tester avec un client Robo 3T (robomongo) par exemple. Cosmos DB pourrait être invoqué par un service en exécution dans Kubernetes moyennant l'installation de Secret dans Kubernetes comme le montre cet exemple d'IBM : https://www.ibm.com/blogs/bluemix/2017/07/securely-access-mongodb-spring-boot-app-running-bluemix-kubernetes-using-kubernetes-secrets/


A suivre ! ...





Report Page