ELOS Technologies Blog

OpenShift 3.11 a certifikáty nodů

Written by Jan Burian | 23.11.2020 15:24:54

Provozujete OpenShift cluster ve verzi 3.11? Setkali jste se již s vypršením platnosti certifikátů nodů? Museli jste žádosti o certifikát ručně potvrdit, aby došlo k obnově certifikátu? Říkáte si, proč tomu tak je? Pokud odpovíte na jednu nebo více z těchto otázek ano, pak čtěte dále.

Certifikáty jednotlivých komponent platformy OpenShift ve verzi 3.x - jako například master, api, etcd, router a další - jsou standardně obnovovány pomocí ansible playbooků. Výjimkou jsou certifikáty nodů, které se od verze 3.10 obnovují pomocí explicitní žádosti o certifikát. Certifikáty jsou platné 1 rok. Pokud stáří certifikátu dosáhne 85% z jeho celkové platnosti, pak dotyčný node vygeneruje a podá žádost o certifikát (CSR). Tyto žádosti lze samozřejmě schválit, ať už ručně nebo automaticky. Pokud však nedojde k potvrzení žádosti - a ruku na srdce, kdo z nás bude kontrolovat něco tak detailního, jako je platnost node certifikátu -, nebude nový certifikát vydán a nasazen. Ve chvíli, kdy původní certifikát vyprší, přestane být node schopen komunikovat s clusterem a přepne se do stavu NotReady.

Platforma OpenShift ve verzi 3.x nemá ve výchozí instalaci, bohužel, automatické podepisování certifikátů povoleno. Abyste se nemuseli starat o to, za jak dlouho vyprší node certifikáty, hlídat, zda-li se již neblíží doba expirace a kontrolovat, zda-li již nejsou vystaveny žádosti o certifikát, které čekají na schválení, lze tuto roli nechat na samotném clusteru - a to buď tak, že jej nainstalujete již s funkcí automatického schvalování žádostí o certifikát, anebo na existujícím clusteru tuto funkci dodatečně povolíte.

Pro novou instalaci stačí do inventory souboru doplnit následující proměnnou:

openshift_master_bootstrap_auto_approve=true

Pro povolení automatického schvalování na již existujícím clusteru spusťte ansible playbook enable_bootstrap.yml.

ansible-playbook -i <your_inventory> /usr/share/ansible/openshift-ansible/playbooks/
openshift-master/enable_bootstrap.yml -e "openshift_master_bootstrap_auto_approve=true"

Po nastavení této funkce je spuštěn ‘bootstrap-autoapprover-0’ pod v namespace ‘openshift-infra’. Od této chvíle se pod postará o automatické schvalování žádostí a nestane se vám, že vyprší certifikáty nodů.