SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
Kubernetes
Michael Frembs | 15. Januar 2021
Pets vs. Cattle
Michael Frembs
Bachelor & Master of Science Informatik
an der FAU Erlangen-Nürnberg
Oktober 2007 bis Dezember 2012
(zuletzt) Teamlead Cloud-native & API
bei ARS Computer & Consulting
März 2013 bis April 2020
Cloud Platform Architect
bei den Stadtwerken München
seit Mai 2020
Prometheus & Grafana

OpenSource, Teil der CNCF

Time-Series-Database

Gut für Metriken

OpenSource, Teil der CNCF

Dashboards mit Graphen

Gut um eine Übersicht zu erhalten
CNCF = Cloud Native Computing Foundation
Setup
(lokales Kubernetes)
Software

Windows 10

WSL2 mit Ubuntu 20.04

Docker Desktop

KinD mit Kubernetes v19.1

Anleitung:
https://kubernetes.io/blog/2020/05/2
1/wsl-docker-kubernetes-on-the-
windows-desktop/
Hardware

16 GB RAM

Ryzen 7 PRO 4750U
Pod Deployer Types
App: foo
Application: bar
App: foo
service: foo
Pod
Bündelt alle Pods mit
bestimmtem Label
Erzeugt Pods
„Pod Deployer“

Deployment

StatefulSet

DaemonSet

(Cron)Job
Service
Pod Deployer
Kubernetes ist deklarativ

Gewünschter Zustand von Entwickler
definiert

Abgleich des tatsächlichen Zustands
mit einem Controller
Controller Beispiel: Replica Set
Habe ich
N Pods?
Lösche 1 Pod
Erstelle 1 Pod
Gewünschter
Zustand
Mehr als N Pods
Weniger als N Pods
Angelehnt an: https://octetz.com/docs/2019/2019-10-13-controllers-and-operators/
Die Darstellung ist
nur beispielhaft und
entspricht nicht der
Implementierung
des replicaset-
controllers
Custom Resources

Erweiterbarkeit / Plugin

Werden über eine Custom Resource
Definition (CRD) erstellt

Dynamic Registration

Benutzbar genauso wie built-in
Ressources wie Pods oder
Deployments
Operator
An Operator is an application-specific
controller that extends the Kubernetes
API to create, configure and manage
instances of complex stateful
applications on behalf of a Kubernetes
user.
It builds upon the basic Kubernetes
resource and controller concepts, but
also includes domain or application-
specific knowledge to automate
common tasks better managed by
computers.
https://coreos.com/blog/introducing-operators.html
Beispiel: Prometheus Operator
The Prometheus Operator provides Kubernetes
native deployment and management of
Prometheus and related monitoring components.
The purpose of this project is to simplify and
automate the configuration of a Prometheus
based monitoring stack for Kubernetes clusters.
The Prometheus operator includes, but is not
limited to, the following features:

Kubernetes Custom Resources: Use
Kubernetes custom resources to deploy and
manage Prometheus, Alertmanager, and related
components.

Simplified Deployment Configuration:
Configure the fundamentals of Prometheus like
versions, persistence, retention policies, and
replicas from a native Kubernetes resource.

Prometheus Target Configuration:
Automatically generate monitoring target
configurations based on familiar Kubernetes
label queries; no need to learn a Prometheus
specific configuration language.
https://github.com/prometheus-operator/prometheus-operator
Quarkus
https://quarkus.io/
Quarkus Präsentation
Komplette Präsentation hier:
https://de2.slideshare.net/MichaelFrembs/
quarkus-graalvm-und-co-java-in-der-
cloudnative-welt/MichaelFrembs/quarkus-
graalvm-und-co-java-in-der-cloudnative-
welt
Prometheus ServiceMonitor
https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/user-guides/getting-started.md
Service Accounts
Authentication
Normal User

Werden nicht von K8s verwaltet

Z.B. über LDAP oder OpenID Connect
Service Accounts

Werden per API-Call erstellt

Können mit Pods verknüpft werden

Token werden im Secret automatisch
erstellt (dauerhaft)
Role Base Access Control
Authorization
(Cluster)Role

Definition der Rechte auf
Ressourcenebene

Angabe der Rechte nach Verben

Entweder Namespacegebunden oder
Clusterübergreifend
(Cluster)RoleBinding

Verknüpfung einer Rolle mit einem
Nutzer (sowohl Normal User als auch
Service Account)
Kontakt

LinkedIn:
https://www.linkedin.com/in/michael-frembs/

SlideShare
https://de.slideshare.net/MichaelFrembs

GitHub
https://github.com/frembsm

Weitere ähnliche Inhalte

Ähnlich wie Kubernetes

Verteilte Anwendungen bei Azure mit Docker und Kubernetes
Verteilte Anwendungen bei Azure mit Docker und KubernetesVerteilte Anwendungen bei Azure mit Docker und Kubernetes
Verteilte Anwendungen bei Azure mit Docker und KubernetesGregor Biswanger
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenOPITZ CONSULTING Deutschland
 
Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...
Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...
Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...Bernd Zuther
 
OpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und EntwicklungsumgebungenOpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und EntwicklungsumgebungenB1 Systems GmbH
 
Kubernetes ist so viel mehr als ein Container Orchestrierer
Kubernetes ist so viel mehr als ein Container OrchestriererKubernetes ist so viel mehr als ein Container Orchestrierer
Kubernetes ist so viel mehr als ein Container OrchestriererQAware GmbH
 
Docker - Automatisches Deployment für Linux-Instanzen
Docker - Automatisches Deployment für Linux-Instanzen Docker - Automatisches Deployment für Linux-Instanzen
Docker - Automatisches Deployment für Linux-Instanzen B1 Systems GmbH
 
fn project serverless computing
fn project serverless computingfn project serverless computing
fn project serverless computingWolfgang Weigend
 
Dataservices - Data Processing mit Microservices
Dataservices - Data Processing mit MicroservicesDataservices - Data Processing mit Microservices
Dataservices - Data Processing mit MicroservicesQAware GmbH
 
OpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und EntwicklungsumgebungenOpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und EntwicklungsumgebungenB1 Systems GmbH
 
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...B1 Systems GmbH
 
10 Gute Gruende - NetApp DevOps
10 Gute Gruende - NetApp DevOps10 Gute Gruende - NetApp DevOps
10 Gute Gruende - NetApp DevOpsNetApp_Germany
 
.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht
.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht
.NET Core, .NET Standard & ASP.NET Core - Eine ÜbersichtJürgen Gutsch
 
Boost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerBoost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerSteven Grzbielok
 
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperr
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperrOracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperr
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperrGunther Pippèrr
 
Monitoring Openstack - LinuxTag 2013
Monitoring Openstack - LinuxTag 2013Monitoring Openstack - LinuxTag 2013
Monitoring Openstack - LinuxTag 2013NETWAYS
 
Per Anhalter zu Cloud-nativen API Gateways
Per Anhalter zu Cloud-nativen API GatewaysPer Anhalter zu Cloud-nativen API Gateways
Per Anhalter zu Cloud-nativen API GatewaysQAware GmbH
 

Ähnlich wie Kubernetes (20)

Verteilte Anwendungen bei Azure mit Docker und Kubernetes
Verteilte Anwendungen bei Azure mit Docker und KubernetesVerteilte Anwendungen bei Azure mit Docker und Kubernetes
Verteilte Anwendungen bei Azure mit Docker und Kubernetes
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und Architekten
 
Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...
Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...
Java Aktuell Bernd Zuther Canary Releases mit der Very Awesome Microservices ...
 
OpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und EntwicklungsumgebungenOpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
 
Kubernetes ist so viel mehr als ein Container Orchestrierer
Kubernetes ist so viel mehr als ein Container OrchestriererKubernetes ist so viel mehr als ein Container Orchestrierer
Kubernetes ist so viel mehr als ein Container Orchestrierer
 
Docker - Automatisches Deployment für Linux-Instanzen
Docker - Automatisches Deployment für Linux-Instanzen Docker - Automatisches Deployment für Linux-Instanzen
Docker - Automatisches Deployment für Linux-Instanzen
 
fn project serverless computing
fn project serverless computingfn project serverless computing
fn project serverless computing
 
.NET und jetzt!
.NET und jetzt!.NET und jetzt!
.NET und jetzt!
 
Dataservices - Data Processing mit Microservices
Dataservices - Data Processing mit MicroservicesDataservices - Data Processing mit Microservices
Dataservices - Data Processing mit Microservices
 
OpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und EntwicklungsumgebungenOpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
 
Vagrant
VagrantVagrant
Vagrant
 
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
 
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
 
DOAG Webcast 2019_kubernetes
DOAG Webcast 2019_kubernetesDOAG Webcast 2019_kubernetes
DOAG Webcast 2019_kubernetes
 
10 Gute Gruende - NetApp DevOps
10 Gute Gruende - NetApp DevOps10 Gute Gruende - NetApp DevOps
10 Gute Gruende - NetApp DevOps
 
.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht
.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht
.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht
 
Boost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerBoost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with Docker
 
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperr
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperrOracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperr
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperr
 
Monitoring Openstack - LinuxTag 2013
Monitoring Openstack - LinuxTag 2013Monitoring Openstack - LinuxTag 2013
Monitoring Openstack - LinuxTag 2013
 
Per Anhalter zu Cloud-nativen API Gateways
Per Anhalter zu Cloud-nativen API GatewaysPer Anhalter zu Cloud-nativen API Gateways
Per Anhalter zu Cloud-nativen API Gateways
 

Kubernetes

  • 1. Kubernetes Michael Frembs | 15. Januar 2021
  • 2.
  • 3.
  • 4.
  • 6. Michael Frembs Bachelor & Master of Science Informatik an der FAU Erlangen-Nürnberg Oktober 2007 bis Dezember 2012 (zuletzt) Teamlead Cloud-native & API bei ARS Computer & Consulting März 2013 bis April 2020 Cloud Platform Architect bei den Stadtwerken München seit Mai 2020
  • 7. Prometheus & Grafana  OpenSource, Teil der CNCF  Time-Series-Database  Gut für Metriken  OpenSource, Teil der CNCF  Dashboards mit Graphen  Gut um eine Übersicht zu erhalten CNCF = Cloud Native Computing Foundation
  • 8. Setup (lokales Kubernetes) Software  Windows 10  WSL2 mit Ubuntu 20.04  Docker Desktop  KinD mit Kubernetes v19.1  Anleitung: https://kubernetes.io/blog/2020/05/2 1/wsl-docker-kubernetes-on-the- windows-desktop/ Hardware  16 GB RAM  Ryzen 7 PRO 4750U
  • 9. Pod Deployer Types App: foo Application: bar App: foo service: foo Pod Bündelt alle Pods mit bestimmtem Label Erzeugt Pods „Pod Deployer“  Deployment  StatefulSet  DaemonSet  (Cron)Job Service Pod Deployer
  • 10. Kubernetes ist deklarativ  Gewünschter Zustand von Entwickler definiert  Abgleich des tatsächlichen Zustands mit einem Controller
  • 11. Controller Beispiel: Replica Set Habe ich N Pods? Lösche 1 Pod Erstelle 1 Pod Gewünschter Zustand Mehr als N Pods Weniger als N Pods Angelehnt an: https://octetz.com/docs/2019/2019-10-13-controllers-and-operators/ Die Darstellung ist nur beispielhaft und entspricht nicht der Implementierung des replicaset- controllers
  • 12. Custom Resources  Erweiterbarkeit / Plugin  Werden über eine Custom Resource Definition (CRD) erstellt  Dynamic Registration  Benutzbar genauso wie built-in Ressources wie Pods oder Deployments
  • 13. Operator An Operator is an application-specific controller that extends the Kubernetes API to create, configure and manage instances of complex stateful applications on behalf of a Kubernetes user. It builds upon the basic Kubernetes resource and controller concepts, but also includes domain or application- specific knowledge to automate common tasks better managed by computers. https://coreos.com/blog/introducing-operators.html
  • 14. Beispiel: Prometheus Operator The Prometheus Operator provides Kubernetes native deployment and management of Prometheus and related monitoring components. The purpose of this project is to simplify and automate the configuration of a Prometheus based monitoring stack for Kubernetes clusters. The Prometheus operator includes, but is not limited to, the following features:  Kubernetes Custom Resources: Use Kubernetes custom resources to deploy and manage Prometheus, Alertmanager, and related components.  Simplified Deployment Configuration: Configure the fundamentals of Prometheus like versions, persistence, retention policies, and replicas from a native Kubernetes resource.  Prometheus Target Configuration: Automatically generate monitoring target configurations based on familiar Kubernetes label queries; no need to learn a Prometheus specific configuration language. https://github.com/prometheus-operator/prometheus-operator
  • 16.
  • 18. Quarkus Präsentation Komplette Präsentation hier: https://de2.slideshare.net/MichaelFrembs/ quarkus-graalvm-und-co-java-in-der- cloudnative-welt/MichaelFrembs/quarkus- graalvm-und-co-java-in-der-cloudnative- welt
  • 20. Service Accounts Authentication Normal User  Werden nicht von K8s verwaltet  Z.B. über LDAP oder OpenID Connect Service Accounts  Werden per API-Call erstellt  Können mit Pods verknüpft werden  Token werden im Secret automatisch erstellt (dauerhaft)
  • 21. Role Base Access Control Authorization (Cluster)Role  Definition der Rechte auf Ressourcenebene  Angabe der Rechte nach Verben  Entweder Namespacegebunden oder Clusterübergreifend (Cluster)RoleBinding  Verknüpfung einer Rolle mit einem Nutzer (sowohl Normal User als auch Service Account)