Recherche de site Web

Créez une plateforme de développement avec Cyclops et Kubernetes


Introduction

Kubernetes peut être complexe à gérer, mais avec Cyclops, vous pouvez déployer des applications sur Kubernetes en quelques clics. Cyclops fait abstraction de la complexité de Kubernetes, en offrant une expérience utilisateur fiable et personnalisable à vos développeurs.

L’exécution de Cyclops sur DigitalOcean Managed Kubernetes offre plusieurs avantages. Vous pouvez gérer vos applications, vos bases de données et votre réseau, ce qui fait de Cyclops et Kubernetes les seuls outils dont vos développeurs ont besoin pour livrer des applications et des produits.

Dans ce tutoriel, vous allez :

  • Créez un cluster Kubernetes sur DigitalOcean.
  • Configurez Cyclope.
  • Déployer une application via Cyclops.
  • Provisionnez une base de données et connectez-y votre application.

Une fois que vous aurez terminé le tutoriel, vous aurez créé une plate-forme de développement où vos développeurs peuvent déployer des applications et provisionner des bases de données sans avoir à gérer Kubernetes et le cloud. Vous pouvez également étendre Cyclops avec vos propres modèles pour couvrir davantage de cas d’utilisation spécifiques à vos applications et à votre organisation.

Conditions préalables

Pour réaliser ce tutoriel, vous aurez besoin de :

  • kubectl pour gérer votre cluster Kubernetes.
  • Compte DigitalOcean avec cluster Kubernetes déployé.

Étape 1 - Créer un cluster Kubernetes

Pour créer un cluster Kubernetes sur DigitalOcean, rendez-vous sur https://cloud.linux-console.net/kubernetes/clusters/new.

Vous pouvez suivre les étapes de ce guide sur la configuration d’un cluster Kubernetes sur DigitalOcean.

Ici, vous pouvez configurer la région, la version de votre cluster et le nombre de nœuds dont vous aurez besoin. Vous pouvez laisser toutes les options par défaut.

Avant de cliquer sur le bouton Créer un cluster, assurez-vous de cocher l’option Ajouter un opérateur de base de données afin de pouvoir déployer des bases de données plus tard dans le tutoriel.

Vous pouvez ajouter un nom spécial à votre cluster Kubernetes, puis cliquer sur Créer un cluster et lui donner quelques minutes jusqu’à ce que le cluster Kubernetes soit complètement opérationnel.

Étape 2 - Installer Cyclops dans votre cluster

Maintenant que votre cluster Kubernetes est opérationnel sur DigitalOcean, vous pouvez l’inspecter en cliquant dessus dans la liste des clusters Kubernetes.

Cyclops fait partie de la place de marché Kubernetes de DigitalOcean, vous pouvez donc l’installer en allant dans l’onglet Marketplace et en recherchant Cyclops. Vous pouvez l’installer en cliquant simplement sur le bouton d’installation, et tout ce dont Cyclops a besoin sera installé dans votre cluster Kubernetes.

Pour accéder à l’interface utilisateur de Cyclops, vous devez l’exposer en dehors du cluster. Pour ce faire, vous devrez télécharger le fichier de configuration à partir de l’onglet Vue d’ensemble en cliquant sur le bouton Télécharger le fichier de configuration.

Après avoir téléchargé le fichier kubeconfig, vous pouvez configurer votre kubectl pour qu’il accède à votre cluster DO en définissant la variable d’environnement KUBECONFIG pour qu’elle pointe vers votre fichier kubeconfig :

export KUBECONFIG=~/Downloads/<name of your cluster>-kubeconfig.yaml  

Vous pouvez maintenant vérifier si Cyclops s’exécute comme prévu dans votre cluster. Vous pouvez le faire avec la commande suivante :

kubectl get pods -n cyclops  

Qui aura un résultat similaire à ceci :

[secondary_label Output]  
NAME                            READY   STATUS    RESTARTS   AGE  
cyclops-ctrl-5b8bf97fc8-mh6vw   1/1     Running   0          144m  
cyclops-ui-64c4cdd7f7-mzgqh     1/1     Running   0          144m  

Une fois que les deux pods sont en cours d’exécution, vous pouvez transférer le port Cyclops pour y accéder :

kubectl port-forward svc/cyclops-ui 3000:3000 -n cyclops  

Cyclope est maintenant disponible sur http://localhost:3000/.

Étape 3 - Déployer une application

