Karkeat asennusohjeet QB-klusterille siltä varalta, että se täytyy joskus asentaa tyhjästä uusiksi. Tätä vois automatisoida enemmänkin.
Esivaatimukset
Vähintään 3 kpl Ubuntu-koneita. Ks. CPU- ja RAM-speksi Kyypän etusivulta.
ansible-tracon kloonattuna Linux- tai macOS-koneelle. Päivitä hosts-tiedosto.
Salasanaton SSH-pääsy rootille tai sudolliselle käyttäjälle.
K3s master
Lisää tarvittaessa Ansible-komentoihin -bK sudoa varten.
ansible-playbook -l k3s-masters tracon.yml
Tällä pitäisi nousta yhden noden tyhjä K3s-"klusteri" master-koneelle. Ota sinne SSH ja käy huutelemassa
mkdir -p .kube sudo install -o omakäyttäjä -m 0600 /etc/rancher/k3s/k3s.yml .kube/config kubectl get node kubectl get all --all-namespaces
Pitäis tulla jotain ehjän näköistä.
K3s nodet
Ota master-koneelta talteen tiedoston /var/lib/rancher/k3s/server/node-token sisältö. Laita se Ansible Vaultiin avaimelle vault_k3s_node_token:
ansible-vault edit group_vars/k3s-nodes/vault
Sit me konffataan vähän nodeja:
ansible-playbook -l k3s-nodes tracon.yml
Nyt näiden pitäs näkyä node-listauksessa:
kubectl get node
helm
Klusterissa on RBAC oletuksena päällä, joten noudatetaan ohjeita Helmin asentamiseksi RBAC-enabloituun ympäristöön. Nappaa YAML-listaus kohdasta Example: Service account with cluster-admin role tiedostoon tai leikepöydälle ja loihe
kubectl apply -f rbac-config.yaml helm init --service-account tiller --history-max 200
nginx-ingress
K3s:n oletus on Traefik, mutta koska Japsu on laiska eikä jaksa opetella miten Traefik toimii cert-managerin kanssa, em. stepit jättää traefikin asentamatta. Asennetaan sen sijaan ingress-nginx koska sitä Japsu osaa jo käyttää.
helm install --name nginx-ingress --namespace nginx-ingress --set rbac.create=true,controller.kind=DaemonSet,controller.service.type=ClusterIP,controller.service.externalIPs="{91.105.252.81,91.105.252.82,91.105.252.83}" stable/nginx-ingress