maciej Żarczyński · config pod replication controller. pod instancja aplikacji 1+ kontenerów...
TRANSCRIPT
![Page 1: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/1.jpg)
Openshift
Maciej Żarczyński
![Page 2: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/2.jpg)
Agenda
◎ Wprowadzenie◎ Wybrane obiekty API i ich właściwości◎ Demo
![Page 3: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/3.jpg)
Optymalizacja zasobów
Aspekt sprzętowy
![Page 4: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/4.jpg)
Klasyczna wirtualizacja (Xen, VMWare, KVM, etc.)
Hypervisor
Kernel
App1
Kernel
App2
Kernel
App3
Kernel
App4
![Page 5: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/5.jpg)
Konteneryzacja (Docker)
Kernel
App1
App3
App2
App4
App5
App6
App7
App8
App9
![Page 6: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/6.jpg)
Źródło: https://kubernetes.io
![Page 7: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/7.jpg)
Optymalizacja zasobów
Aspekt ludzki / czasowy
![Page 8: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/8.jpg)
Stara szkoła
Dev Aplikacja
Dokumentacja
Ops
Deployment
Parametry
![Page 9: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/9.jpg)
Zrównoleglenie procesu /rozdzielenie ról
Ops
OpenshiftDev Aplikacja
obiekty API
Parametry
![Page 10: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/10.jpg)
CI/CD/CDw firmach jest
jak seks w liceum
![Page 11: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/11.jpg)
PaaS
![Page 12: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/12.jpg)
Źródło: https://kubernetes.io
![Page 13: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/13.jpg)
Źródło: https://blog.openshift.com/building-kubernetes-bringing-google-scale-container-orchestration-to-the-enterprise/
![Page 14: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/14.jpg)
Źródło: https://www.cncf.io/blog/2016/08/23/deploying-1000-nodes-of-openshift-on-the-cncf-cluster-part-1/
![Page 15: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/15.jpg)
Obiekty API
![Page 16: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/16.jpg)
ProjectNamespace
Users
Quota
Limit ranges
![Page 17: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/17.jpg)
ImageStreamReprezentacja zbioru
image-y dockera
isImage
Promocja
Trigger
isTag
Import
![Page 18: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/18.jpg)
DeploymentConfig
Pod
ReplicationController
![Page 19: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/19.jpg)
PodInstancja aplikacji
1+ kontenerów
Efemeryczny
ReadinessProbeLimit
(CPU, RAM)
Service Account
LivenessProbe
![Page 20: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/20.jpg)
Pod
apiVersion: v1kind: Podmetadata: name: jug-app-pod labels: app: jugspec: containers: - name: jug-app image: 172.30.1.1:5000/dev/jug@sha256:7123433f5deb3451e5c3898f6fe… ports: - containerPort: 8080 protocol: TCP
![Page 21: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/21.jpg)
ReplicationController
Pilnowanie zadanej liczby Pod-ów (replik)
“Zatrzaśnięta” wersja obrazu aplikacji
( @sha256 )
![Page 22: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/22.jpg)
ReplicationController
apiVersion: v1kind: ReplicationControllermetadata: labels: app: jug name: jug-8spec: replicas: 4 selector: app: jug template: metadata: labels: app: jug spec: containers: <DEFINICJA POD-a>
![Page 23: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/23.jpg)
DeploymentConfig
Trigger
Wersjonowanie aplikacji
Strategie Rolling update
Recreate
Custom
Hook
![Page 24: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/24.jpg)
DeploymentConfig - strategia: Recreate
Pod Pod
rc-1replicas: 2
rc-2replicas: 0
![Page 25: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/25.jpg)
DeploymentConfig - strategia: Recreate
rc-1replicas: 0
rc-2replicas: 0
![Page 26: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/26.jpg)
DeploymentConfig - strategia: Recreate
rc-1replicas: 0
Pod Pod
rc-2replicas: 2
![Page 27: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/27.jpg)
DeploymentConfig - strategia: Rolling
Pod Pod
rc-1replicas: 2
rc-2replicas: 0
![Page 28: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/28.jpg)
DeploymentConfig - strategia: Rolling
Pod Pod
rc-1replicas: 2
rc-2replicas: 1
Pod
![Page 29: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/29.jpg)
DeploymentConfig - strategia: Rolling
Pod
rc-1replicas: 1
rc-2replicas: 1
Pod
![Page 30: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/30.jpg)
DeploymentConfig - strategia: Rolling
Pod
rc-1replicas: 1
Pod Pod
rc-2replicas: 2
![Page 31: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/31.jpg)
DeploymentConfig - strategia: Rolling
rc-1replicas: 0
Pod Pod
rc-2replicas: 2
![Page 32: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/32.jpg)
BuildConfigTrigger
Wytwarza image do Imagestream-a
Strategie S2I
Pipeline
Custom
Docker
Dane wejściowe
Git
Dockerfile
Binary
Image
![Page 33: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/33.jpg)
ServiceVirtual IP
GrupowaniePod-ów
Rodzaje Load Balancer
DNSClusterIPNodeport
LoadBalancer
Endpoint ServiceDiscovery
Env
![Page 34: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/34.jpg)
Service
apiVersion: v1kind: Servicemetadata: labels: app: jug name: jugspec: ports: - name: czesiek port: 8080 protocol: TCP targetPort: 8080 selector: app: jug sessionAffinity: None type: ClusterIP
![Page 35: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/35.jpg)
Label / Selector
Service
selector: app: jug
Pod-1
labels: app: jug
Pod-2
labels: app: jug
![Page 36: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/36.jpg)
Service Discovery
Servicename: jug
Project name: dev
DNS (wewnątrz klastra):jug.dev.svc
ENV: JUG_PORT_8080_TCP_ADDR=172.30.241.153JUG_PORT_8080_TCP=tcp://172.30.241.153:8080JUG_PORT=tcp://172.30.241.153:8080JUG_SERVICE_HOST=172.30.241.153JUG_SERVICE_PORT=8080JUG_PORT_8080_TCP_PORT=8080JUG_PORT_8080_TCP_PROTO=tcpJUG_SERVICE_PORT_CZESIEK=8080
![Page 37: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/37.jpg)
Servicetype: ClusterIPname: db
Servicetype: Endpointname: db
Servicetype: ClusterIPname: db
Proj
ect:
dev
Proj
ect:
sta
ge
Proj
ect:
pro
d
Pod
jdbc:mysql://db:3306
Pod
jdbc:mysql://db:3306
Pod
jdbc:mysql://db:3306
DNS - właściwość konwencji nazw
![Page 38: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/38.jpg)
Route HAProxy
SSLLoad Balancer L7 (HTTP)
Mapowanie publicznych URL-ina Service
Testy A/B
![Page 39: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/39.jpg)
Route
apiVersion: v1kind: Routemetadata: labels: app: jug name: jugspec: host: jug-dev.192.168.99.100.nip.io port: targetPort: czesiek to: kind: Service name: jug weight: 100 wildcardPolicy: None
![Page 40: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/40.jpg)
Servicename: jug
PodIP:10.1.0.4
PodIP:10.2.0.47
Routeto: name: jug
HA
Pro
xy
![Page 41: Maciej Żarczyński · Config Pod Replication Controller. Pod Instancja aplikacji 1+ kontenerów Efemeryczny ReadinessProbe Limit (CPU, RAM) Service Account LivenessProbe. Pod apiVersion:](https://reader033.vdocuments.site/reader033/viewer/2022051900/5fef09cd08e7ca117005f145/html5/thumbnails/41.jpg)
Demo