Was ist das eigentlich? Und was kann es?

Sebastian Dehn Solution Architect Partner Enablement [email protected] Wer bin ich? Worüber reden wir heute?

Die Idee hinter OpenShift Wieso, weshalb warum…?

Lasst uns über Technik reden! Das wichtigste in Kürze

Proof it! Ein kurzer Einblick in die reale OpenShift Welt

Q&A Ich beantworte eure Fragen. Habt ihr welche?

3 Wer kennt es nicht? Parts Unlimited

Bill - VP IT

Steve - CEO

Chris - VP AppDev Der Fokus

Steve - die Kosten minimieren/Ressourcen effizient nutzen

Bill - Modernisierung Infrastruktur & Standardisierung der IT Prozesse

Chris - Modern AppDev & Innovative Technologien A consistent container application platform From your data center, to the cloud, to the edge

Automated Secure by Network Over-the-air Monitoring Pluggable Multi-tenant operations default traffic control updates & chargeback architecture

Bare metal, VMware vSphere, Red Hat Virtualization, Red Hat OpenStack Platform, Amazon Web Services, Microsoft Azure, Google, IBM Cloud CONFIDENTIAL Designator

Zeit für Praxis!

8 CONFIDENTIAL Designator

Die Technik Was sich unter der Haube versteckt

9 Empowering Zeit für Innovationen! developers to innovate

10 OpenShift enables developer productivity

BUILD TEST DEPLOY

Self-service Consistent Automated CI/CD Configuration App logs & provisioning environments build & deploy pipelines management metrics

CODE REVIEW MONITOR

SPRING & JAVA™ EE MICROSERVICES FUNCTIONS

LANGUAGES DATABASES APPLICATION SERVICES

LINUX WINDOWS*

* coming soon BUILD AND DEPLOY CONTAINER IMAGES

DEPLOY YOUR DEPLOY YOUR DEPLOY YOUR SOURCE CODE APP BINARY CONTAINER IMAGE DEPLOY SOURCE CODE WITH SOURCE-TO-IMAGE (S2I)

Git code BUILD APP Repository (OpenShift) Developer

Source-to-Image BUILD IMAGE (S2I) (OpenShift) Builder Image Image Registry

Application deploy DEPLOY Container (OpenShift)

User/Tool Does OpenShift Does DEPLOY APP BINARY WITH SOURCE-TO-IMAGE (S2I)

Application build Binary BUILD APP (e.g. WAR) (Build Infra) Existing Build Process

Source-to-Image BUILD IMAGE (S2I) (OpenShift) Builder Image Image Registry

Application deploy DEPLOY Container (OpenShift)

User/Tool Does OpenShift Does DEPLOY IMAGE

build Application Image BUILD IMAGE (Build Infra) Existing Image Build Process

Image PUSH Registry (Build Infra)

Application deploy DEPLOY Container (Openshift)

User/Tool Does OpenShift Does Build and Deploy Process 4 4 Dockerfile 1 Push 2 App Image Registry

Source BuildConfig Pull Builder 3 Pod 3 Base Registry Jenkinsfile Image 6 6 Pull 5 App Image

DeploymentConfig/ Deployer Deployment Pod 7

16 Node OpenShift 4 Und so sieht die Architektur der Plattform Architecture aus!

17 OPENSHIFT CONTAINER PLATFORM | Architectural Overview your choice of infrastructure

COMPUTE NETWORK STORAGE

18 OPENSHIFT CONTAINER PLATFORM | Architectural Overview workers run workloads

WORKER WORKER

COMPUTE NETWORK STORAGE

19 OPENSHIFT CONTAINER PLATFORM | Architectural Overview masters are the control plane

MASTER

COMPUTE NETWORK STORAGE

20 OPENSHIFT CONTAINER PLATFORM | Architectural Overview everything runs in pods

IMAGE CONTAINER CONTAINER

POD

10.140.4.44

21 OPENSHIFT CONTAINER PLATFORM | Architectural Overview state of everything

