SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
Kubernetes
The Next Research Platform
$ whoami
Bob Killen
rkillen@umich.edu
Senior Research Cloud Administrator
CNCF Ambassador
GitHub: @mrbobbytables
Twitter: @mrbobbytables
Kubernetes TL;DR Edition
● Greek for “Pilot” or “Helmsman of a ship”.
● Container orchestration system originally developed at Google.
● Built with lessons learned from Borg and Omega.
● Designed from the ground-up as a loosely coupled collection of components
centered around deploying, maintaining and scaling workloads.
● Supports both on-prem and cloud provider deployments.
Kubernetes TL;DR Edition
● Declarative system.
● Steers cluster towards desired
state.
● EVERYTHING is an API Object.
● Objects generally describe in
YAML.
apiVersion: batch/v1
kind: Job
metadata:
name: job-example
spec:
backoffLimit: 4
completions: 4
parallelism: 2
template:
spec:
containers:
- name: hello
image: alpine:latest
command: ["/bin/sh", "-c"]
args: ["echo hello from $HOSTNAME!"]
restartPolicy: Never
Why?
Research needs
are changing.
Why?
● Increased use of containers...everywhere.
● Moving away from strict “job” style workflows.
● Adoption of data-streaming and in-flight processing.
● Greater use of interactive Science Gateways.
● Dependence on other more persistent services.
Why Kubernetes?
● Kubernetes is seeing significant adoption across
Enterprises and multiple fields of research; serving as
both a scientific platform and substrate for application
management.
● Very large, active development community.
● Extremely easy to extend, augment, and integrate with
other systems.
Why Kubernetes?
Use the SAME API
across bare metal
and EVERY cloud
provider.
Challenges
● Difficult to integrate with classic multi-user posix
infrastructure.
○ Translating API level identity to posix identity.
● Installation on-prem/bare-metal is not as well supported.
● Device support and integration is a pain point.
○ GPUs well supported, other devices -- not as much.
Challenges with Regard to HPC
● Difficult to integrate with classic multi-user posix
infrastructure.
○ Translating API level identity to posix identity.
● No “native” concept of job queue or wall time.
○ Up to higher level components to extend and add that functionality.
● Scheduler generally not as expressive as common HPC
workload managers such as Slurm or Torque.
Challenges
Very high learning curve
coming from a traditional
infrastructure background.
Ecosystem
Helm
https://helm.sh
Helm
● “Package manager” for Kubernetes.
○ User only have to configures a few variables for their site without needing
to know majority of details of the application.
● Many commonly used applications packaged and
distributed as “Helm Charts”.
List of Charts
● Aerospike
● Airflow
● Argo
● CockroachDB
● Dask
● Flink
● Hadoop
● Galaxy
● Hazelcast
● Ignite
● Jenkins
● JanusGraph
● JupyterHub
● Kafka
● KubeDB
● Luigi
● MariaDB
● Metabase
● MongoDB
● Moodle
● NATS
● Pachyderm
● Postgres
● Presto
● Pulsar
● RECAST
● RabbitMQ
● Spark
● Tensorflow
● Terracotta
● Zookeeper
Controllers &
Custom Resources
https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/
Controllers & Custom Resources
● Custom Resource Definition (CRD).
● Extends current Kubernetes resources.
● Create your own Kubernetes API object that can be
consumed in the SAME WAY with the SAME TOOLS as
every other Kubernetes object.
● Add custom behaviors to workload management.
Example: CRD
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: foo.bar.example.com
spec:
group: bar.example.com
version: v1alpha1
scope: Namespaced
names:
plural: foos
singular: foo
kind: Foo
validation:
openAPIV3Schema:
properties:
spec:
properties:
varFoo:
type: string
apiVersion: foo.bar.example.com/v1alpha1
kind: Foo
metadata:
name: myfoo
spec:
varFoo: bar
Example: Kube-batch
● Controller that adds coscheduling (gang scheduling) in the form of a
PodGroup object and additional scheduler.
● Developed by Huawei & IBM.
● Job Queues on the Road Map.
https://github.com/kubernetes-sigs/kube-batch
apiVersion: scheduling.incubator.k8s.io/v1alpha1
kind: PodGroup
metadata:
name: MPIGroup
spec:
minMember: 6
Example: Argo
● Powerful suite of workflow tools.
● Workflow engine supports both DAG and
Pipeline based workflows.
● Built-in Event system.
● Integrated and used by many other organizations and
projects.
Native vs CRD
apiVersion: batch/v1
kind: Job
metadata:
name: hello-world
spec:
completions: 1
template:
spec:
containers:
- name: hello
image: alpine:latest
command: ["/bin/sh", "-c"]
args: ["echo Hello World”]
restartPolicy: Never
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: hello-world-
spec:
entrypoint: hello
arguments:
parameters:
- name: message
value: Hello World
templates:
- name: hello
inputs:
parameters:
- name: message
container:
image: alpine:latest
command: ["/bin/sh", "-c"]
args: ["echo {{inputs.parameters.message}}"]
Operators
https://www.operatorhub.io/what-is-an-operator
Operators
Operator Pattern
● Uses Controllers & CRDs to manage complex applications.
● Introduced by CoreOS in 2016.
● Automatically handle full application lifecycle: Install,
Configuration, Upgrade, Backup, Failover and Scaling.
● Multiple frameworks available supporting a wide range of
languages and components.
Example: Spark
● Kubernetes supported as an executor in 2.3+
● Spark maintainers pursued developing their own controller
as Spark workload patterns did not fit with out of the box
Kubernetes core workload types.
● Bypasses “default” Spark job submission process and
uses a SparkApplication CRD.
https://github.com/GoogleCloudPlatform/spark-on-k8s-operator
Example job
apiVersion: sparkoperator.k8s.io/v1beta1
kind: SparkApplication
metadata:
name: myspark
spec:
type: Scala
mode: cluster
image: gcr.io/spark-operator/spark:v2.4.0
mainClass: org.apache.spark.examples.SparkPi
mainApplicationFile: local://spark-example.jar
sparkVersion: 2.4.0
volumes:
- name: test-volume
hostPath:
path: "/tmp"
type: Directory
<continued>
<continued>
driver:
cores: 0.1
coreLimit: 200m
memory: 512m
labels:
version: 2.4.0
volumeMounts:
- name: test-volume
mountPath: /tmp
executor:
cores: 1
instances: 1
memory: "512m"
labels:
version: 2.4.0
volumeMounts:
- name: test-volume
mountPath: /tmp
Example: Kubeflow
“The Kubeflow project is dedicated to making deployments of machine
learning (ML) workflows on Kubernetes simple, portable and scalable.
Our goal is not to recreate other services, but to provide a straightforward
way to deploy best-of-breed open-source systems for ML to diverse infrastructures.
Anywhere you are running Kubernetes, you should be able to run Kubeflow.”
https://www.kubeflow.org/
Example: Kubeflow
“The Kubeflow project is dedicated to making deployments of machine
learning (ML) workflows on Kubernetes simple, portable and scalable.
Our goal is not to recreate other services, but to provide a straightforward
way to deploy best-of-breed open-source systems for ML to diverse infrastructures.
Anywhere you are running Kubernetes, you should be able to run Kubeflow.”
Comprehensive Machine Learning Suite.
https://www.kubeflow.org/
Kubeflow Features & Integrations
● Chainer Training
● Hyperparameter Tuning (Katib)
● Istio Integration (for TF Serving)
● Jupyter Notebooks
● ModelDB
● ksonnet
● MPI Training
● MXNet Training
● Pipelines
● PyTorch Training
● Seldon Serving
● NVIDIA TensorRT Inference Server
● TensorFlow Serving
● TensorFlow Batch Predict
● TensorFlow Training (TFJob)
● PyTorch Serving
Kubeflow Features & Integrations
● Chainer Training
● Hyperparameter Tuning (Katib)
● Istio Integration (for TF Serving)
● Jupyter Notebooks
● ModelDB
● ksonnet
● MPI Training
● MXNet Training
● Pipelines
● PyTorch Training
● Seldon Serving
● NVIDIA TensorRT Inference Server
● TensorFlow Serving
● TensorFlow Batch Predict
● TensorFlow Training (TFJob)
● PyTorch Serving
Others
● Aerospike
● Airflow
● ArangoDB
● Cassandra
● CouchDB
● Federation-v2
● Flink
● Gluster
● Kafka
● KubeDB
● MongoDB
● MySQL
● NATS
● PostgreSQL
● Rook
● Velero
● Vitess
● Zookeeper
Why Kubernetes?
What containers have done for
code, application portability and
reproducible research --
Kubernetes has done for the
orchestration and management
of those things.
Complex applications can be
packaged and distributed easily.
If Kubernetes does not provide
the needed primitives, it is easy
enough to extend.
Questions?
rkillen@umich.edu
GitHub: @mrbobbytables
Twitter: @mrbobbytables

Weitere ähnliche Inhalte

Was ist angesagt?

Ansible, integration testing, and you.
Ansible, integration testing, and you.Ansible, integration testing, and you.
Ansible, integration testing, and you.Bob Killen
 
Kubernetes automation in production
Kubernetes automation in productionKubernetes automation in production
Kubernetes automation in productionPaul Bakker
 
Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17Ryan Jarvinen
 
Kubernetes Workshop
Kubernetes WorkshopKubernetes Workshop
Kubernetes Workshoploodse
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetesrajdeep
 
Evolution of containers to kubernetes
Evolution of containers to kubernetesEvolution of containers to kubernetes
Evolution of containers to kubernetesKrishna-Kumar
 
K8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals TrainingK8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals TrainingPiotr Perzyna
 
Federated Kubernetes: As a Platform for Distributed Scientific Computing
Federated Kubernetes: As a Platform for Distributed Scientific ComputingFederated Kubernetes: As a Platform for Distributed Scientific Computing
Federated Kubernetes: As a Platform for Distributed Scientific ComputingBob Killen
 
(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive Overview(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive OverviewBob Killen
 
A Peek Behind the Curtain: Managing the Kubernetes Contributor Community
A Peek Behind the Curtain: Managing the Kubernetes Contributor CommunityA Peek Behind the Curtain: Managing the Kubernetes Contributor Community
A Peek Behind the Curtain: Managing the Kubernetes Contributor CommunityBob Killen
 
Kubernetes intro public - kubernetes meetup 4-21-2015
Kubernetes intro   public - kubernetes meetup 4-21-2015Kubernetes intro   public - kubernetes meetup 4-21-2015
Kubernetes intro public - kubernetes meetup 4-21-2015Rohit Jnagal
 
An overview of the Kubernetes architecture
An overview of the Kubernetes architectureAn overview of the Kubernetes architecture
An overview of the Kubernetes architectureIgor Sfiligoi
 
Are you ready to be edgy? Bringing applications to the edge of the network
Are you ready to be edgy? Bringing applications to the edge of the networkAre you ready to be edgy? Bringing applications to the edge of the network
Are you ready to be edgy? Bringing applications to the edge of the networkMegan O'Keefe
 
Kubernetes Architecture
 Kubernetes Architecture Kubernetes Architecture
Kubernetes ArchitectureKnoldus Inc.
 

Was ist angesagt? (20)

Ansible, integration testing, and you.
Ansible, integration testing, and you.Ansible, integration testing, and you.
Ansible, integration testing, and you.
 
Kubernetes automation in production
Kubernetes automation in productionKubernetes automation in production
Kubernetes automation in production
 
Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17
 
Kubernetes Workshop
Kubernetes WorkshopKubernetes Workshop
Kubernetes Workshop
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Evolution of containers to kubernetes
Evolution of containers to kubernetesEvolution of containers to kubernetes
Evolution of containers to kubernetes
 
K8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals TrainingK8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals Training
 
Federated Kubernetes: As a Platform for Distributed Scientific Computing
Federated Kubernetes: As a Platform for Distributed Scientific ComputingFederated Kubernetes: As a Platform for Distributed Scientific Computing
Federated Kubernetes: As a Platform for Distributed Scientific Computing
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Quick introduction to Kubernetes
Quick introduction to KubernetesQuick introduction to Kubernetes
Quick introduction to Kubernetes
 
(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive Overview(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive Overview
 
DevOps with Kubernetes
DevOps with KubernetesDevOps with Kubernetes
DevOps with Kubernetes
 
A Peek Behind the Curtain: Managing the Kubernetes Contributor Community
A Peek Behind the Curtain: Managing the Kubernetes Contributor CommunityA Peek Behind the Curtain: Managing the Kubernetes Contributor Community
A Peek Behind the Curtain: Managing the Kubernetes Contributor Community
 
Kubernetes intro public - kubernetes meetup 4-21-2015
Kubernetes intro   public - kubernetes meetup 4-21-2015Kubernetes intro   public - kubernetes meetup 4-21-2015
Kubernetes intro public - kubernetes meetup 4-21-2015
 
An overview of the Kubernetes architecture
An overview of the Kubernetes architectureAn overview of the Kubernetes architecture
An overview of the Kubernetes architecture
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Are you ready to be edgy? Bringing applications to the edge of the network
Are you ready to be edgy? Bringing applications to the edge of the networkAre you ready to be edgy? Bringing applications to the edge of the network
Are you ready to be edgy? Bringing applications to the edge of the network
 
Intro to kubernetes
Intro to kubernetesIntro to kubernetes
Intro to kubernetes
 
Kubernetes Architecture
 Kubernetes Architecture Kubernetes Architecture
Kubernetes Architecture
 
Kubernetes 101 Workshop
Kubernetes 101 WorkshopKubernetes 101 Workshop
Kubernetes 101 Workshop
 

Ähnlich wie Kubernetes: The Next Research Platform

Kubernetes - training micro-dragons without getting burnt
Kubernetes -  training micro-dragons without getting burntKubernetes -  training micro-dragons without getting burnt
Kubernetes - training micro-dragons without getting burntAmir Moghimi
 
Kubernetes for Java Developers
Kubernetes for Java DevelopersKubernetes for Java Developers
Kubernetes for Java DevelopersAnthony Dahanne
 
DevEx | there’s no place like k3s
DevEx | there’s no place like k3sDevEx | there’s no place like k3s
DevEx | there’s no place like k3sHaggai Philip Zagury
 
Get you Java application ready for Kubernetes !
Get you Java application ready for Kubernetes !Get you Java application ready for Kubernetes !
Get you Java application ready for Kubernetes !Anthony Dahanne
 
Introducing Koki Short
Introducing Koki ShortIntroducing Koki Short
Introducing Koki ShortSidhartha Mani
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developerPaul Czarkowski
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetesGabriel Carro
 
Kubernetes #1 intro
Kubernetes #1   introKubernetes #1   intro
Kubernetes #1 introTerry Cho
 
18th Athens Big Data Meetup - 2nd Talk - Run Spark and Flink Jobs on Kubernetes
18th Athens Big Data Meetup - 2nd Talk - Run Spark and Flink Jobs on Kubernetes18th Athens Big Data Meetup - 2nd Talk - Run Spark and Flink Jobs on Kubernetes
18th Athens Big Data Meetup - 2nd Talk - Run Spark and Flink Jobs on KubernetesAthens Big Data
 
CI/CD Across Multiple Environments
CI/CD Across Multiple EnvironmentsCI/CD Across Multiple Environments
CI/CD Across Multiple EnvironmentsKarl Isenberg
 
Kubernetes extensibility: crd & operators
Kubernetes extensibility: crd & operators Kubernetes extensibility: crd & operators
Kubernetes extensibility: crd & operators Giacomo Tirabassi
 
Kubernetes extensibility: CRDs & Operators
Kubernetes extensibility: CRDs & OperatorsKubernetes extensibility: CRDs & Operators
Kubernetes extensibility: CRDs & OperatorsSIGHUP
 
Kubernetes for java developers - Tutorial at Oracle Code One 2018
Kubernetes for java developers - Tutorial at Oracle Code One 2018Kubernetes for java developers - Tutorial at Oracle Code One 2018
Kubernetes for java developers - Tutorial at Oracle Code One 2018Anthony Dahanne
 
Kubernetes: training micro-dragons for a serious battle
Kubernetes: training micro-dragons for a serious battleKubernetes: training micro-dragons for a serious battle
Kubernetes: training micro-dragons for a serious battleAmir Moghimi
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetesRishabh Indoria
 
Kubernetes - how to orchestrate containers
Kubernetes - how to orchestrate containersKubernetes - how to orchestrate containers
Kubernetes - how to orchestrate containersinovex GmbH
 
Containerized architectures for deep learning
Containerized architectures for deep learningContainerized architectures for deep learning
Containerized architectures for deep learningAntje Barth
 
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...NETWAYS
 
Build Your Kubernetes Operator with the Right Tool!
Build Your Kubernetes Operator with the Right Tool!Build Your Kubernetes Operator with the Right Tool!
Build Your Kubernetes Operator with the Right Tool!Rafał Leszko
 
Pydata 2020 containers meetup
Pydata  2020 containers meetup Pydata  2020 containers meetup
Pydata 2020 containers meetup Walid Shaari
 

Ähnlich wie Kubernetes: The Next Research Platform (20)

Kubernetes - training micro-dragons without getting burnt
Kubernetes -  training micro-dragons without getting burntKubernetes -  training micro-dragons without getting burnt
Kubernetes - training micro-dragons without getting burnt
 
Kubernetes for Java Developers
Kubernetes for Java DevelopersKubernetes for Java Developers
Kubernetes for Java Developers
 
DevEx | there’s no place like k3s
DevEx | there’s no place like k3sDevEx | there’s no place like k3s
DevEx | there’s no place like k3s
 
Get you Java application ready for Kubernetes !
Get you Java application ready for Kubernetes !Get you Java application ready for Kubernetes !
Get you Java application ready for Kubernetes !
 
Introducing Koki Short
Introducing Koki ShortIntroducing Koki Short
Introducing Koki Short
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developer
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
Kubernetes #1 intro
Kubernetes #1   introKubernetes #1   intro
Kubernetes #1 intro
 
18th Athens Big Data Meetup - 2nd Talk - Run Spark and Flink Jobs on Kubernetes
18th Athens Big Data Meetup - 2nd Talk - Run Spark and Flink Jobs on Kubernetes18th Athens Big Data Meetup - 2nd Talk - Run Spark and Flink Jobs on Kubernetes
18th Athens Big Data Meetup - 2nd Talk - Run Spark and Flink Jobs on Kubernetes
 
CI/CD Across Multiple Environments
CI/CD Across Multiple EnvironmentsCI/CD Across Multiple Environments
CI/CD Across Multiple Environments
 
Kubernetes extensibility: crd & operators
Kubernetes extensibility: crd & operators Kubernetes extensibility: crd & operators
Kubernetes extensibility: crd & operators
 
Kubernetes extensibility: CRDs & Operators
Kubernetes extensibility: CRDs & OperatorsKubernetes extensibility: CRDs & Operators
Kubernetes extensibility: CRDs & Operators
 
Kubernetes for java developers - Tutorial at Oracle Code One 2018
Kubernetes for java developers - Tutorial at Oracle Code One 2018Kubernetes for java developers - Tutorial at Oracle Code One 2018
Kubernetes for java developers - Tutorial at Oracle Code One 2018
 
Kubernetes: training micro-dragons for a serious battle
Kubernetes: training micro-dragons for a serious battleKubernetes: training micro-dragons for a serious battle
Kubernetes: training micro-dragons for a serious battle
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
Kubernetes - how to orchestrate containers
Kubernetes - how to orchestrate containersKubernetes - how to orchestrate containers
Kubernetes - how to orchestrate containers
 
Containerized architectures for deep learning
Containerized architectures for deep learningContainerized architectures for deep learning
Containerized architectures for deep learning
 
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
 
Build Your Kubernetes Operator with the Right Tool!
Build Your Kubernetes Operator with the Right Tool!Build Your Kubernetes Operator with the Right Tool!
Build Your Kubernetes Operator with the Right Tool!
 
Pydata 2020 containers meetup
Pydata  2020 containers meetup Pydata  2020 containers meetup
Pydata 2020 containers meetup
 

Mehr von Bob Killen

Tackling New Challenges in a Virtual Focused Community
Tackling New Challenges in a Virtual Focused CommunityTackling New Challenges in a Virtual Focused Community
Tackling New Challenges in a Virtual Focused CommunityBob Killen
 
KubeCon EU 2021 Keynote: Shaping Kubernetes Community Culture
KubeCon EU 2021 Keynote: Shaping Kubernetes Community CultureKubeCon EU 2021 Keynote: Shaping Kubernetes Community Culture
KubeCon EU 2021 Keynote: Shaping Kubernetes Community CultureBob Killen
 
Intro to Kubernetes SIG Contributor Experience
Intro to Kubernetes SIG Contributor ExperienceIntro to Kubernetes SIG Contributor Experience
Intro to Kubernetes SIG Contributor ExperienceBob Killen
 
Intro to the CNCF Research User Group
Intro to the CNCF Research User GroupIntro to the CNCF Research User Group
Intro to the CNCF Research User GroupBob Killen
 
Kubernetes The New Research Platform
Kubernetes The New Research PlatformKubernetes The New Research Platform
Kubernetes The New Research PlatformBob Killen
 
Pluggable Infrastructure with CI/CD and Docker
Pluggable Infrastructure with CI/CD and DockerPluggable Infrastructure with CI/CD and Docker
Pluggable Infrastructure with CI/CD and DockerBob Killen
 

Mehr von Bob Killen (6)

Tackling New Challenges in a Virtual Focused Community
Tackling New Challenges in a Virtual Focused CommunityTackling New Challenges in a Virtual Focused Community
Tackling New Challenges in a Virtual Focused Community
 
KubeCon EU 2021 Keynote: Shaping Kubernetes Community Culture
KubeCon EU 2021 Keynote: Shaping Kubernetes Community CultureKubeCon EU 2021 Keynote: Shaping Kubernetes Community Culture
KubeCon EU 2021 Keynote: Shaping Kubernetes Community Culture
 
Intro to Kubernetes SIG Contributor Experience
Intro to Kubernetes SIG Contributor ExperienceIntro to Kubernetes SIG Contributor Experience
Intro to Kubernetes SIG Contributor Experience
 
Intro to the CNCF Research User Group
Intro to the CNCF Research User GroupIntro to the CNCF Research User Group
Intro to the CNCF Research User Group
 
Kubernetes The New Research Platform
Kubernetes The New Research PlatformKubernetes The New Research Platform
Kubernetes The New Research Platform
 
Pluggable Infrastructure with CI/CD and Docker
Pluggable Infrastructure with CI/CD and DockerPluggable Infrastructure with CI/CD and Docker
Pluggable Infrastructure with CI/CD and Docker
 

Kürzlich hochgeladen

'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...APNIC
 
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night StandHot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Standkumarajju5765
 
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663Call Girls Mumbai
 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxellan12
 
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...Neha Pandey
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGAPNIC
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Servicesexy call girls service in goa
 
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...tanu pandey
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...tanu pandey
 
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Call Girls in Nagpur High Profile
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)Damian Radcliffe
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLimonikaupta
 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$kojalkojal131
 
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...singhpriety023
 

Kürzlich hochgeladen (20)

'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
 
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night StandHot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
 
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
 
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOG
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
 
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
 
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
 
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
 

Kubernetes: The Next Research Platform

  • 2. $ whoami Bob Killen rkillen@umich.edu Senior Research Cloud Administrator CNCF Ambassador GitHub: @mrbobbytables Twitter: @mrbobbytables
  • 3. Kubernetes TL;DR Edition ● Greek for “Pilot” or “Helmsman of a ship”. ● Container orchestration system originally developed at Google. ● Built with lessons learned from Borg and Omega. ● Designed from the ground-up as a loosely coupled collection of components centered around deploying, maintaining and scaling workloads. ● Supports both on-prem and cloud provider deployments.
  • 4. Kubernetes TL;DR Edition ● Declarative system. ● Steers cluster towards desired state. ● EVERYTHING is an API Object. ● Objects generally describe in YAML. apiVersion: batch/v1 kind: Job metadata: name: job-example spec: backoffLimit: 4 completions: 4 parallelism: 2 template: spec: containers: - name: hello image: alpine:latest command: ["/bin/sh", "-c"] args: ["echo hello from $HOSTNAME!"] restartPolicy: Never
  • 7. Why? ● Increased use of containers...everywhere. ● Moving away from strict “job” style workflows. ● Adoption of data-streaming and in-flight processing. ● Greater use of interactive Science Gateways. ● Dependence on other more persistent services.
  • 8. Why Kubernetes? ● Kubernetes is seeing significant adoption across Enterprises and multiple fields of research; serving as both a scientific platform and substrate for application management. ● Very large, active development community. ● Extremely easy to extend, augment, and integrate with other systems.
  • 9. Why Kubernetes? Use the SAME API across bare metal and EVERY cloud provider.
  • 10. Challenges ● Difficult to integrate with classic multi-user posix infrastructure. ○ Translating API level identity to posix identity. ● Installation on-prem/bare-metal is not as well supported. ● Device support and integration is a pain point. ○ GPUs well supported, other devices -- not as much.
  • 11. Challenges with Regard to HPC ● Difficult to integrate with classic multi-user posix infrastructure. ○ Translating API level identity to posix identity. ● No “native” concept of job queue or wall time. ○ Up to higher level components to extend and add that functionality. ● Scheduler generally not as expressive as common HPC workload managers such as Slurm or Torque.
  • 12. Challenges Very high learning curve coming from a traditional infrastructure background.
  • 15. Helm ● “Package manager” for Kubernetes. ○ User only have to configures a few variables for their site without needing to know majority of details of the application. ● Many commonly used applications packaged and distributed as “Helm Charts”.
  • 16. List of Charts ● Aerospike ● Airflow ● Argo ● CockroachDB ● Dask ● Flink ● Hadoop ● Galaxy ● Hazelcast ● Ignite ● Jenkins ● JanusGraph ● JupyterHub ● Kafka ● KubeDB ● Luigi ● MariaDB ● Metabase ● MongoDB ● Moodle ● NATS ● Pachyderm ● Postgres ● Presto ● Pulsar ● RECAST ● RabbitMQ ● Spark ● Tensorflow ● Terracotta ● Zookeeper
  • 18. Controllers & Custom Resources ● Custom Resource Definition (CRD). ● Extends current Kubernetes resources. ● Create your own Kubernetes API object that can be consumed in the SAME WAY with the SAME TOOLS as every other Kubernetes object. ● Add custom behaviors to workload management.
  • 19. Example: CRD apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: name: foo.bar.example.com spec: group: bar.example.com version: v1alpha1 scope: Namespaced names: plural: foos singular: foo kind: Foo validation: openAPIV3Schema: properties: spec: properties: varFoo: type: string apiVersion: foo.bar.example.com/v1alpha1 kind: Foo metadata: name: myfoo spec: varFoo: bar
  • 20. Example: Kube-batch ● Controller that adds coscheduling (gang scheduling) in the form of a PodGroup object and additional scheduler. ● Developed by Huawei & IBM. ● Job Queues on the Road Map. https://github.com/kubernetes-sigs/kube-batch apiVersion: scheduling.incubator.k8s.io/v1alpha1 kind: PodGroup metadata: name: MPIGroup spec: minMember: 6
  • 21. Example: Argo ● Powerful suite of workflow tools. ● Workflow engine supports both DAG and Pipeline based workflows. ● Built-in Event system. ● Integrated and used by many other organizations and projects.
  • 22. Native vs CRD apiVersion: batch/v1 kind: Job metadata: name: hello-world spec: completions: 1 template: spec: containers: - name: hello image: alpine:latest command: ["/bin/sh", "-c"] args: ["echo Hello World”] restartPolicy: Never apiVersion: argoproj.io/v1alpha1 kind: Workflow metadata: generateName: hello-world- spec: entrypoint: hello arguments: parameters: - name: message value: Hello World templates: - name: hello inputs: parameters: - name: message container: image: alpine:latest command: ["/bin/sh", "-c"] args: ["echo {{inputs.parameters.message}}"]
  • 25. Operator Pattern ● Uses Controllers & CRDs to manage complex applications. ● Introduced by CoreOS in 2016. ● Automatically handle full application lifecycle: Install, Configuration, Upgrade, Backup, Failover and Scaling. ● Multiple frameworks available supporting a wide range of languages and components.
  • 26. Example: Spark ● Kubernetes supported as an executor in 2.3+ ● Spark maintainers pursued developing their own controller as Spark workload patterns did not fit with out of the box Kubernetes core workload types. ● Bypasses “default” Spark job submission process and uses a SparkApplication CRD. https://github.com/GoogleCloudPlatform/spark-on-k8s-operator
  • 27. Example job apiVersion: sparkoperator.k8s.io/v1beta1 kind: SparkApplication metadata: name: myspark spec: type: Scala mode: cluster image: gcr.io/spark-operator/spark:v2.4.0 mainClass: org.apache.spark.examples.SparkPi mainApplicationFile: local://spark-example.jar sparkVersion: 2.4.0 volumes: - name: test-volume hostPath: path: "/tmp" type: Directory <continued> <continued> driver: cores: 0.1 coreLimit: 200m memory: 512m labels: version: 2.4.0 volumeMounts: - name: test-volume mountPath: /tmp executor: cores: 1 instances: 1 memory: "512m" labels: version: 2.4.0 volumeMounts: - name: test-volume mountPath: /tmp
  • 28. Example: Kubeflow “The Kubeflow project is dedicated to making deployments of machine learning (ML) workflows on Kubernetes simple, portable and scalable. Our goal is not to recreate other services, but to provide a straightforward way to deploy best-of-breed open-source systems for ML to diverse infrastructures. Anywhere you are running Kubernetes, you should be able to run Kubeflow.” https://www.kubeflow.org/
  • 29. Example: Kubeflow “The Kubeflow project is dedicated to making deployments of machine learning (ML) workflows on Kubernetes simple, portable and scalable. Our goal is not to recreate other services, but to provide a straightforward way to deploy best-of-breed open-source systems for ML to diverse infrastructures. Anywhere you are running Kubernetes, you should be able to run Kubeflow.” Comprehensive Machine Learning Suite. https://www.kubeflow.org/
  • 30. Kubeflow Features & Integrations ● Chainer Training ● Hyperparameter Tuning (Katib) ● Istio Integration (for TF Serving) ● Jupyter Notebooks ● ModelDB ● ksonnet ● MPI Training ● MXNet Training ● Pipelines ● PyTorch Training ● Seldon Serving ● NVIDIA TensorRT Inference Server ● TensorFlow Serving ● TensorFlow Batch Predict ● TensorFlow Training (TFJob) ● PyTorch Serving
  • 31. Kubeflow Features & Integrations ● Chainer Training ● Hyperparameter Tuning (Katib) ● Istio Integration (for TF Serving) ● Jupyter Notebooks ● ModelDB ● ksonnet ● MPI Training ● MXNet Training ● Pipelines ● PyTorch Training ● Seldon Serving ● NVIDIA TensorRT Inference Server ● TensorFlow Serving ● TensorFlow Batch Predict ● TensorFlow Training (TFJob) ● PyTorch Serving
  • 32. Others ● Aerospike ● Airflow ● ArangoDB ● Cassandra ● CouchDB ● Federation-v2 ● Flink ● Gluster ● Kafka ● KubeDB ● MongoDB ● MySQL ● NATS ● PostgreSQL ● Rook ● Velero ● Vitess ● Zookeeper
  • 34. What containers have done for code, application portability and reproducible research -- Kubernetes has done for the orchestration and management of those things.
  • 35. Complex applications can be packaged and distributed easily. If Kubernetes does not provide the needed primitives, it is easy enough to extend.