SUSE Container as a Service Platform · A SUSE Container as a Service Platform egy nagyvállalati...
Transcript of SUSE Container as a Service Platform · A SUSE Container as a Service Platform egy nagyvállalati...
SUSE Container as a Service PlatformNagyvállalati Kubernetes
Papp Zsolt
Konzultáns
2
Miről lesz szó
• Miért van szükség CaaS Platformra?
• Mi is az a CaaS Platform?
• Technikai áttekintés
• Bemutató!
3
Miért van szűkség a SUSE CaaS Platformra?
4
Változás az informatikában
5
Példa: céges weboldal újratervezése
Without Containers
Isolated development environment
Small team builds a POC
POC hand over to Dev/Ops teams
One of the following issues is likely:
• POC doesn’t run in production/staging
• Development environment not easy to setup (different OS, different tools, missing packages)
POC is not usable, can’t handover from coding to production.
Without Containers
Isolated development environment
Small team builds a POC
POC hand over to Dev/Ops teams
One of the following issues is likely:
• POC doesn’t run in production/staging
• Development environment not easy to setup (different OS, different tools, missing packages)
POC is not usable, can’t handover from coding to production.
Konténerek nélkül
Elszigetelt fejlesztői környezet
Kis csapat épít egy POC-ot
Átadják az üzemeltetésnek, vagy DevOpsnak
Valószínűleg az alábbiak fognak történni:
• A POC nem fut PROD környezetben
• Nehéz előállítani a fejlesztői környezetet (eltérő OS, eltérő eszközök, hiányzó csomagok)
A POC használhatatlan, nem megy át DEV-ből PROD-ba
Konténerekkel
A POC-ot készítő csapat deployolhat is
A POC konténerekből áll
A POC fut a STAGING és a PROD környezetben is
Új környezeteket is könnyű létrehozni
A fejlesztők használhatják a preferált eszközeiket
Happy Developers! Productive teams!
6
Alkalmazásfejlesztés és üzemeltetés
7
Mi is az a CaaS Platform?
8
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.
9
SUSE Ökoszisztéma
Application Delivery
Custom Micro Service ApplicationsKubernetes / Magnum
Physical Infrastructure: Server, Switches, Storage
Public Cloud
SUSE Cloud Service Provider Program
Container ManagementSUSE CaaS Platform
Software Defined Everything
StorageSUSE Enterprise Storage
NetworkingSDN and NFV
VirtualizationKVM, Xen, VMware, Hyper-V, and z/VM
Operating SystemSUSE Linux Enterprise Server
Platform as a ServiceSUSE Cloud Application Platform
Private Cloud / IaaSSUSE OpenStack Cloud
Operations, Monitor and Patch • SUSE Manager• SUSE OpenStack
Cloud Monitoring• openATTIC
Cluster Deployment• Crowbar• Salt
Orchestration• Heat• Kubernetes
Management
10
Technikai áttekintés
11
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.
• Gyorsabban indul
• Sűrűbb
• Helyben frissíthető (régit megsemmisíteni, friss verzióból újat deployolni)
Host OS
Hypervisor
Guest OS
Guest OS
Guest OS
Server
VM VM VM
OS KernelServer
Container Runtime
12
SUSE CaaS Platform felépítése
13
SUSE CaaS Platform
Kubernetes Cluster
k8s Master k8s Worker …
k8s Master k8s Worker …
k8s Worker k8s Worker …
Dashboard
Admin Node
14
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
15
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
16
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
17
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
18
Bemutató!
19
Kérdések?
21