etcd

MASTER

COMPUTE NETWORK STORAGE

22 OPENSHIFT CONTAINER PLATFORM | Architectural Overview core components

Kubernetes API server

Kubernetes Scheduler services

etcd

Cluster Management

MASTER

COMPUTE NETWORK STORAGE

23 OPENSHIFT CONTAINER PLATFORM | Architectural Overview core OpenShift components

OpenShift services OpenShift API server

Kubernetes Operator Lifecycle services Management

etcd

Web Console

MASTER

COMPUTE NETWORK STORAGE

24 OPENSHIFT CONTAINER PLATFORM | Architectural Overview internal and support infrastructure services

OpenShift Services

Infrastructure Monitoring | Logging | Tuned | SDN | DNS | Kubelet services

Kubernetes services

etcd

MASTER

COMPUTE NETWORK STORAGE

25 OPENSHIFT CONTAINER PLATFORM | Architectural Overview run on all hosts

OpenShift Services

Infrastructure services

Kubernetes services

etcd

Monitoring | Logging | Tuned Monitoring | Logging | Tuned SDN | DNS | Kubelet SDN | DNS | Kubelet

MASTER WORKER WORKER

COMPUTE NETWORK STORAGE

26 OPENSHIFT CONTAINER PLATFORM | Architectural Overview integrated image registry

OpenShift Services

Infrastructure Registry Registry services

Kubernetes services

etcd

Monitoring | Logging | Tuned Monitoring | Logging | Tuned SDN | DNS | Kubelet SDN | DNS | Kubelet

MASTER WORKER WORKER

COMPUTE NETWORK STORAGE

27 OPENSHIFT CONTAINER PLATFORM | Architectural Overview cluster monitoring

OpenShift Services

Infrastructure Registry Registry services

Kubernetes services

Prometheus | Prometheus | Grafana Alertmanager Alertmanager etcd

Monitoring | Logging | Tuned Monitoring | Logging | Tuned SDN | DNS | Kubelet SDN | DNS | Kubelet

MASTER WORKER WORKER

COMPUTE NETWORK STORAGE

28 OPENSHIFT CONTAINER PLATFORM | Architectural Overview log aggregation

OpenShift Services Kibana | Elasticsearch Kibana | Elasticsearch

Infrastructure Registry Registry services

Kubernetes services

Prometheus | Grafana Prometheus | Grafana Alertmanager Alertmanager etcd

Monitoring | Logging | Tuned Monitoring | Logging | Tuned SDN | DNS | Kubelet SDN | DNS | Kubelet

MASTER WORKER WORKER

COMPUTE NETWORK STORAGE

29 OPENSHIFT CONTAINER PLATFORM | Architectural Overview integrated routing

OpenShift Services Kibana | Elasticsearch Kibana | Elasticsearch

Infrastructure Registry Registry services

Router Router Kubernetes services

Prometheus | Grafana Prometheus | Grafana Alertmanager Alertmanager etcd

Monitoring | Logging | Tuned Monitoring | Logging | Tuned SDN | DNS | Kubelet SDN | DNS | Kubelet

MASTER WORKER WORKER

COMPUTE NETWORK STORAGE

30 OPENSHIFT CONTAINER PLATFORM | Architectural Overview dev and ops via web, cli, API, and IDE

OpenShift Services Kibana | Elasticsearch Kibana | Elasticsearch

SCM Registry Registry (GIT) Infrastructure services

Router Router Developers CI/CD Kubernetes services

Prometheus | Grafana Prometheus | Grafana Alertmanager Alertmanager EXISTING etcd AUTOMATION TOOLSETS Monitoring | Logging | Tuned Monitoring | Logging | Tuned

Admins SDN | DNS | Kubelet SDN | DNS | Kubelet

MASTER WORKER WORKER

COMPUTE NETWORK STORAGE

31 Red Hat Und was ist die Basis? Enterprise Linux CoreOS

