SlideShare a Scribd company logo
GENEVA
KUBERNETES
MEETUP
21 octobre 2021
MEETUP K8S GENEVA
- Changement Pro
- Geneva
- Docker 2015 ?
- K8s ! and K8s again !
MEETUP K8S GENEVA
- Historique
MEETUP K8S GENEVA
- Le passage
MEETUP K8S GENEVA
- Le renouveau
MEETUP K8S GENEVA
- Une nouvelle équipe et un
nouveau souffle !
MEETUP K8S GENEVA
- Un évent trimestriel
- Une vraie communauté (~
400 membres) de passionnés
- Débutants Welcome !
- K8s … mais pas seulement
MEETUP K8S GENEVA
- un écosystème ENORME !
- Database / Storage
- Messaging, Monitoring
- CI/CD , Automation
- Security
- Network
- API Gateway ...
MEETUP K8S GENEVA
- Dans les nuages ….
MEETUP K8S GENEVA
- Amicalement votre …
- SoKube
MEETUP K8S GENEVA
- Informatique et systèmes de
communication
• Sécurité informatique (HEPIA)
• Informatique logicielle
(HEPIA)
• Systèmes informatiques
embarqués (HEPIA)
• Ingénierie des données
• Réseaux et systèmes
MEETUP K8S GENEVA
- Speakers !
MEETUP K8S GENEVA
- Sponsors !
MEETUP K8S GENEVA
- Let's play !
MEETUP K8S GENEVA
- Let's networking !
AGENDA
 Introduction
 Topics
➢ We will talk about: Introduction to the different
Kubernetes on the Desktop solutions (non-
exhaustive list)
➢ We will not cover: hosted Kubernetes solutions
(EKS, AKS, GKE, etc...)
 Round table (read: Demo time)
