SUSE Container as a Service Platform Nagyvállalati Kubernetes Papp Zsolt Konzultáns papp.zsolt@npsh.hu
Miről lesz szó Miért van szükség CaaS Platformra? Mi is az a CaaS Platform? Technikai áttekintés Bemutató! 2
Miért van szűkség a SUSE CaaS Platformra? 3
Változás az informatikában 4
Példa: céges weboldal újratervezése Without Containers Konténerek nélkül Konténerekkel Isolated development environment Elszigetelt fejlesztői környezet Small teamépít builds POC Kis csapat egya POC-ot A POC-ot készítő csapat deployolhat is POC hand to Dev/Ops teams Átadják az over üzemeltetésnek, vagy DevOpsnak One of the following issues is likely: Valószínűleg az alábbiak fognak történni: A POC fut a STAGING és a PROD környezetben is POC doesn t runprod in production/staging A POC nem fut környezetben Development environment easy to Nehéz előállítani a fejlesztőinot környezetet setup OS, different hiányzó tools, missing (eltérő(different OS, eltérő eszközök, packages) csomagok) POC is not usable, can t handover from A POC használhatatlan, nem megy át DEVcoding to production. ből PROD-ba A POC konténerekből áll Új környezeteket is könnyű létrehozni A fejlesztők használhatják a preferált eszközeiket Happy Developers! Productive teams! 5
Alkalmazásfejlesztés és üzemeltetés 6
Mi is az a CaaS Platform? 7
Mi az a SUSE CaaS Platform? A SUSE Container as a Service Platform egy nagyvállalati konténerkezelő megoldás. Segítségével könnyedén lehet a konténerizált alkalmazásokat és szolgáltatásokat telepíteni, kezelni és skálázni. SUSE MicroOS alapon, Kubernetes segítségével Docker konténereket kezel, hozzáadott egyéb szolgáltatásokkal. 8
SUSE Ökoszisztéma Application Delivery Management Operations, Monitor and Patch SUSE Manager SUSE OpenStack Cloud Monitoring openattic Cluster Deployment Crowbar Salt Orchestration Heat Kubernetes Custom Micro Service Applications Kubernetes / Magnum Container Management SUSE CaaS Platform Platform as a Service SUSE Cloud Application Platform Private Cloud / IaaS SUSE OpenStack Cloud Software Defined Everything Virtualization KVM, Xen, VMware, Hyper-V, and z/vm Storage SUSE Enterprise Storage Networking SDN and NFV Public Cloud SUSE Cloud Service Provider Program Operating System SUSE Linux Enterprise Server Physical Infrastructure: Server, Switches, Storage 9
Technikai áttekintés 10
Mi az a konténer? Sokkal könnyebb, mint a virtualizáció, így sokkal hatékonyabban tudja a kiszolgálók erőforrásait használni. Guest OS VM Guest OS VM Guest OS VM Hypervisor Host OS Server Container Runtime OS Kernel Server Gyorsabban indul Sűrűbb Helyben frissíthető (régit megsemmisíteni, friss verzióból újat deployolni) 11
SUSE CaaS Platform felépítése 12
SUSE CaaS Platform Kubernetes Cluster k8s Master k8s Worker k8s Master k8s Worker k8s Worker k8s Worker Dashboard Admin Node 13
Fontosabb funkciók, tudnivalók Workloads POD K8s alapvető építőkockája, általában 1 POD = 1 konténer Daemon Sets Biztosítja, hogy bizonyos POD-ok minden cluster node-on fussanak (vagy ahol kell) Pl.: Cluster Storage Daemon, Log Collectors, Monitoring Jobs Replica Sets (régen Replication Controllers) Biztosítja, hogy azonos osztályú POD-okból mindig a megfelelő mennyiség fusson. Deployments POD-okat és ReplicaSet-eket ír le Stateful Sets 14
Fontosabb funkciók, tudnivalók Cluster Namespaces Objektumok jobb elválasztása Erőforráskezelés a resource quota révén Persistent Volumes POD-ok életciklusától független, maradandó tárhely Storage Classes Sebességük, méretük, stb. alapján osztályozhatjuk az elérhető tárhelyeket Osztály alapján igényelhet az alkalmazásunk tárhelyet Roles Szerepköralapú hozzáférés-vezérlés Nagyon kiforrott 15
Fontosabb funkciók, tudnivalók Discovery, Load Balance Services A POD-ok halandóak, elpusztulnak, újraszületnek, folyamatosan változik az IP címük A Service egy absztrakciós réteg, ami biztosítja, hogy a futó POD-ok elérhetőek legyenek Publishing Services: NodePort, LoadBalancer, ExternalIP Ingresses Ez a Publishing Servicesnek a fejlettebb módja Általában Nginx, vagy HAproxy alapú szolgáltatást használnak az alkalmazás eléréséhez 16
Fontosabb funkciók, tudnivalók Config, Storage ConfigMap Leválaszthatjuk a konfigurációt az alkalmazásunkról ConfigMap segítségével megetethetjük a konfigurációt az induló alkalmazásunkkal Persistent Volume Claims A maradandó tárhelyet az admin/operator hozza létre kézzel Beállított Storage Classes esetén a szolgáltatás igényelhet magának dinamikusan is Secrets Nem szabad kulcsokat, jelszavakat beleégetni a POD leírókba, vagy a Docker konténerekbe A Secret objektumok kulcsokat, jelszavakat, egyéb érzékeny információkat tárolnak Biztonságosan lehet kiolvasni, amikor a konténer indul 17
Bemutató! 18
Kérdések? 19
21