Déployer un POD sur podman
Dans le cadre de la normalisation des containers , l'initiative Open Container Initiative OCI est née
bye bye Docker 😥
Depuis plus d’une année Red Hat a décidé d’abondoner l’utilisation de Docker comme container engine
|
|
Nous recommandons à nos clients de migrer leur environement de développement vers podman pour un ensemble de raisons que nous avons bien détaillées dans l’article from docker to podman
découvrir les POD sur podman
le concepte de POD a été introduit par Kubernetes il s’agit d’un ensemble de container qui se partage :
- cgroups v2
limite ce que peux utilisé les containers comme ressource
- namespace
limite ce que peux voir les containers comme ressource
- l’ensemble des containers rootless du même POD peuvent voir la même ressource réseau (plus besoin de map de port 😉 entre container du même POD)
en d’autre terme, imaginez que vous avez besoin d’une application trois tiers (3 tiers apps) :
il est préférable de regrouper l’ensemble des containers qui constitue la même applications dans le même POD pour une meilleure gestion
Nextcloud : gouvernance et souveraineté
Prenant en example, la solution la plus déployées dans le monde Nextcloud , une solution déployer en private on-premise cloud dont les entreprises ont choisit pour :
- partage de fichier
- collaboration sur les fichiers en temps réel
- accès depuis plusieurs device (ordinateur, tablette, mobile)
- envoie/reception d’email
- chat vidéo
- …
Nextcloud permet aux entreprises d’avoir une meilleure gouvernance et une souveraineté total sur les fichiers les plus sensibles de l’entreprise, en évitant de passer par des applications tiers qui nécessites le passage par des serveurs externe de l’entreprises. avec Nextcloud tout les fichiers restent à l’interrieur de l’entreprise.
Revenons à notre POD, Nextcloud est un excellent exemple d’une solution 3-tiers
création d’un POD
nous allons procéder à la création d’un POD sur lequel nous allons déployer la solution Nextcloud.
on nomera ce POD cloud-formini :
|
|
dans cet example, en utilisera depuis l’extérieur le port 9999
pour accèder à notre application
|
|
afin de déployer la solution Nextcloud , il nous faut 3 containers :
création du container PostgreSQL
préparons la première couche de notre application, à savoir un SGBD open source :
j’ai nomé PostgreSQL
nous allons créer un container qui va héberger la base de donnée de la solution Nextcloud :
|
|
- db: nextcloud_db
- db_user: nextcloud
- db_password: formini
création du container redis
Afin d’optimiser les performances de la solution Nextcloud , nous allons utiliser redis pour:
- Mise en cache des objets régulièrement sollicitées , en les stockant en mémoire RAM, évitant ainsi de passer par la base de donnée de Nextcloud nextcloud_db
- transactional file locking : pour faire simple, une couche de protection contre la corruption des fichiers
nous allons créer un container redis dans notre deuxième couche de notre application :
|
|
création du conteiner Nextcloud
Enfin arrivé à la troisième couche de notre application Nextcloud
nous allons créer un container Nextcloud
|
|
- NEXTCLOUD_TRUSTED_DOMAINS représente l'adresse IP du host podman
dans mon cas, l’adresse IP de CentOS 8 ( voir article installation de podman )
par défaut, Nextcloud est accessible seulement depuislocalhost
- NEXTCLOUD_ADMIN_USER: nextcloud
- NEXTCLOUD_ADMIN_PASSWORD: formini
|
|
Bravo! votre POD Nextcloud est prêt
|
|
ouverture du port externe
sur notre host podman, il faudra ouvrir le port 9999
du POD afin d’y acceder depuis l'exterieur
|
|
Désormais la solution Nextcloud est accessible depuis le réseau local de votre entreprise
Aussi, je vous invites à vous abonner à nos réseaux sociaux: