Mijn Raspberry Pi Kubernetes Cluster bestaat uit 3 nodes: 1 master (Control Plane en ETCD) en 2 workers. Een extra Raspberry Pi dient als Reverse-Proxy. Om in één oogopslag te zien welke Raspberry Pi welke role heeft, gebruik ik hiervoor de system-board LED’s.
Lees verder[Proxmox] Disk vervangen door SSD
Zeker met virtualisatie geldt: “hoe sneller de disk hoe beter” en daarom ga ik een langzame HDD disk vervangen door een snelle(re) SSD disk. Als eerste de aansluitingen controleren…
Lees verder[Rancher] Continuous Delivery eenvoudiger in v2.5
In Rancher 2.5 is nu standaard Fleet opgenomen om Multi-Cluster beheer eenvoudiger te maken voor wat betreft Continuous Delivery. Lees dit artikel voor meer informatie en een tweetal voorbeelden om apps uit te rollen.
[Rundeck] CentOS8 accepteert geen OpenSSH keys
De ssh-keys gegenereerd met ssh-keygen wordt standaard aangemaakt in het OpenSSH formaat. Dit zie je terug aan de eerste en laatste regel in het certificaat:
-----BEGIN OPENSSH PRIVATE KEY----- ... -----END OPENSSH PRIVATE KEY-----
Voor ssh-sessies naar andere hosts is dit prima, maar Rundeck (versie 3.3.4) geeft een foutmelding bij connecties naar andere hosts.
De oorzaak ligt in het feit dat het OpenSSH-formaat niet werkt en er een RSA_formaat wordt verwacht. Met het volgende commando kun je een bestaand OpenSSH formaat key omzetten naar een RSA-formaat:
$ ssh-keygen -p -m PEM -f id_rsa
De -p optie geeft de optie om een nieuw bestand te maken, de -m optie geeft aan dat dit dan in het PEM-formaat (RSA) dient te zijn, de -f is de ‘oude’ OpenSSH key.
De eerste en laatste regels geven weer dat het formaat nu RSA is:
-----BEGIN RSA PRIVATE KEY----- ... -----END RSA PRIVATE KEY-----
Rundeck zal deze RSA-key nu wel kunnen gebruiken en de connecties komen tot stand.
Rundeck op CentOS8 accepteert geen OpenSSH keys
De ssh-keys gegenereerd met ssh-keygen wordt standaard aangemaakt in het OpenSSH formaat. Dit zie je terug aan de eerste en laatste regel in het certificaat:
-----BEGIN OPENSSH PRIVATE KEY----- ... -----END OPENSSH PRIVATE KEY-----
Voor ssh-sessies naar andere hosts is dit prima, maar Rundeck (versie 3.3.4) geeft een foutmelding bij connecties naar andere hosts:
De oorzaak ligt in het feit dat het OpenSSH-formaat niet werkt en er een RSA_formaat wordt verwacht. Met het volgende commando kun je een bestaand OpenSSH formaat key omzetten naar een RSA-formaat:
$ ssh-keygen -p -m PEM -f id_rsa
De -p optie geeft de optie om een nieuw bestand te maken, de -m optie geeft aan dat dit dan in het PEM-formaat (RSA) dient te zijn, de -f is de ‘oude’ OpenSSH key.
De eerste en laatste regels geven weer dat het formaat nu RSA is:
-----BEGIN RSA PRIVATE KEY----- ... -----END RSA PRIVATE KEY-----
Rundeck zal deze RSA-key nu wel kunnen gebruiken en de connecties komen tot stand.
[GitLab] Toevoegen van GitLab-Runner aan project
Installeer eerst gitlab-runner op een host.
Gebruik daarna de volgende opties waarbij de token uit het project -> Settings ->CI/CD -> Runners gehaald kan worden.
gitlab-runner register -n \ --url https://gitlab.digitalinfo.nl/ \ --registration-token <de token uit de settings> \ --executor docker \ --description "Docker Runner" \ --docker-image "docker:stable" \ --docker-privileged
Toevoegen van GitLab-Runner aan project
Installeer eerst gitlab-runner op een host.
Gebruik daarna de volgende opties waarbij de token uit het project -> Settings ->CI/CD -> Runners gehaald kan worden.
gitlab-runner register -n \ --url https://gitlab.digitalinfo.nl/ \ --registration-token <de token uit de settings> \ --executor docker \ --description "Docker Runner" \ --docker-image "docker:stable" \ --docker-privileged
Magento zonder sample-data?
Na het installeren van een Magento webshop server is er alleen een leeg scherm te zien en de sample-data voor de shop is niet (mee)geïnstalleerd. Om toch sample-data te kunnen tonen in de shop is er de volgende oplossing.
Lees verder[Ansible] Python interpreter not found
Mijn Rancher Cluster bevat nodes die allen draaien onder RancherOS. Nu zou ik die met Ansible playbooks willen beheren maar bij een standaard installatie van RancherOS krijg ik de foutmelding dat python niet gevonden kan worden en dat is een component dat Ansible nodig heeft om op de nodes de playbooks te kunnen uitvoeren.
$ ansible -m ping speeltuin-cp01 [WARNING]: No python interpreters found for host speeltuin-cp01 (tried ['/usr/bin/python', 'python3.7', 'python3.6', 'python3.5', 'python2.7', 'python2.6', '/usr/libexec/platform-python', '/usr/bin/python3', 'python']) speeltuin-cp01 | FAILED! => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "module_stderr": "Shared connection to 192.168.178.155 closed.\r\n", "module_stdout": "/bin/sh: /usr/bin/python: No such file or directory\r\n", "msg": "The module failed to execute correctly, you probably need to set the interpreter.\nSee stdout/stderr for the exact error", "rc": 127 }
Hier is echter een simpele oplossing voor…
Lees verderPython interpreter not found
Mijn Rancher Cluster bevat nodes die allen draaien onder RancherOS. Nu zou ik die met Ansible playbooks willen beheren maar bij een standaard installatie van RancherOS krijg ik de foutmelding dat python niet gevonden kan worden en dat is een component dat Ansible nodig heeft om op de nodes de playbooks te kunnen uitvoeren.
$ ansible -m ping speeltuin-cp01 [WARNING]: No python interpreters found for host speeltuin-cp01 (tried ['/usr/bin/python', 'python3.7', 'python3.6', 'python3.5', 'python2.7', 'python2.6', '/usr/libexec/platform-python', '/usr/bin/python3', 'python']) speeltuin-cp01 | FAILED! => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "module_stderr": "Shared connection to 192.168.178.155 closed.\r\n", "module_stdout": "/bin/sh: /usr/bin/python: No such file or directory\r\n", "msg": "The module failed to execute correctly, you probably need to set the interpreter.\nSee stdout/stderr for the exact error", "rc": 127 }
Hier is echter een simpele oplossing voor…
Lees verder[K8S] ugrade via RKE
Het cluster dat ik in gebruik heb is aangemaakt met RKE (Rancher Kubernetes Engine) via een cluster.yml bestand en het commando ‘rke up
‘ Zie hier de beschrijving. Nu is de versie die gebruikt wordt voor Kubernets v1.17.5 en ik wil nu upgraden naar versie 1.18.6. De versies die ondersteund worden vind je hier.
Om dit te doen met rke, dient de volgende regel in de cluster.yml file gezet te worden:
kubernetes_version: v1.18.6-rancher1-1
en vervolgens de upgrade starten met:
$ rke up
Eén voor één zullen de nodes nu ge-upgrade worden, eerst in ‘Cordoned‘ status, dan upgraden…
en vervolgens weer in ‘Active‘ status met de nieuwe versie.
Hoe simpel kan het zijn… 😉
Kubernetes ugrade via RKE
Het cluster dat ik in gebruik heb is aangemaakt met RKE (Rancher Kubernetes Engine) via een cluster.yml bestand en het commando ‘rke up
‘ Zie hier de beschrijving. Nu is de versie die gebruikt wordt voor Kubernets v1.17.5 en ik wil nu upgraden naar versie 1.18.6. De versies die ondersteund worden vind je hier.
Om dit te doen met rke, dient de volgende regel in de cluster.yml file gezet te worden:
kubernetes_version: v1.18.6-rancher1-1
en vervolgens de upgrade starten met:
$ rke up
Eén voor één zullen de nodes nu ge-upgrade worden, eerst in ‘Cordoned‘ status, dan upgraden…
en vervolgens weer in ‘Active‘ status met de nieuwe versie.
Hoe simpel kan het zijn… 😉