Voici quelques notes sur Docker et Kubernetes

1 ) Kubernetes

A) Type de kubernetes

Il existe 2 type le k8s et le k3s

  • k3s : Kubernetes light -> https://github.com/itwars/k3s-ansible
  • k8s

Déploiement de Kubernetes

A ) On premise

Le plus simple et d’utiliser Proxmox afin de créer des VM ( VM-Master, etc)

Plan a faire

  • Kubeadm : A tester
  • Rancher Kubernetes engine : Méthode trés simple mais je trouve ça lourd
  • Kubespray : J’ai pas réussi

Voici le tuto utilisé pour kubespray :

Tuto : https://blog.zwindler.fr/2017/12/05/installer-kubernetes-kubespray-ansible/

B ) Cloud

  • Cloud : GKE, AKS, EKS

Autre info :

Docker a gagné cette guerre contre CoreOS

L’OCI a également standardisé autre chose, à savoir le format des images. Qui vient aussi originellement de Docker.

OCI -> Standard pour les images

Les runtime

https://blog.alterway.fr/le-point-sur-les-container-runtimes.html

  • cri-o :
  • pushcontainer :
  • containerd : forte chance que celui-ci reste

Container utile pour Kubernetes + Docker

  • Runtime : Containerd
  • Monitoring : Prometheus
  • Registry : Harbor
  • Storage : Rook
  • CodeDNS ( Service discovery )
  • Log : Loki
  • Open Policy agent ( Securité )

Rook, helm, jaegger

2 ) Docker

A ) Commande utile

Shell

A ) Outils utile

Les VM hebergeant Docker

Enrichissement de Kubernetes :

5. ctop: Top-like interface for containers -> he utility I have started using lately is ctop, which provides a real-time metrics view of multiple containers. If you are a mac user, then you can install ctop using brew as shown below.

4. rocker: Breaks the limits of Dockerfile -> Most of the developers using Docker use Dockerfile for building images. Dockerfile is a declarative way to define all the commands a user could call on the command line in order to assemble an image.

1. watchtower: Automatically update Docker containers

Watchtower monitors running containers and watches for changes to the images those containers were originally started from. When Watchtower detects that an image has changed, it automatically restarts the container using the new image. I use it in my local development where I would like to try out the latest built image.

2 ) Interface graphique

Autre que docker

  • rkt (Rocket ) de CoreOS
  • cri-o ( 2016 )
  • containerd ( runtime de docker )

Log docker :

Debian /var/log/daemon.log

Les registry

https://www.objectif-libre.com/fr/blog/2018/06/11/hergement-registry-docker-portus/

1 – La gestion des règles

https://www.sysnove.fr/blog/2019/02/firewall-devant-docker-swarm.html

  • https://blog.zwindler.fr/2017/06/07/installer-cluster-kubernetes-vm-centos/
https://www.sheevaboite.fr/articles/domotique-jeedom/
https://anchore.io/
  • https://www.guillaume-leduc.fr/docker-comme-solution-de-virtualisation-les-conteneurs.html
  • https://www.guillaume-leduc.fr/docker-comme-solution-de-virtualisation-les-commits.html
  • https://www.guillaume-leduc.fr/docker-comme-solution-de-virtualisation-les-volumes.html
docker run -t -i debian:latest /bin/bash

-t : -t assigne un terminal à l’intérieur du conteneur

-i nous autorise à nous y connecter en récupérant directement l’entrée standard (STDIN)

docker run -d debian:latest

-d : daemoniser le serveur

docker logs determined_bell

Créer son container

Télécharger un container debian

docker rename le_nomducontainer_debian sonerezh
docker start sonerezh
docker attach sonerezh

Faire les modifs dans le container

sudo apt get update

Sauvegarder en créant une nouvelle image :

docker commit sonerezh sonerezh-nginx

Voir les différence des commandes :

docker diff sonerezh

Connaitre l’IP du container :

docker inspect --format "{{.NetworkSettings.IPAddress}}" sonerezh

Lister images docker

docker images

Sécurité

Source : https://homputersecurity.com/2018/05/19/choisir-ses-images-docker/

  1. Vérifier les tags pour vérifier la sécurité
  2. Faire un test avec anchore.io
  3. Facultatif : Lire le doc ci-joint : https://www.sans.org/reading-room/whitepapers/auditing/checklist-audit-docker-containers-37437

Gestion de cluster

En cours

  • Swarm avec l’interface graphique : shipyard
  • ClusterUp ( Nécessite un compte en ligne ( null !!! )
  • docker web ui ( Cool  )

Les autres

  • Kubernetes avec kube-ui
  • https://www.lebigdata.fr/kubernetes-definition

Lien du battle : http://blog.octo.com/docker-en-production-la-bataille-sanglante-des-orchestrateurs-de-conteneurs/

Mon choix sur Swarm pour le moment

solution a tester :

https://github.com/kevana/ui-for-docker

http://containerjournal.com/2016/04/27/7-web-interfaces-container-management-orchestration/[:]

FAQ Kubernetes

  • Fédération : permet de regrouper plusieurs clusters et de les contrôler en un seul point : https://www.objectif-libre.com/fr/blog/2019/06/27/kubernetes-et-la-federation-v2/
  • Helm