Slide 1

Slide 1 text

Bruno Russi Lautenschlager Transformation Architect LATAM OpenShift 101

Slide 2

Slide 2 text

Red Hat OpenShift and Kubernetes core concepts 2

Slide 3

Slide 3 text

3 A container is the smallest compute unit Red Hat OpenShift Concepts CONTAINER

Slide 4

Slide 4 text

4 Containers are created from container images Red Hat OpenShift Concepts BINARY RUNTIME CONTAINER CONTAINER IMAGE

Slide 5

Slide 5 text

5 Container images are stored in an image registry Red Hat OpenShift Concepts CONTAINER REGISTRY CONTAINER

Slide 6

Slide 6 text

6 An image repository contains all versions of an image in the image registry Red Hat OpenShift Concepts IMAGE REGISTRY frontend:latest frontend:2.0 frontend:1.1 frontend:1.0 mongo:latest mongo:3.7 mongo:3.6 mongo:3.4 myregistry/frontend myregistry/mongo

Slide 7

Slide 7 text

7 Everything runs in pods Red Hat OpenShift Concepts 10.140.4.44 CONTAINER CONTAINER IMAGE POD

Slide 8

Slide 8 text

8 Containers are wrapped in pods which are units of deployment and management Red Hat OpenShift Concepts 10.140.4.44 10.15.6.55 POD POD

Slide 9

Slide 9 text

9 ReplicationControllers & ReplicaSets ensure a specified number of pods are running at any given time Red Hat OpenShift Concepts image name replicas labels cpu memory storage ReplicaSet ReplicationController ... 1 2 N POD POD POD

Slide 10

Slide 10 text

10 Deployments and DeploymentConfigurations define how to roll out new versions of Pods Red Hat OpenShift Concepts image name replicas labels version strategy Deployment DeploymentConfig v1 v2 POD POD

Slide 11

Slide 11 text

11 A daemonset ensures that all (or some) nodes run a copy of a pod Red Hat OpenShift Concepts foo = bar Node image name replicas labels cpu memory storage DaemonSet foo = bar Node foo = baz Node ✓ ✓ POD POD

Slide 12

Slide 12 text

12 Dev Configmaps allow you to decouple configuration artifacts from image content Red Hat OpenShift Concepts appconfig.conf MYCONFIG=true ConfigMap Prod appconfig.conf MYCONFIG=false ConfigMap POD POD

Slide 13

Slide 13 text

13 Secrets provide a mechanism to hold sensitive information such as passwords Red Hat OpenShift Concepts The etcd datastore can be encrypted for additional security https://docs.openshift.com/container-platform/4.6/security/encrypting-etcd.html Dev hash.pw ZGV2Cg== ConfigMap Prod hash.pw cHJvZAo= ConfigMap POD POD

Slide 14

Slide 14 text

14 Services provide internal load-balancing and service discovery across pods Red Hat OpenShift & Kubernetes Concepts 10.110.1.11 10.120.2.22 10.130.3.33 10.140.4.44 POD POD POD POD role: frontend role: backend role: backend role: backend role: backend SERVICE “backend”

Slide 15

Slide 15 text

15 Apps can talk to each other via services Red Hat OpenShift & Kubernetes Concepts POD POD POD POD 10.110.1.11 10.120.2.22 10.130.3.33 10.140.4.44 role: frontend role: backend role: backend role: backend role: backend SERVICE “backend”

Slide 16

Slide 16 text

16 Routes make services accessible to clients outside the environment via real-world urls Red Hat OpenShift Concepts > curl http://app-prod.mycompany.com app-prod.mycompany.com POD POD POD role: frontend role: frontend role: frontend role: backend SERVICE “frontend” Route

Slide 17

Slide 17 text

17 Persistent Volume and Claims Red Hat OpenShift Concepts My app is stateful. PersistentVolumeClaim PersistentVolume POD 2Gi 2Gi

Slide 18

Slide 18 text

18 Readiness probe Red Hat OpenShift Concepts ready?

Slide 19

Slide 19 text

19 Liveness probe Red Hat OpenShift Concepts alive?

Slide 20

Slide 20 text

20 Projects isolate apps across environments, teams, groups and departments Red Hat OpenShift Concepts PAYMENT DEV PAYMENT PROD CATALOG INVENTORY ❌ ❌ ❌ POD POD POD POD POD POD POD POD POD POD POD POD

