Kubernetes

Docker

Vérifier que Docker est bien installé. Dans le cas contraire, installer Docker

Kubelet

N’installer QUE kubelet, par le repository, et à la même version que le cluster cible : https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-kubeadm-kubelet-and-kubectl

Exemple :

Obtenir la version de kubernetes :

kubectl get nodes -owide

On obtient des noeuds à la version 1.19.16 par exemple.

Pour obtenir les versions de kubelet disponibles :

apt-cache madison kubelet | grep 1.19

On installe la même version :

apt-get install kubelet=1.19.16-00

Pour figer la version installée :

apt-mark hold kubelet

Configuration

Rejoindre le cluster selon la méthode “bootstrap pod”.

Fichiers à ajouter/configurer

  • /etc/kubernetes/bootstrap.kubeconfig
  • /etc/kubernetes/ca.crt
  • /etc/kubernetes/kubelet.yaml

Retrouver ces fichiers de configuration sur les points de ventes déjà installés ou à demander au près de NovIT.

Editer le daemon

systemctl edit kubelet.service:

[Service]
ExecStart=
ExecStart=/usr/bin/kubelet  \
  --kubeconfig=/etc/kubernetes/kubeconfig \
  --bootstrap-kubeconfig=/etc/kubernetes/bootstrap.kubeconfig \
  --config=/etc/kubernetes/kubelet \
  --logtostderr=true \
  --register-with-taints=role=caisse:NoSchedule

Approuver le certificat

Après reboot de la machine, il faut vérifier que le csr du nouveau point de vente est présent et approuver le csr pour ajouter le noeud sur le cluster.

kubectl get csr
kubectl certificate approve xxxx

Attendre quelques minutes après l’approbation du certificat, un second certificat devrait être créer et valider automatiquement (mécanisme mis en place pour regénerer les certificats qui ont expiraient).

A cette étape, le noeud caisse devrait apparaitre dans Kubernetes : kubectl get nodes.

Configuration sur site

Configurer les bons labels sur le node. Doivent correspondre aux daemonsets déployés par cineges-hwproxy.

Pour tout les POS : node-role.kubernetes.io/caisse=true

Pour la géographie : cineges.isi.nc/complexe

  • Cinécity : cineges.isi.nc/complexe=cinecity
  • Koné : cineges.isi.nc/complexe=kone
  • Drive-in : ?
  • Tahiti : ?

Pour le type de POS :

  • Caisse : cineges.isi.nc/pos-type=pos
  • Borne : cineges.isi.nc/pos-type=kiosk