Serveur de conteneurs orcherstré local


#1

Salut à tous. :slight_smile:

Je cherche à créé un serveur debian qui sera un nœud kubernetes d’orcherstration de conteneurs Docker toujours sous Debian. J’ai regardé un grande quantité de tutoriaux autour de LXC/LXD ; Docker ; Multistrap ; et Kubernetes mais je n’arrive pas à débuté aux vues de mes exigence de départ. Je souhaite créé tout cela via un local repository et utilisé mes propres conteneurs.

Je recherche avant tous des explications sur la procédure à suivre pour crée mon architecture. Idéalement j’aurai un PC dédié à un nœud Kubernetes Master et un autre PC dédié à l’hébergement des application conteneurisées. Et bien sur une 3ème machine utilisé pour la création et le dévelopement de conteneurs customs

Par quoi doit-je commencer ?


#2

Par te documenter, en second de faire un cahier des charges et de planifier ton déploiement en relation avec les besoins et les contraintes.

Pour expliquer un peu plus :
En premier lieu si tu n’en as jamais fait commence déjà par te faire la main avec un Debian et le docker engine monté dessus.
Ensuite tu pourra t’orienter vers le montage d’un ou deux worker supplémentaire et conserver ton nœud historique comme master avec un mode Swarm.

Pour Kubernetes c’est minimum 3 nœud voir 5 pour un truc propre pour gérer de l’infrastructure avec du Kubeadm, mais il existe une solution sexy sur une base de rancher pour l’utiliser sur un seul hôte.

Pour bien saisir Kubernetes c’est pour de la grosse infrastructure avec des contraintes professionnelle complexe, Docker c’est plus orientée pour de la structure agile avec contraintes plus légères.

Concernant LXC et LXD, c’est un tout autre type de containérisation (si on peu encore appelé ça comme ça).

J’ai utilisé il y a peu un cluster de Odroid C2 remplacé ensuite par du Rock64 pour gérer une base Docker en Swarm qui s’appuyer sur un Gitlab avec repository et la partie CI pour le cycle de vie de mes containers.
J’utilisais en grande partie les soft de Hashicorp sur cette infrastructure (Terraform, Vault, Consul).

Maintenant j’utilise du Kubernetes avec du cilium (la joie de remplacer Iptable par BPF) pour entretenir un cloud Openstack, les configurations se font via Ansible, le déploiement via du Terraform, et j’ai remplacé Consul par ETCD.

Pour mieux cerner ce qui va se développer dans le monde du container, car faut pas se leurrer Kubernetes va bouffer Docker, un petit landscape du CNCF :


#3

Waw Clochette a de l’expérience la dedans.
Il a raison, tout ça c’est un monde…
Il faut que tu te fasses ta propre expérience, des fois tu t’arreteras juste à docker…
Kubernetes est tentant, mais il ne faut pas oublier qu’il faut 5 machines, avec 3 tu vas galerer…
Rancher c’est pire en terme de ressources…
Et tout ça, franchement si t’as que 5 docker à faire tourner laisse tomber…

Kubernetes c’est pour un datacenter… qui a 800 pods à faire tourner au bas mot…
pas pour un serveur web…
Tu vas monter des architectures complexes, pense a celui qui peut venir apres toi…


#4

Ok Merci. Moi c’est pour créé ma propre infrastructure cloud perso afin d’y faire tourner les app que je développe pour le web (projet angular ; node ; c# ; java ; … de test de framework par la mise en pratique)

Et surtout pour en finir avec mes frais de serveur chez les hébergeurs… Genre je souhaite avoir mon cloud 4G et juste faire pointer mon nom de domaine dessus afin d’autorisé des utilisateur à voir mes app depuis le web… J’ai pas de grosse charges de visites mais je veut pouvoir faire cela au mieux avec du loadbalancing et de l’orcherstration… Je souhaite donc vraiment faire via kubernete et le tout en utilisant mes propres images custom pour les conteneurs (pas de depart depuis une image de docker hub comme alpine par example)

Là je suis en train de regarder du coté de multistrap et autre DockerFile partant de “FROM scratch” (Utilisation de scratch) afin de créé ma première image de conteneur exploitable. J’avais vu ceci sur comment créé son image perso:

Si vous avez d’autre conseil ils sont les bienvenue :slight_smile:


#5

Dans ce cas commence par regarder pour te monter un docker swarm épaulé avec du Traefik pour la partie Reverse Proxy et équilibrage de charge.
Pour la gestion Portainer fait le taff, et cerise sur le gâteau tous ça est disponible en container sur ta propre infra :wink:

J’insiste Kubernetes c’est complexe à mettre en place et surtout à entretenir.

Maintenant si tu insiste pour mettre en place un cluster Kubernetes alors la documentation officielle est largement assez bien, joue avec Kubeadm en multi node au besoin.

https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/

Tu poura une fois à l’aise ajouté des master pour rendre résiliant ton infra.