32 OPENSHIFT CONTAINER PLATFORM | Architectural Overview

OpenShift Services Kibana | Elasticsearch Kibana | Elasticsearch

SCM Registry Registry (GIT) Infrastructure services

Router Router Developers CI/CD Kubernetes services

Prometheus | Grafana Prometheus | Grafana Alertmanager Alertmanager EXISTING etcd AUTOMATION TOOLSETS Monitoring | Logging | Tuned Monitoring | Logging | Tuned

Admins SDN | DNS | Kubelet SDN | DNS | Kubelet

MASTER WORKER WORKER

COMPUTE NETWORK STORAGE

33 OPENSHIFT PLATFORM Immutable Operating System

Red Hat Enterprise Linux CoreOS is versioned with RHEL CoreOS admins are responsible for: OpenShift Nothing. CoreOS is tested and shipped in conjunction with the platform. Red Hat runs thousands of tests against these configurations.

Red Hat Enterprise Linux CoreOS is managed by the cluster The Operating system is operated as part of the cluster, with v4.1.6 the config for components managed by Machine Config Operator: ● CRI-O config ● Kubelet config ● Authorized registries v4.1.6 ● SSH config OpenShift Architecture

A lightweight, OCI-compliant container runtime

Runs any Minimal and Secure Optimized for OCI-compliant image Architecture Kubernetes (including docker)

35 OpenShift Architecture podman

A docker-compatible CLI for containers ● Remote management API via Varlink ● Image/container tagging ● Advanced namespace isolation 36 OpenShift Architecture buildah

Secure & flexible OCI container builds ● Integrated into OCP build pods ● Performance improvements for knative enablement ● Image signing improvements 37 CoreOS “pod” architecture

etcd kube coredns

controller-manager controller-manager

kubelet CRI-O

kube-scheduler kube-apiserver openshift-apiserver openshift-oauth systemd-managed native binaries kubelet static containers scheduled containers OpenShift Das allsehende Auge! Monitoring

39 OPENSHIFT CONTAINER PLATFORM | Architectural Overview

OpenShift Services Kibana | Elasticsearch Kibana | Elasticsearch

SCM Registry Registry (GIT) Infrastructure services

Router Router Developers CI/CD Kubernetes services

Prometheus | Grafana Prometheus | Grafana Alertmanager Alertmanager EXISTING etcd AUTOMATION TOOLSETS Monitoring | Logging | Tuned Monitoring | Logging | Tuned

Admins SDN | DNS | Kubelet SDN | DNS | Kubelet

MASTER WORKER WORKER

COMPUTE NETWORK STORAGE

40 OPENSHIFT MONITORING | Solution Overview

OpenShift Cluster Monitoring

Metrics collection and storage Alerting/notification via Metrics visualization via via Prometheus, an Prometheus’ Alertmanager, an Grafana, the leading metrics open-source monitoring system open-source tool that handles visualization technology. time series database. alerts send by Prometheus.

41 OPENSHIFT MONITORING | Operator & Operand Relationships

Grafana node-exporter

kube-state-metrics openshift-state-metrics (4.2) cluster-monitoring-operator

prometheus-adapter telemeter-client

Prometheus Alertmanager prometheus-operator

42 OPENSHIFT MONITORING | Prometheus, Grafana and Alertmanager Wiring

Grafana Prometheus Alertmanager

Control Plane (API) kube-state-metrics

node-exporter node-exporter

Node (kubelet) Node (kubelet)

Infra/Worker (“hardware”) Worker (“hardware”)

43 OpenShift Ihr sucht, ihr findet! Logging

44 OPENSHIFT CONTAINER PLATFORM | Architectural Overview

OpenShift Services Kibana | Elasticsearch Kibana | Elasticsearch

SCM Registry Registry (GIT) Infrastructure services

Router Router Developers CI/CD Kubernetes services

Prometheus | Grafana Prometheus | Grafana Alertmanager Alertmanager EXISTING etcd AUTOMATION TOOLSETS Monitoring | Logging | Tuned Monitoring | Logging | Tuned

