Raspberry Pi

Source : https://www.hanselman.com/blog/HowToBuildAKubernetesClusterWithARMRaspberryPiThenRunNETCoreOnOpenFaas.aspx

Preparation Pi

  • Télécharger/graver Raspbian Desktop dernière version.
  • Booter le pi
  • Changer le hostname :
    • sudo raspi-config nonint do_hostname "<hostname>"
  • Exécuter le premier script d’installation :
curl http://cineges-docs.hicksoncentral-master.dev.isi.nc/Install-Config/PointOfSale/kubelet/install-pi-1.sh | sudo sh
  • Après le reboot, exécuter le deuxième script d’installation :
curl http://cineges-docs.hicksoncentral-master.dev.isi.nc/Install-Config/PointOfSale/kubelet/install-pi-2.sh | sudo sh

Configuration kubernetes

sudo systemctl edit kubelet

Mettre le contenu suivant en remplaçant les variables :

| Environment | $CLUSTER_DNS | $CLUSTER_DOMAIN | $LABEL_COMPLEXE | | — | — | — | — | | Bureau | 10.107.0.2 | kube.isi | voir config | | QUAL (cinecity) | ? | qual.wdt.nc | cinecity | | QUAL (kone) | ? | qual.wdt.nc | kone | | PROD (cinecity) | ? | prod.wdt.nc | cinecity | | PROD (kone) | 192.168.60.8 | prod.wdt.nc | kone |

[Service]
ExecStart=
ExecStart=/usr/bin/kubelet  \
  --kubeconfig=/etc/kubernetes/kubeconfig \
  --address=0.0.0.0 \
  --port=10250 \
  --container-runtime=docker \
  --logtostderr=true \
  --healthz-bind_address=0.0.0.0 \
  --healthz-port=10248 \
  --cluster-dns=$CLUSTER_DNS \
  --cluster-domain=$CLUSTER_DOMAIN \
  --allow-privileged=true \
  --register-with-taints=role=caisse:NoSchedule \
  --node-labels node-role.kubernetes.io/caisse=true,cineges.isi.nc/complexe=$LABEL_COMPLEXE \
  --fail-swap-on=false

Fichier /etc/kubernetes/kubeconfig :

Exemple : curl http://cineges-docs.hicksoncentral-master.dev.isi.nc/Install-Config/PointOfSale/kubelet/kubeconfig.qual --output /etc/kubernetes/kubeconfig

systemctl daemon-reload
systemctl restart kubelet

Adresse IP statique (optionnel)

https://www.raspberrypi.org/learning/networking-lessons/rpi-static-ip-address/

Reboot

sudo reboot now

DEPRECATED

Préparation

Booter le pi, mettre à jour :

sudo apt-get update
sudo apt-get upgrade
sudo apt-get purge wolfram-engine scratch*

Firmware :

sudo rpi-upgrade
sudo reboot now

Config de base

raspi-config

Définir le hostname Définir les locales (langue, timezone)

sudo reboot now

Install docker

curl -sSL get.docker.com | sh && \
sudo usermod pi -aG docker

Tune system

sudo dphys-swapfile swapoff && \
sudo dphys-swapfile uninstall && \
sudo update-rc.d dphys-swapfile remove
sudo nano /boot/cmdline.txt

Append : cgroup_enable=cpuset cgroup_enable=memory without pressing enter at end (no new line)

sudo reboot now

Install kubernetes

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - && \
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list && \
sudo apt-get update -q && \
sudo apt-get install -qy kubelet

Installation du service kubelet

Bureautique

sudo aptitude install -y cups sane sane-utils xsane hplip hplip-gui

Cineges

TODO