Slide 21

Slide 21 text

Red Hat OpenShift Architecture 21

Slide 22

Slide 22 text

22 Your choice of infrastructure Red Hat OpenShift | Architectural Overview STORAGE NETWORK COMPUTE

Slide 23

Slide 23 text

23 Workers run workloads Red Hat OpenShift | Architectural Overview STORAGE NETWORK COMPUTE COMPUTE COMPUTE

Slide 24

Slide 24 text

24 Control plane nodes control the cluster Red Hat OpenShift | Architectural Overview STORAGE NETWORK COMPUTE CONTROL PLANE

Slide 25

Slide 25 text

25 State of everything Red Hat OpenShift | Architectural Overview STORAGE NETWORK COMPUTE etcd CONTROL PLANE

Slide 26

Slide 26 text

26 The core Kubernetes components Red Hat OpenShift | Architectural Overview STORAGE NETWORK COMPUTE Kubernetes Services etcd Kubernetes API server Scheduler Cluster Management CONTROL PLANE

Slide 27

Slide 27 text

27 Internal and support infrastructure services Red Hat OpenShift | Architectural Overview STORAGE NETWORK COMPUTE Infrastructure Services Kubernetes Services etcd Monitoring | Logging |Tuned |SDN | DNS | Kubelet CONTROL PLANE

Slide 28

Slide 28 text

28 The core Red Hat OpenShift components Red Hat OpenShift | Architectural Overview STORAGE NETWORK COMPUTE Infrastructure Services Kubernetes Services etcd OpenShift API server Operator Lifecycle Management Web Console CONTROL PLANE Red Hat OpenShift Services

Slide 29

Slide 29 text

29 Run on all hosts Red Hat OpenShift | Architectural Overview STORAGE NETWORK COMPUTE Infrastructure Services Kubernetes Services etcd COMPUTE COMPUTE Monitoring | Logging | Tuned SDN | DNS | Kubelet Monitoring | Logging | Tuned SDN | DNS | Kubelet CONTROL PLANE Red Hat OpenShift Services

Slide 30

Slide 30 text

30 Cluster monitoring Red Hat OpenShift | Architectural Overview STORAGE NETWORK COMPUTE Infrastructure Services Kubernetes Services etcd COMPUTE COMPUTE Prometheus | Grafana Alertmanager Prometheus | Grafana Alertmanager Monitoring | Logging | Tuned SDN | DNS | Kubelet Monitoring | Logging | Tuned SDN | DNS | Kubelet CONTROL PLANE Red Hat OpenShift Services

Slide 31

Slide 31 text

31 Integrated routing Red Hat OpenShift | Architectural Overview STORAGE NETWORK COMPUTE Infrastructure Services Kubernetes Services etcd COMPUTE COMPUTE Router Router Prometheus | Grafana Alertmanager Prometheus | Grafana Alertmanager Monitoring | Logging | Tuned SDN | DNS | Kubelet Monitoring | Logging | Tuned SDN | DNS | Kubelet CONTROL PLANE Red Hat OpenShift Services

Slide 32

Slide 32 text

32 Integrated image registry Red Hat OpenShift | Architectural Overview STORAGE NETWORK COMPUTE Infrastructure Services Kubernetes Services etcd COMPUTE COMPUTE Registry Registry Router Router Prometheus | Grafana Alertmanager Prometheus | Grafana Alertmanager Monitoring | Logging | Tuned SDN | DNS | Kubelet Monitoring | Logging | Tuned SDN | DNS | Kubelet CONTROL PLANE Red Hat OpenShift Services

Slide 33

Slide 33 text

33 Log aggregation Red Hat OpenShift | Architectural Overview STORAGE NETWORK COMPUTE Infrastructure Services Kubernetes Services etcd COMPUTE COMPUTE Kibana | Elasticsearch Kibana | Elasticsearch Registry Registry Router Router Prometheus | Grafana Alertmanager Prometheus | Grafana Alertmanager Monitoring | Logging | Tuned SDN | DNS | Kubelet Monitoring | Logging | Tuned SDN | DNS | Kubelet CONTROL PLANE Red Hat OpenShift Services

Slide 34

Slide 34 text