➢ Let's play a game: Kubernetes Battle Royal
(#KBRGeneva)
PRELUDE
INITIAL QUESTIONS
➢ Assumption: you already heard about Kubernetes and Cloud Native applications
➢ How useful is it to learn Kubernetes with a "Desktop version"?
➢ Do I need Linux on my Desktop?
➢ Should I buy a high-end computer to run Kubernetes?
➢ What are "Kubernetes distributions"?
➢ Do I need to learn "multiple Kubernetes"?
➢ Is docker still relevant, should I learn directly Kubernetes?
THE DESKTOP LAYERS
➢ Kubernetes needs Linux
➢ Linux is not my Desktop OS, so I need virtualization
➢ The virtualization can be light (microVM) or heavy (full blown VM)
➢ My VM should be accessible from my Desktop OS, so I need ports open/mapped
➢ I can reach my Kubernetes cluster
THE DESKTOP CHALLENGES
Composant / Desktop OS Linux MacOS Windows
K8s Control Plane Native VM / LIMA VM / WSL
K8s Worker Node Native VM / LIMA Native / VM / WSL
K8s CLI Native Native Native
K8s Volumes Native FS Virtualized FS Virtualized FS
K8s Network Host Ports Remote Ports forward Remote Ports forward
PS: The word "native" in the table above, means that the "backend" runs directly on the Desktop OS, and it's not virtualized.
USER FRIENDLY
CONTAINERS
MANAGEMENT
➢ The popular: docker
➢ The challenger: podman
➢ The new cool: nerdctl
➢ The backend: containerD
✅ Linux | ❌ MacOS | ✅ Windows
✅ Linux | ⚠️ MacOS | ✅ Windows ✅ Linux | ✅ MacOS | ✅ Windows ✅ Linux | ⚠️ MacOS | ⚠️ Windows
KUBERNETES
DISTRIBUTIONS
A NON-EXHAUSTIVE LIST FOR YOUR NEXT SIDE
PROJECT
DOCKER
DESKTOP
➢ Docker Desktop is officially supported to run upstream K8s on
MacOS and Windows
➢ Docker Desktop on Linux has been announced for a future date
➢ Single node cluster
➢ Easy enable/disable/reset options
➢ K8s version not modifiable
➢ Target: DEV environments
MINIKUBE ➢ Minikube is officially supported to run upstream K8s on
Linux, MacOS and Windows
➢ Single or Multiple nodes cluster
➢ Easy start/stop options
➢ K8s version modifiable
➢ Addons available
➢ Target: DEV environments
MICROK8S
 MicroK8s is officially supported to run upstream K8s on Linux (snap), MacOS
(VirtualBox) and Windows (Hyper-V,Virtualbox)
 MicroK8s on MacOS and Windows require Multipass
 MicroK8s can run on WSL and should also run on LIMA (to be tested)
 Single node cluster
 Multiple nodes cluster is possible but not available out of the box
 Easy start/stop options
 K8s version modifiable
 Target: DEV environments
K3S / K3D
/ RANCHER
DESKTOP
 K3s only runs on Linux
 k3d runs K3s inside a container
 Rancher Desktop is officially supported to run K3s on MacOS (LIMA)
and Windows (WSL)
 Single or Multiple nodes cluster
 Rancher Desktop can only run single node (oct-2021)
 Easy start/stop/cleanup options
 K3s version modifiable
 Target: DEV (all) / TEST (K3s) / PROD (K3s) environments
K0S
 K0s is officially supported to run upstream K8s on Linux
 K0s can run inside a container
 Single or Multiple nodes cluster
 The default install requires at least two nodes
 Easy start/stop/cleanup options
 K8s version modifiable
 Target: DEV (all) / TEST (K3s) / PROD (K3s) environments
KIND  KinD is officially supported to run upstream K8s inside a
container
 KinD CLI is officially supported to run on Linux, MacOS and
Windows
 Single or Multiple nodes cluster
 By default, only the single node cluster is managed by the
CLI
 Easy start/stop/cleanup options
 K3s version modifiable
 Target: DEV (all) / TEST (K3s) / PROD (K3s) environments
DEV WITH KUBERNETES
ON THE DESKTOP ?
BENEFITS FOR DEV
 Benefits of contains/k8s : for PROD, only ?
 What about the dev team ?
 Same env, same rules !
 Focus on the app(s)
 Same runtime
 Multi-projects capabilities
 Equalizer for the team
DEV PROCESS
http://jorgemoral.es/posts/2020_03_17-develop_apps_in_k8s_and_not_die_trying-inner_loop_outer_loop/
“CONTROL + SAVE” WORKFLOW ON KUBERNETES
TOOLS FOR K8S DEV WORKFLOW
 CLI that facilitates continuous development for Kubernetes applications
 https://github.com/GoogleContainerTools/skaffold
 Google project
 Apache-2.0 License
 MacOs, Linux and Windows
 Any Kubernetes cluster → Local or remote
 CLI:
 skaffold init → skaffold.yaml
 scaffold dev → build and deploy your app continuously
(Local or Remote repo)
 scaffold run → building and deploying once at a time
SKAFFOLD
 CLI for Cloud-Native Development with Kubernetes
 https://github.com/loft-sh/devspace
 Lôft project
 Apache-2.0 License
 MacOs, Linux and Windows
 Any Kubernetes cluster → Local or remote
 CLI:
 devspace init → devspace.yaml
 devspace dev → to start developing your project in k8s
 devspace deploy → to deploy your project to k8s
DEVSPACE
 Remote development environments, powered by Kubernetes
 https://github.com/okteto/okteto
 Licence Apache 2
 MacOs, Linux and Windows
 Any Kubernetes cluster → Local or remote
 Okteto Cloud → $
 CLI
 okteto init → okteto.yml
 okteto up → Activate your development container
OKTETO
 Fast, local development for Kubernetes microservices
 https://github.com/telepresenceio/telepresence
 Ambassador team
 Apache-2.0 License
 MacOs, Linux and Windows
 Any Kubernetes cluster → Local or remote
 getambassador.io → $
 CLI
 telepresence connect → Daemon + k8s agent
 telepresence intercept → Intercept all traffic going to the
service in your cluster
TELEPRESENCE
TOOLS FOR K8S DEV WORKFLOW
odo
>_
OLD tools:
DON’T FORGET YOUR IDE
 Local / Remote dev server with an SSH access
 Code Editors with remote development capabilities
 Ex: Remote extension pack with VSCode:
 Remote WSL
 Remote SSH
 Remote container
INNER AND OUTER LOOP WITH K8S
➔ Can be nearly the same
 Write code
 Build container
 Push to registry
 Deploy to cluster
 Test
 Validate
 …
But can be ……………………… SLLOOOWWWW !!!!!
16 GO, 8 CORE I9 ONLY !!!!
AND YOU’RE ASKING TO
BUILD AND RUN K8S
WITH A JVM A FRONT
ANGULAR AND A
DATABASE !
PATCHING STRATEGIES
 Docker for Mac/Windows (D4M/D4W)
 Very bad perf ➔ shared filesystem
 Workaround
 Copy rsync
 Mutagen
 Caching strategy
 Parallels VM as hypervisor
 ➔ make the pain tolerable
DEV MODES: REMOCAL
https://kubernetes.io/blog/2018/05/01/developing-on-kubernetes/
CLOUD NATIVE APPLICATION: CNA
Architecture Design
Stateless
Monitoring
Startup / Shutdown
Scaling
Deployment strategy
Quality
Security
DevX: CNA Developer eXperience
➢Replicable
➢Realistic
➢Fast
https://devopedia.org/shift-left
QUESTIONS ?
#KBRGENEVA
POD?
PROCHAIN MEETUP

More Related Content

What's hot

KubeCon EU 2016: Secure, Cloud-Native Networking with Project Calico
KubeCon EU 2016: Secure, Cloud-Native Networking with Project CalicoKubeCon EU 2016: Secure, Cloud-Native Networking with Project Calico
KubeCon EU 2016: Secure, Cloud-Native Networking with Project Calico
KubeAcademy
 
Kernel load-balancing for Docker containers using IPVS
Kernel load-balancing for Docker containers using IPVSKernel load-balancing for Docker containers using IPVS
Kernel load-balancing for Docker containers using IPVS
Docker, Inc.
 
KubeCon EU 2016: Killing containers to make weather beautiful
KubeCon EU 2016: Killing containers to make weather beautifulKubeCon EU 2016: Killing containers to make weather beautiful
KubeCon EU 2016: Killing containers to make weather beautiful
KubeAcademy
 
Raspberry pi x kubernetes x tensorflow
Raspberry pi x kubernetes x tensorflowRaspberry pi x kubernetes x tensorflow
Raspberry pi x kubernetes x tensorflow
霈萱 蔡
 
KubeCon EU 2016: Multi-Tenant Kubernetes
KubeCon EU 2016: Multi-Tenant KubernetesKubeCon EU 2016: Multi-Tenant Kubernetes
KubeCon EU 2016: Multi-Tenant Kubernetes
KubeAcademy
 
Deploying vn fs with kubernetes pods and vms
Deploying vn fs with kubernetes pods and vmsDeploying vn fs with kubernetes pods and vms
Deploying vn fs with kubernetes pods and vms
LibbySchulze1
 
How to Integrate Kubernetes in OpenStack
 How to Integrate Kubernetes in OpenStack  How to Integrate Kubernetes in OpenStack
How to Integrate Kubernetes in OpenStack
Meng-Ze Lee
 
Intro to Project Calico: a pure layer 3 approach to scale-out networking
Intro to Project Calico: a pure layer 3 approach to scale-out networkingIntro to Project Calico: a pure layer 3 approach to scale-out networking
Intro to Project Calico: a pure layer 3 approach to scale-out networking
Packet
 
Effective Building your Platform with Kubernetes == Keep it Simple
Effective Building your Platform with Kubernetes == Keep it Simple Effective Building your Platform with Kubernetes == Keep it Simple
Effective Building your Platform with Kubernetes == Keep it Simple
Wojciech Barczyński
 
Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...
Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...
Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...
Sanjeev Rampal
 
DockerCon EU 2015: What's New with Docker Trusted Registry
DockerCon EU 2015: What's New with Docker Trusted RegistryDockerCon EU 2015: What's New with Docker Trusted Registry
DockerCon EU 2015: What's New with Docker Trusted Registry
Docker, Inc.
 
Kubernetes on the Edge / 在邊緣的K8S
Kubernetes on the Edge / 在邊緣的K8SKubernetes on the Edge / 在邊緣的K8S
Kubernetes on the Edge / 在邊緣的K8S
Yi-Fu Ciou
 
The Truth Behind Serverless
The Truth Behind ServerlessThe Truth Behind Serverless
The Truth Behind Serverless
Docker, Inc.
 
Containers - Portable, repeatable user-oriented application delivery. Build, ...
Containers - Portable, repeatable user-oriented application delivery. Build, ...Containers - Portable, repeatable user-oriented application delivery. Build, ...
Containers - Portable, repeatable user-oriented application delivery. Build, ...
Walid Shaari
 
It takes a Village to do the Impossible - Jeff Lindsay
It takes a Village to do the Impossible - Jeff LindsayIt takes a Village to do the Impossible - Jeff Lindsay
It takes a Village to do the Impossible - Jeff Lindsay
Docker, Inc.
 
Cloud Computing Fundamental
Cloud Computing FundamentalCloud Computing Fundamental
Cloud Computing Fundamental
Dony Riyanto
 
LlinuxKit security, Security Scanning and Notary
LlinuxKit security, Security Scanning and NotaryLlinuxKit security, Security Scanning and Notary
LlinuxKit security, Security Scanning and Notary
Docker, Inc.
 
DockerCon EU 2015: Speed Up Deployment: Building a Distributed Docker Registr...
DockerCon EU 2015: Speed Up Deployment: Building a Distributed Docker Registr...DockerCon EU 2015: Speed Up Deployment: Building a Distributed Docker Registr...
DockerCon EU 2015: Speed Up Deployment: Building a Distributed Docker Registr...
Docker, Inc.
 
Kubernetes extensibility
Kubernetes extensibilityKubernetes extensibility
Kubernetes extensibility
Docker, Inc.
 
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaSDockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
Docker, Inc.
 

What's hot (20)

KubeCon EU 2016: Secure, Cloud-Native Networking with Project Calico
KubeCon EU 2016: Secure, Cloud-Native Networking with Project CalicoKubeCon EU 2016: Secure, Cloud-Native Networking with Project Calico
KubeCon EU 2016: Secure, Cloud-Native Networking with Project Calico
 
Kernel load-balancing for Docker containers using IPVS
Kernel load-balancing for Docker containers using IPVSKernel load-balancing for Docker containers using IPVS
Kernel load-balancing for Docker containers using IPVS
 
KubeCon EU 2016: Killing containers to make weather beautiful
KubeCon EU 2016: Killing containers to make weather beautifulKubeCon EU 2016: Killing containers to make weather beautiful
KubeCon EU 2016: Killing containers to make weather beautiful
 
Raspberry pi x kubernetes x tensorflow
Raspberry pi x kubernetes x tensorflowRaspberry pi x kubernetes x tensorflow
Raspberry pi x kubernetes x tensorflow
 
KubeCon EU 2016: Multi-Tenant Kubernetes
KubeCon EU 2016: Multi-Tenant KubernetesKubeCon EU 2016: Multi-Tenant Kubernetes
KubeCon EU 2016: Multi-Tenant Kubernetes
 
Deploying vn fs with kubernetes pods and vms
Deploying vn fs with kubernetes pods and vmsDeploying vn fs with kubernetes pods and vms
Deploying vn fs with kubernetes pods and vms
 
How to Integrate Kubernetes in OpenStack
 How to Integrate Kubernetes in OpenStack  How to Integrate Kubernetes in OpenStack
How to Integrate Kubernetes in OpenStack
 
Intro to Project Calico: a pure layer 3 approach to scale-out networking
Intro to Project Calico: a pure layer 3 approach to scale-out networkingIntro to Project Calico: a pure layer 3 approach to scale-out networking
Intro to Project Calico: a pure layer 3 approach to scale-out networking
 
Effective Building your Platform with Kubernetes == Keep it Simple
Effective Building your Platform with Kubernetes == Keep it Simple Effective Building your Platform with Kubernetes == Keep it Simple
Effective Building your Platform with Kubernetes == Keep it Simple
 
Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...
Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...
Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...
 
DockerCon EU 2015: What's New with Docker Trusted Registry
DockerCon EU 2015: What's New with Docker Trusted RegistryDockerCon EU 2015: What's New with Docker Trusted Registry
DockerCon EU 2015: What's New with Docker Trusted Registry
 
Kubernetes on the Edge / 在邊緣的K8S
Kubernetes on the Edge / 在邊緣的K8SKubernetes on the Edge / 在邊緣的K8S
Kubernetes on the Edge / 在邊緣的K8S
 
The Truth Behind Serverless
The Truth Behind ServerlessThe Truth Behind Serverless
The Truth Behind Serverless
 
Containers - Portable, repeatable user-oriented application delivery. Build, ...
Containers - Portable, repeatable user-oriented application delivery. Build, ...Containers - Portable, repeatable user-oriented application delivery. Build, ...
Containers - Portable, repeatable user-oriented application delivery. Build, ...
 
It takes a Village to do the Impossible - Jeff Lindsay
It takes a Village to do the Impossible - Jeff LindsayIt takes a Village to do the Impossible - Jeff Lindsay
It takes a Village to do the Impossible - Jeff Lindsay
 
Cloud Computing Fundamental
Cloud Computing FundamentalCloud Computing Fundamental
Cloud Computing Fundamental
 
LlinuxKit security, Security Scanning and Notary
LlinuxKit security, Security Scanning and NotaryLlinuxKit security, Security Scanning and Notary
LlinuxKit security, Security Scanning and Notary
 
DockerCon EU 2015: Speed Up Deployment: Building a Distributed Docker Registr...
DockerCon EU 2015: Speed Up Deployment: Building a Distributed Docker Registr...DockerCon EU 2015: Speed Up Deployment: Building a Distributed Docker Registr...
DockerCon EU 2015: Speed Up Deployment: Building a Distributed Docker Registr...
 
Kubernetes extensibility
Kubernetes extensibilityKubernetes extensibility
Kubernetes extensibility
 
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaSDockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
 

Similar to K8s meetup-october-2021

Scaling Docker with Kubernetes
Scaling Docker with KubernetesScaling Docker with Kubernetes
Scaling Docker with Kubernetes
Carlos Sanchez
 
Agile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: IntroductionAgile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: Introduction
Agile Partner S.A.
 
Developer Experience Cloud Native - From Code Gen to Git Commit without a CI/...
Developer Experience Cloud Native - From Code Gen to Git Commit without a CI/...Developer Experience Cloud Native - From Code Gen to Git Commit without a CI/...
Developer Experience Cloud Native - From Code Gen to Git Commit without a CI/...
Michael Hofmann
 
Deploying Windows Apps to Kubernetes with Draft and Helm
Deploying Windows Apps to Kubernetes with Draft and HelmDeploying Windows Apps to Kubernetes with Draft and Helm
Deploying Windows Apps to Kubernetes with Draft and Helm
Jessica Deen
 
Laravel, docker, kubernetes
Laravel, docker, kubernetesLaravel, docker, kubernetes
Laravel, docker, kubernetes
Peter Mein
 
Apt get no more let Vagrant, Puppet and Docker take the stage
Apt get no more let Vagrant, Puppet and Docker take the stageApt get no more let Vagrant, Puppet and Docker take the stage
Apt get no more let Vagrant, Puppet and Docker take the stage
Alessandro Cinelli (cirpo)
 
Core OS
Core OSCore OS
Core OS
vyhliluk
 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
Patrick Chanezon
 
Kubernetes for Java Developers
Kubernetes for Java DevelopersKubernetes for Java Developers
Kubernetes for Java Developers
Anthony Dahanne
 
kubernetes for beginners
kubernetes for beginnerskubernetes for beginners
kubernetes for beginners
Dominique Dumont
 
TIAD 2016 : Application delivery in a container world
TIAD 2016 : Application delivery in a container worldTIAD 2016 : Application delivery in a container world
TIAD 2016 : Application delivery in a container world
The Incredible Automation Day
 
Docker Multi-arch All The Things
Docker Multi-arch All The ThingsDocker Multi-arch All The Things
Docker Multi-arch All The Things
Docker, Inc.
 
4K–Kubernetes with Knative, Kafka and Kamel
4K–Kubernetes with Knative, Kafka and Kamel 4K–Kubernetes with Knative, Kafka and Kamel
4K–Kubernetes with Knative, Kafka and Kamel
Red Hat Developers
 
Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.
Henryk Konsek
 
Kubernetes
KubernetesKubernetes
Kubernetes
Linjith Kunnon
 
Introduction to Docker and deployment and Azure
Introduction to Docker and deployment and AzureIntroduction to Docker and deployment and Azure
Introduction to Docker and deployment and Azure
Jérôme Petazzoni
 
Building a Raspberry Pi cluster with Kubernetes, OpenFaaS and .NET
Building a Raspberry Pi cluster with Kubernetes, OpenFaaS and .NETBuilding a Raspberry Pi cluster with Kubernetes, OpenFaaS and .NET
Building a Raspberry Pi cluster with Kubernetes, OpenFaaS and .NET
Alex Ellis
 
Docker Athens: Docker Engine Evolution & Containerd Use Cases
Docker Athens: Docker Engine Evolution & Containerd Use CasesDocker Athens: Docker Engine Evolution & Containerd Use Cases
Docker Athens: Docker Engine Evolution & Containerd Use Cases
Phil Estes
 
Kubernetes
KubernetesKubernetes
Kubernetes
Meng-Ze Lee
 
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsArchitecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based Deployments
Ben Hall
 

Similar to K8s meetup-october-2021 (20)

Scaling Docker with Kubernetes
Scaling Docker with KubernetesScaling Docker with Kubernetes
Scaling Docker with Kubernetes
 
Agile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: IntroductionAgile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: Introduction
 
Developer Experience Cloud Native - From Code Gen to Git Commit without a CI/...
Developer Experience Cloud Native - From Code Gen to Git Commit without a CI/...Developer Experience Cloud Native - From Code Gen to Git Commit without a CI/...
Developer Experience Cloud Native - From Code Gen to Git Commit without a CI/...
 
Deploying Windows Apps to Kubernetes with Draft and Helm
Deploying Windows Apps to Kubernetes with Draft and HelmDeploying Windows Apps to Kubernetes with Draft and Helm
Deploying Windows Apps to Kubernetes with Draft and Helm
 
Laravel, docker, kubernetes
Laravel, docker, kubernetesLaravel, docker, kubernetes
Laravel, docker, kubernetes
 
Apt get no more let Vagrant, Puppet and Docker take the stage
Apt get no more let Vagrant, Puppet and Docker take the stageApt get no more let Vagrant, Puppet and Docker take the stage
Apt get no more let Vagrant, Puppet and Docker take the stage
 
Core OS
Core OSCore OS
Core OS
 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
 
Kubernetes for Java Developers
Kubernetes for Java DevelopersKubernetes for Java Developers
Kubernetes for Java Developers
 
kubernetes for beginners
kubernetes for beginnerskubernetes for beginners
kubernetes for beginners
 
TIAD 2016 : Application delivery in a container world
TIAD 2016 : Application delivery in a container worldTIAD 2016 : Application delivery in a container world
TIAD 2016 : Application delivery in a container world
 
Docker Multi-arch All The Things
Docker Multi-arch All The ThingsDocker Multi-arch All The Things
Docker Multi-arch All The Things
 
4K–Kubernetes with Knative, Kafka and Kamel
4K–Kubernetes with Knative, Kafka and Kamel 4K–Kubernetes with Knative, Kafka and Kamel
4K–Kubernetes with Knative, Kafka and Kamel
 
Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Introduction to Docker and deployment and Azure
Introduction to Docker and deployment and AzureIntroduction to Docker and deployment and Azure
Introduction to Docker and deployment and Azure
 
Building a Raspberry Pi cluster with Kubernetes, OpenFaaS and .NET
Building a Raspberry Pi cluster with Kubernetes, OpenFaaS and .NETBuilding a Raspberry Pi cluster with Kubernetes, OpenFaaS and .NET
Building a Raspberry Pi cluster with Kubernetes, OpenFaaS and .NET
 
Docker Athens: Docker Engine Evolution & Containerd Use Cases
Docker Athens: Docker Engine Evolution & Containerd Use CasesDocker Athens: Docker Engine Evolution & Containerd Use Cases
Docker Athens: Docker Engine Evolution & Containerd Use Cases
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsArchitecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based Deployments
 

Recently uploaded

Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
Srikant77
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 

Recently uploaded (20)

Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 

K8s meetup-october-2021

  • 2. MEETUP K8S GENEVA - Changement Pro - Geneva - Docker 2015 ? - K8s ! and K8s again !
  • 3. MEETUP K8S GENEVA - Historique
  • 4. MEETUP K8S GENEVA - Le passage
  • 5. MEETUP K8S GENEVA - Le renouveau
  • 6. MEETUP K8S GENEVA - Une nouvelle équipe et un nouveau souffle !
  • 7. MEETUP K8S GENEVA - Un évent trimestriel - Une vraie communauté (~ 400 membres) de passionnés - Débutants Welcome ! - K8s … mais pas seulement
  • 8. MEETUP K8S GENEVA - un écosystème ENORME ! - Database / Storage - Messaging, Monitoring - CI/CD , Automation - Security - Network - API Gateway ...
  • 9. MEETUP K8S GENEVA - Dans les nuages ….
  • 10. MEETUP K8S GENEVA - Amicalement votre … - SoKube
  • 11. MEETUP K8S GENEVA - Informatique et systèmes de communication • Sécurité informatique (HEPIA) • Informatique logicielle (HEPIA) • Systèmes informatiques embarqués (HEPIA) • Ingénierie des données • Réseaux et systèmes
  • 12. MEETUP K8S GENEVA - Speakers !
  • 13. MEETUP K8S GENEVA - Sponsors !
  • 14. MEETUP K8S GENEVA - Let's play !
  • 15. MEETUP K8S GENEVA - Let's networking !
  • 16. AGENDA  Introduction  Topics ➢ We will talk about: Introduction to the different Kubernetes on the Desktop solutions (non- exhaustive list) ➢ We will not cover: hosted Kubernetes solutions (EKS, AKS, GKE, etc...)  Round table (read: Demo time) ➢ Let's play a game: Kubernetes Battle Royal (#KBRGeneva)
  • 18. INITIAL QUESTIONS ➢ Assumption: you already heard about Kubernetes and Cloud Native applications ➢ How useful is it to learn Kubernetes with a "Desktop version"? ➢ Do I need Linux on my Desktop? ➢ Should I buy a high-end computer to run Kubernetes? ➢ What are "Kubernetes distributions"? ➢ Do I need to learn "multiple Kubernetes"? ➢ Is docker still relevant, should I learn directly Kubernetes?
  • 19. THE DESKTOP LAYERS ➢ Kubernetes needs Linux ➢ Linux is not my Desktop OS, so I need virtualization ➢ The virtualization can be light (microVM) or heavy (full blown VM) ➢ My VM should be accessible from my Desktop OS, so I need ports open/mapped ➢ I can reach my Kubernetes cluster
  • 20. THE DESKTOP CHALLENGES Composant / Desktop OS Linux MacOS Windows K8s Control Plane Native VM / LIMA VM / WSL K8s Worker Node Native VM / LIMA Native / VM / WSL K8s CLI Native Native Native K8s Volumes Native FS Virtualized FS Virtualized FS K8s Network Host Ports Remote Ports forward Remote Ports forward PS: The word "native" in the table above, means that the "backend" runs directly on the Desktop OS, and it's not virtualized.
  • 21. USER FRIENDLY CONTAINERS MANAGEMENT ➢ The popular: docker ➢ The challenger: podman ➢ The new cool: nerdctl ➢ The backend: containerD ✅ Linux | ❌ MacOS | ✅ Windows ✅ Linux | ⚠️ MacOS | ✅ Windows ✅ Linux | ✅ MacOS | ✅ Windows ✅ Linux | ⚠️ MacOS | ⚠️ Windows
  • 23. DOCKER DESKTOP ➢ Docker Desktop is officially supported to run upstream K8s on MacOS and Windows ➢ Docker Desktop on Linux has been announced for a future date ➢ Single node cluster ➢ Easy enable/disable/reset options ➢ K8s version not modifiable ➢ Target: DEV environments
  • 24. MINIKUBE ➢ Minikube is officially supported to run upstream K8s on Linux, MacOS and Windows ➢ Single or Multiple nodes cluster ➢ Easy start/stop options ➢ K8s version modifiable ➢ Addons available ➢ Target: DEV environments
  • 25. MICROK8S  MicroK8s is officially supported to run upstream K8s on Linux (snap), MacOS (VirtualBox) and Windows (Hyper-V,Virtualbox)  MicroK8s on MacOS and Windows require Multipass  MicroK8s can run on WSL and should also run on LIMA (to be tested)  Single node cluster  Multiple nodes cluster is possible but not available out of the box  Easy start/stop options  K8s version modifiable  Target: DEV environments
  • 26. K3S / K3D / RANCHER DESKTOP  K3s only runs on Linux  k3d runs K3s inside a container  Rancher Desktop is officially supported to run K3s on MacOS (LIMA) and Windows (WSL)  Single or Multiple nodes cluster  Rancher Desktop can only run single node (oct-2021)  Easy start/stop/cleanup options  K3s version modifiable  Target: DEV (all) / TEST (K3s) / PROD (K3s) environments
  • 27. K0S  K0s is officially supported to run upstream K8s on Linux  K0s can run inside a container  Single or Multiple nodes cluster  The default install requires at least two nodes  Easy start/stop/cleanup options  K8s version modifiable  Target: DEV (all) / TEST (K3s) / PROD (K3s) environments
  • 28. KIND  KinD is officially supported to run upstream K8s inside a container  KinD CLI is officially supported to run on Linux, MacOS and Windows  Single or Multiple nodes cluster  By default, only the single node cluster is managed by the CLI  Easy start/stop/cleanup options  K3s version modifiable  Target: DEV (all) / TEST (K3s) / PROD (K3s) environments
  • 29. DEV WITH KUBERNETES ON THE DESKTOP ?
  • 30. BENEFITS FOR DEV  Benefits of contains/k8s : for PROD, only ?  What about the dev team ?  Same env, same rules !  Focus on the app(s)  Same runtime  Multi-projects capabilities  Equalizer for the team
  • 32. “CONTROL + SAVE” WORKFLOW ON KUBERNETES
  • 33. TOOLS FOR K8S DEV WORKFLOW
  • 34.  CLI that facilitates continuous development for Kubernetes applications  https://github.com/GoogleContainerTools/skaffold  Google project  Apache-2.0 License  MacOs, Linux and Windows  Any Kubernetes cluster → Local or remote  CLI:  skaffold init → skaffold.yaml  scaffold dev → build and deploy your app continuously (Local or Remote repo)  scaffold run → building and deploying once at a time SKAFFOLD
  • 35.  CLI for Cloud-Native Development with Kubernetes  https://github.com/loft-sh/devspace  Lôft project  Apache-2.0 License  MacOs, Linux and Windows  Any Kubernetes cluster → Local or remote  CLI:  devspace init → devspace.yaml  devspace dev → to start developing your project in k8s  devspace deploy → to deploy your project to k8s DEVSPACE
  • 36.  Remote development environments, powered by Kubernetes  https://github.com/okteto/okteto  Licence Apache 2  MacOs, Linux and Windows  Any Kubernetes cluster → Local or remote  Okteto Cloud → $  CLI  okteto init → okteto.yml  okteto up → Activate your development container OKTETO
  • 37.  Fast, local development for Kubernetes microservices  https://github.com/telepresenceio/telepresence  Ambassador team  Apache-2.0 License  MacOs, Linux and Windows  Any Kubernetes cluster → Local or remote  getambassador.io → $  CLI  telepresence connect → Daemon + k8s agent  telepresence intercept → Intercept all traffic going to the service in your cluster TELEPRESENCE
  • 38. TOOLS FOR K8S DEV WORKFLOW odo >_ OLD tools:
  • 39. DON’T FORGET YOUR IDE  Local / Remote dev server with an SSH access  Code Editors with remote development capabilities  Ex: Remote extension pack with VSCode:  Remote WSL  Remote SSH  Remote container
  • 40. INNER AND OUTER LOOP WITH K8S ➔ Can be nearly the same  Write code  Build container  Push to registry  Deploy to cluster  Test  Validate  … But can be ……………………… SLLOOOWWWW !!!!!
  • 41. 16 GO, 8 CORE I9 ONLY !!!! AND YOU’RE ASKING TO BUILD AND RUN K8S WITH A JVM A FRONT ANGULAR AND A DATABASE !
  • 42. PATCHING STRATEGIES  Docker for Mac/Windows (D4M/D4W)  Very bad perf ➔ shared filesystem  Workaround  Copy rsync  Mutagen  Caching strategy  Parallels VM as hypervisor  ➔ make the pain tolerable
  • 44. CLOUD NATIVE APPLICATION: CNA Architecture Design Stateless Monitoring Startup / Shutdown Scaling Deployment strategy Quality Security
  • 45. DevX: CNA Developer eXperience ➢Replicable ➢Realistic ➢Fast https://devopedia.org/shift-left