Une fois que votre Cyclops est prêt, vous pouvez déployer une toute nouvelle application en l’utilisant. Lorsque vous ouvrez Cyclops (http://localhost:3000/), vous pouvez créer une nouvelle application en cliquant sur le bouton Ajouter un module.

Ici, vous pouvez choisir parmi quelques modèles à partir desquels créer vos applications. Vous pouvez ajouter vos propres modèles pour couvrir vos cas d’utilisation quand vous le souhaitez. Vous pouvez en savoir plus sur la façon de procéder dans cette documentation officielle sur les modèles Cyclope.

Pour les besoins de la démo, vous pouvez utiliser le modèle d’application, qui est livré avec quelques champs avec lesquels vous pouvez jouer :

  • Général - vous pouvez définir l’image Docker que vous souhaitez exécuter et les variables env
  • Mise à l’échelle : définissez le nombre d’instances de vos applications et le nombre de ressources dont vous avez besoin
  • Mise en réseau : configurez le mode d’accès à votre application

Comme le montre l’image ci-dessus, vous pouvez définir Exposer sur externe, ce qui exposera votre application afin que vous puissiez y accéder en dehors de votre cluster Kubernetes.

Vous pouvez maintenant cliquer sur Déployer pour donner vie à votre application.

Après quelques minutes, votre application est opérationnelle, et si vous vérifiez votre service, vous trouverez une adresse IP où vous pouvez accéder à votre application (si l’adresse IP externe indique en attente, donnez-lui une minute pour créer un équilibreur de charge). Copiez l’adresse IP et collez-la dans votre navigateur.

Sans entrer dans les subtilités de Kubernetes ou de DigitalOcean, vous exécutez désormais une application sur Kubernetes à laquelle tout le monde peut accéder, et vous pouvez simplement la faire évoluer, la mettre à jour ou la gérer comme vous le souhaitez.

Étape 4 - Provisionner une base de données

Si vous développez une application, il est probable que celle-ci ait besoin d’un espace de stockage. DigitalOcean fournit un tas de bases de données gérées que vous pouvez utiliser.

Vous pouvez créer une nouvelle application sur DigitalOcean et y connecter votre application, le tout depuis l’interface utilisateur de Cyclops.

De la même manière que vous avez créé votre première application dans Cyclops, vous pouvez provisionner une base de données. Parmi les modèles, choisissez le modèle mysql, qui est spécialement conçu pour l’opérateur de base de données DigitalOcean.

Une fois que vous avez sélectionné la taille de la base de données et sa région, vous pouvez cliquer sur Déployer.

Vous pouvez maintenant voir votre nouvelle base de données dans Cyclops, ainsi que dans DigitalOcean, à https://cloud.linux-console.net/databases.

En général, vous devez maintenant déterminer les informations d’identification de votre base de données et vous assurer que votre application peut y accéder. Cependant, l’opérateur de base de données de DigitalOcean a stocké toutes ces informations dans votre cluster Kubernetes, et le modèle que vous avez utilisé pour l’application de démonstration peut réutiliser ces données pour vous connecter à votre base de données sans que vous ayez à gérer manuellement les secrets.

Le modèle d’application que vous avez utilisé montera toutes les informations d’identification de la base de données dans votre application via des variables d’environnement que vous pouvez utiliser dans votre code pour accéder à la base de données. La seule chose que vous devez faire est d’indiquer à Cyclops à quelle base de données vous connecter.

Vous devez ouvrir votre application my-demo dans Cyclops et cliquer sur Modifier. Il vous suffit de remplir les données de connexion MySQL avec le nom de votre instance MySQL et la base de données à laquelle vous souhaitez vous connecter (defaultdb est créé automatiquement).

Lorsque vous appuyez sur Déployer, toutes les informations d’identification de votre application sont renseignées via des variables d’environnement et votre application peut accéder à la base de données que vous venez de créer.

Vous pouvez le vérifier vous-même en affichant le déploiement de Kubernetes via Cyclops et en cliquant sur Afficher le manifeste. Une fenêtre contextuelle s’affiche avec votre configuration de déploiement, contenant désormais les variables d’environnement suivantes :

Pas de secrets pour manipuler ou copier-coller des choses ; laissez cela à DigitalOcean, Kubernetes et Cyclops.

Tous ces modèles peuvent être étendus pour prendre en charge d’autres bases de données ou d’autres types d’applications. C’est à vous de décider. Ce tutoriel montre comment Cyclops combiné aux opérateurs Kubernetes peut faire des développeurs des utilisateurs expérimentés lorsqu’il s’agit de déployer sans les faire embarquer dans une tonne de nouvelles technologies.

Nettoyer

Pour supprimer toutes les ressources, vous devez supprimer le cluster Kubernetes, la base de données gérée et l’équilibreur de charge si vous avez exposé votre application en dehors du cluster.

Suis-je un ingénieur de plateforme maintenant ?

Avec la configuration que vous venez de créer, vous avez créé un squelette de plate-forme de développement. Vous avez activé le libre-service pour d’autres développeurs afin qu’ils puissent provisionner des ressources et déployer des applications par eux-mêmes pour accélérer leur progression.

Vous pouvez désormais étendre ce concept en créant plus de modèles pour différents cas d’utilisation pour vos équipes et en jouant avec différents opérateurs Kubernetes pour obtenir plus de flexibilité.

Cyclops est open-source, alors n’hésitez pas à consulter son dépôt GitHub et à laisser une étoile ! ⭐