34 Normal cluster operations Red Hat OpenShift | Architectural Overview STORAGE NETWORK COMPUTE Infrastructure Services Kubernetes Services etcd COMPUTE COMPUTE CONTROL PLANE Red Hat OpenShift Services

Slide 35

Slide 35 text

35 Auto-healing failed pods Red Hat OpenShift | Architectural Overview STORAGE NETWORK COMPUTE Infrastructure Services Kubernetes Services etcd COMPUTE COMPUTE CONTROL PLANE Red Hat OpenShift Services

Slide 36

Slide 36 text

36 Auto-healing failed pods Red Hat OpenShift | Architectural Overview STORAGE NETWORK COMPUTE Infrastructure Services Kubernetes Services etcd COMPUTE COMPUTE CONTROL PLANE Red Hat OpenShift Services

Slide 37

Slide 37 text

37 Auto-healing failed nodes Red Hat OpenShift | Architectural Overview STORAGE NETWORK COMPUTE Infrastructure Services Kubernetes Services etcd COMPUTE COMPUTE CONTROL PLANE Red Hat OpenShift Services

Slide 38

Slide 38 text

38 Auto-healing failed nodes Red Hat OpenShift | Architectural Overview STORAGE NETWORK COMPUTE Infrastructure Services Kubernetes Services etcd COMPUTE COMPUTE CONTROL PLANE Red Hat OpenShift Services

Slide 39

Slide 39 text

39 Dev and Ops via web, cli, API, and IDE Red Hat OpenShift | Architectural Overview EXISTING AUTOMATION TOOLSETS SCM (GIT) CI/CD STORAGE NETWORK COMPUTE Developers Admins Red Hat OpenShift Services Infrastructure Services Kubernetes Services etcd COMPUTE COMPUTE Kibana | Elasticsearch Kibana | Elasticsearch Registry Registry Router Router Prometheus | Grafana Alertmanager Prometheus | Grafana Alertmanager Monitoring | Logging | Tuned SDN | DNS | Kubelet Monitoring | Logging | Tuned SDN | DNS | Kubelet CONTROL PLANE

Slide 40

Slide 40 text

Runtime, Build, Synchronize RHEL CoreOS OCI tooling to create, run, and manage, Linux Containers with a cluster-friendly life cycle skopeo A lightweight OCI-compliant runtime ● Minimal and secure architecture ● Optimized for Kubernetes ● Run any OCI-compliant container image (including docker) A docker-compatible CLI for containers ● Remote management API via Varlink ● Image/container tagging ● Advanced namespace isolation Inspect, push/pull, and sign OCI images ● Inspect image manifests ● Transfer images between registries

Slide 41

Slide 41 text

BROAD ECOSYSTEM OF WORKLOADS CRI-O, Kubernetes, and OpenShift CRI-O 1.24 Kubernetes 1.24 OpenShift 4.11 CRI-O tracks and versions identical to Kubernetes, simplifying support permutations

Slide 42

Slide 42 text

Learning, Training and Resources 42

Slide 43

Slide 43 text

Openshift Learning, Documentation, and Resources Red Hat Openshift Documentation ● Openshift Documentation (4.11) ● Openshift Docs - Deploying Containerized Applications ● Openshift TV - Youtube, Twitch Red Hat Developer Sandbox ● Red Hat Developer Sandbox (Helm, Eclipse Che, Openshift)

Slide 44

Slide 44 text

Red Hat Developer, Kubernetes, and Openshift Training ● DO288: Red Hat OpenShift Development II: Containerizing Applications ● EX288: Red Hat Certified Specialist in OpenShift Application Development exam ● AD183: Red Hat Application Development I: Programming in Java EE ● EX183: Red Hat Certified Enterprise Application Developer exam ● DO378: Red Hat Cloud-Native Microservices Development with Quarkus ● DO328: Building Resilient Microservices with Istio and Red Hat OpenShift Service Mesh ● DO180: Red Hat OpenShift I: Containers & Kubernetes ● EX180: Red Hat Red Hat Certified Specialist in Containers and Kubernetes exam

Slide 45

Slide 45 text

Openshift TV

Slide 46

Slide 46 text

linkedin.com/company/red-hat youtube.com/user/RedHatVideos facebook.com/redhatinc twitter.com/RedHat OPEN INNOVATION LABS 46 red.ht/labs Thank you.