Admins SDN | DNS | Kubelet SDN | DNS | Kubelet

MASTER WORKER WORKER

COMPUTE NETWORK STORAGE

45 OPENSHIFT LOGGING | Solution Overview

Observability via log exploration and corroboration with EFK

Components

○ Elasticsearch: a search and analytics engine to store logs ○ Fluentd: gathers logs and sends to Elasticsearch. ○ Kibana: A web UI for Elasticsearch.

Access control

○ Cluster administrators can view all logs ○ Users can only view logs for their projects

Ability to forward logs elsewhere

○ External elasticsearch, Splunk, etc 46 OPENSHIFT LOGGING | Operator & Operand Relationships

ElasticSearch ElasticSearch Operator Cluster

Cluster Logging Kibana Operator

Curator CronJob ...

Fluentd (per node) 47 Curator OPENSHIFT LOGGING | Architecture

Log data flow in OpenShift

Fluentd

TLS Fluentd TLS Node Elasticsearch Kibana Fluentd Node Application Logs Node

48 OPENSHIFT LOGGING | Architecture

Log data flow in OpenShift

stdout stderr

Fluentd TLS Elasticsearch

CRI-O OS DISK journald

kubelet

Node (OS)

49 Persistent Connecting real-world storage to your Storage containers to enable stateful applications

50 OPENSHIFT CONTAINER PLATFORM | Architectural Overview

OpenShift Services Kibana | Elasticsearch Kibana | Elasticsearch

SCM Registry Registry (GIT) Infrastructure services

Router Router Developers CI/CD Kubernetes services

Prometheus | Grafana Prometheus | Grafana Alertmanager Alertmanager EXISTING etcd AUTOMATION TOOLSETS Monitoring | Logging | Tuned Monitoring | Logging | Tuned

Admins SDN | DNS | Kubelet SDN | DNS | Kubelet

MASTER WORKER WORKER

COMPUTE NETWORK STORAGE

51 OPENSHIFT CONTAINER PLATFORM | Persistent Storage

A broad spectrum of static and dynamic storage endpoints

NFS OpenStack Cinder iSCSI Azure Disk AWS EBS FlexVolume

GCE Persistent VMWare GlusterFS RBD Fiber Channel Azure File Disk vSphere VMDK

Container Storage NetApp Trident* Interface (CSI)** OPENSHIFT CONTAINER PLATFORM | Persistent Storage

PV Consumption

PV Storage

CONTAINER apiVersion: v1 kind: Pod metadata: name: mypod POD spec: containers: /foo/bar Claim - name: myfrontend Z image: nginx volumeMounts: Kubelet - mountPath: "/var/www/html" name: mypd Node volumes: - name: mypd persistentVolumeClaim: claimName: z OPENSHIFT CONTAINER PLATFORM | Persistent Storage

Static Storage Provisioning

Define/Map

NFS iSCSI NFS iSCSI PV PV ... PVNFS PViSCSI 2Gi NFS PV PV

Admin PersistentVolumes

CONTAINER Mount

Bind POD

Claim ... Z VolumeMount: Z

Pod Definition User 2Gi RWX OPENSHIFT CONTAINER PLATFORM | Persistent Storage

Dynamic Storage Provisioning

Mount Fast 2Gi NFS NetApp Flash

NetApp SSD

Block Create VMware VMDK

Admin Map Good Master PV CONTAINER NetApp SSD

StorageClass POD

Bind

Claim Z ... VolumeMount: Z 2Gi RWX User Good Pod Definition CONFIDENTIAL Designator

Eure Fragen!

56 Nützliches

OpenShift Blog

Lerne OpenShift

Mein YouTube Channel

57 CONFIDENTIAL Designator

Danke! linkedin.com/company/red-hat

youtube.com/user/RedHatVideos

facebook.com/redhatinc

twitter.com/RedHat

58