Progresser dans l'écriture des manifests Kubernetes
déployer une application dans Kubernetes
component. -->
Création :
déployer une application dans Kubernetes
C’est la suite du billet précédent qui parlait des sidecars Kubernetes que j’ai utilisé pour exposer une application Django (backend + statics). Maintenant que j’ai un service, je dois pouvoir y accéder depuis l’extérieur via une URL ou une IP. Je suis dans un contexte où mon cluster Kubernetes est autohébergé avec un seul node (dans une VM Linux sur mon poste de dev). Pour rappel, seul les plateformes Cloud propose des Load Balancers. Pour palier à ce problème, je vais tout simplement exposer le contrôleur de l’ingress Nginx sur le réseau de la machine hôte.
Installons le gestionnaire d’Ingress Nginx
Du classique, maintenant patchons le déploiement du contrôleur nginx :
Vérifions
L’IP du contrôleur est bien celui du node. On peut vérifier que sur le node on a bien les ports 80 et 443 en écoute :
Cool !
Pour valider son fonctionnement je vais déclarer un ingress pour le service créé dans le billet précédent :
On applique l’ingress :
Un pti curl pour valider que cela fonctionne :
C’est simple et efficace pour un environnement de Dev.
Ma problématique : utiliser nginx comme reverse proxy pour exposer une application Django tournant sur un serveur uWSGI, ainsi que ses statics afin de limiter les requêtes HTTP.
pense-bête
Devops
pipx
transformation d’une application pour la rendre cloud native
Ansible collecte énormément de données des serveurs qu’il configure via ce qu’on appelle les facts. Il existe un outil qui répond au nom d’Ansible-CMDB, qui prend en charge plusieurs types de sortie (html, csv, sql, json, markdown …) et qui donc permet d’obtenir rapidement l’état de santé de votre parc informatique. Par exemple, on peut voir quelle version d’OS, le dernier reboot, la version du kernel, la ram, le nombre de cpu, l’occupation des disques, le taux d’utilisation de la RAM, …
Suite à ma à l’écriture de ma configuration Terraform permettant de provisionner des machines EC2 AWS, je me suis fixé comme objectif de configurer Gitlab pour qu’il utilise mes propres runners dynamiquement.
Terraform Cloud
Terraform