Kubernetes architektura¶
Součástí služby je n nodů s nainstalovaným Kuberenets cluster řešením a HA loadbalancery. Zákazník obdrží konfiguraci s klientským certifikátem pro Kube API, ke kterému přistupuje přes VPN (použita je OpenVPN).
Síťový stack je řešen přes Weave, který spravuje Kubernetes automaticky. Veřejnou IP adresu mají pouze loadbalancery a ostatní servery jsou dostupné v interní síti. Na loadbalacerech je nastavená balancovaná IP adresa, na kterou směřují všechny zákaznické DNS záznamy.
V případě nutnosti persistentní storage poskytujeme NFS, kdy je možné použít nfs-client-provisioner nebo S3 storage použitelnou přes S3 API.
Pro provoz služeb na jiném portu než 80/443, je ze strany zákazníka je třeba na zákaznickou podporu dodat NodePort, na kterém aplikace poslouchají. Na základě toho upravíme nastavení loadbalanceru.
Kubernetes cluster není vhodný pro provoz databázových serverů a to především z důvodu nutnosti persistentního uložiště, kdy je třeba v případě NFS počítat s latencí sítě. Pro tyto účely poskytujeme Managed databázové servery, které jsou optimalizovány pro maximální výkon. Výhodou managed řešení je i pomoc s debuggingem (např. detekcí slow query zpomalující aplikaci), zálohování, monitoring a řešení všech kritických provozních stavů.
Rozdělení kompetencí¶
VSHosting¶
- Správa HW a OS všech Kubernetes nodů a loadbalancerů
- Instalace a základní nastavení Kubernetes a loadbalancerů pro provoz HTTP/HTTPS před předáním zákazníkovi
- Upgrade OS
- Upgrade Kubernetes – po domluvě se zákazníkem
- Přidání dalších nodů do clusteru
- Správa přidělených veřejných adres a balancovaných portů na loadbalancerech
- Monitoring Kubernetes platformy – HW, loadbalancery, Kubernetes API, storage
- Zálohování clusteru a loadbalanceů
Zákazník¶
- Příprava Docker imagů aplikací
- Deploy aplikací včetně nastavení CI
- Kompletní správa aplikací a služeb běžících v Kubernetes clusteru
- Konfigurace přístupu k persistent storage v aplikacích
- Monitoring služeb běžících v Kubernetes
- Záloha persistentních aplikačních dat
- Debugging nefunkčních kontejnerů a služeb
- Nastavení NodePort pro aplikaci vyžadující přístup zvenčí a předání portu zákaznické podpoře