SlideShare a Scribd company logo
Deploying your first application with Kubernetes
PRESENTEDBY
MY FIRST
KUBERNETES APPLICATION
GIOVANNI CLEMENT
PRODUCT UNIT DIRECTOR – CLOUD NATIVE PLATFORM
giovanni.clement@corp.ovh.com
ROOM 2
1.30 PM
@gioindahouz
PRESENTEDBY
MY FIRST
KUBERNETES APPLICATION
KEVIN GEORGES
ENGINEERING MANAGER CONTAINERS - CLOUD NATIVE PLATFORM
Kevin.georges@corp.ovh.com
ROOM 2
1.30 PM
AGENDA
AGENDA
Who are we @OVH
From the past until now: a container
What is Kubernetes?
Market trends & Kubernetes-as-a-Service
How it works
What is a managed service?
Demo – The fun part!
Our roadmap
CLOUD NATIVE PLATFORM @OVH
PRODUCT UNIT – CLOUD NATIVE PLATFORM
Product Unit
Cloud Native PlatformPaaS
Metrics
Logs
K8S
Containers aaS Observability aaSStorage aaS
AUDIENCE – LEVEL 100
PRODUCT UNIT – CLOUD NATIVE PLATFORM
I’ve heard about containers and Kubernetes. Seems
cool… I’d love a little introduction to it.
I already know Kubernetes. It fits my needs
perfectly, but I do not have enough resources to
manage it. How can OVH help me?
I know containers, and stacks like Mesos/Marahton,
very well. But,Kubernetes?
Just “curious”…
I’m ready to use and deploy containers. Do I need
Kubernetes?
IMMUTABLE IS THE NEW VM
BARE METAL TO VM
FROM THE PAST TO NOW
Host OS
n * Database(s)
n * Application(s)
Host OS
Hypervisor
n * Database(s)
n * Application(s)
n * Guest OS
“n * Service”
VM TO CONTAINERS
THIS IS “CONTAINERISATION”
THIS IS CONTAINERISATION
A container is a standardised unit of
software
© Docker
A “CONTAINER”
THIS IS CONTAINERISATION
Containerised Applications
“Lightweight, standalone, executable
package of software”
“Infrastructure agnostic”
“Everything needed to run an application:
code, runtime, system tools, system
libraries and settings in one package”
THIS IS “CONTAINERISATION”
THIS IS CONTAINERISATION
2013: Containerisation becomes easy-to-use and popular, thanks to Docker.
THIS IS “CONTAINERISATION”
THIS IS CONTAINERISATION
2014 : Google announces its open-source version of BORG, its own automated cluster
management system.
Kubernetes is born!
THIS IS “CONTAINERISATION”
THIS IS CONTAINERISATION
2015 : Containers are the new deployable unit of software, as packaged applications.
This is the rise of micro-service ecosystems.
CI/CD pipelines evolve to build and deploy
immutable applications, like containers.
THIS IS “CONTAINERISATION”
THIS IS CONTAINERISATION
https://ovh.to/HegjQA
2016 : CI/CD/CA are container-centric.
Most experts raise the question of how container security is relevant in immutable
architectures.
THIS IS “CONTAINERISATION”
2017 : Kubernetes becomes the most popular container management system.
Major SaaS companies migrate to K8S, to reduce their time-to-market and operational costs.
THIS IS CONTAINERISATION
HELLO, I’M KUBERNETES
KUBERNETES
Run massive numbers of containers,
based on lessons learned by Google.
Schedule and run all kinds of
containers (short- and long-lived)
Kubernetes can be thought of as a
distributed OS, or process manager.
Container packages your code in a portable way.
Pod gives your code a temporary home inside the cluster.
Deployment keeps your code running , even when it is updated.
Services provides a stable address that can reach many pods.
Kubernetes is a portable, extensible open-source platform for
managing containerised workloads and services, which
facilitates both declarative configuration and automation. It has
a large, rapidly-growing ecosystem. Kubernetes services,
support, and tools are widely available.
BUT, I’M NOT…
KUBERNETES
• An hypervisor
• A simple, basic orchestrator
• A better docker-like solution
• A container builder
• An image registry
KUBERNETES VS ORCHESTRATOR
Additionally, Kubernetes is not a mere orchestration system. In fact, it eliminates the need for
orchestration. The technical definition of orchestration is execution of a defined workflow: first
do A, then B, then C. In contrast, Kubernetes is comprised of a set of independent,
composable control processes that continuously drive the current state towards the provided
desired state. It shouldn’t matter how you get from A to C. Centralized control is also not
required. This results in a system that is easier to use and more powerful, robust, resilient,
and extensible.
Kubernetes documentation
KUBERNETES ALL-THE-WAY
CNCF SURVEY
53%
14%
10%
14%
20%
11%
83%
21%
9% 11%
20%
7%
Kubernetes Docker Swarm Mesos CAPS Shell Scripts CloudFoundry
2016 2018
Your
company
manages
containers
with…
INFRA-AS-CODE
VS CONTAINER ORCHESTRATION
Chef Terraform Kubernetes
Infrastructure-oriented Infrastructure-oriented Container-oriented
Procedural
Plan-before-apply
(support increment)
Declarative, with auto-heal
Clients/server Server only
Master + managed
Kubelets on nodes
A TRUE MULTI-CLOUD WORLD
WHICH OF THE FOLLOWING
DATACENTRE TYPES DOES YOUR
COMPANY USE?
2400 + ANSWERS, SUMMER 2018 , CNCF SURVEY
77%
50%
64%
Public Cloud Private Cloud On Premise
HOW IT WORKS
HOW IT WORKS
#Container management
Kubernetes, simplifies container management in complex
ecosytems.
Deploy, Secure, Scale, Monitor
HOW IT WORKS
HOW IT WORKS
#Master
Master = n * node
Masters manage the cluster ,and the nodes are used to host the
running applications.
HOW IT WORKS
HOW IT WORKS
#NodeA node is a worker machine in Kubernetes, and may be a VM or physical
machine, depending on the cluster. Multiple pods can run on one node.
Node = n * pod
AKA Minion
HOW IT WORKS
HOW IT WORKS
#PodA pod is a group of one or more application
containers (such as Docker or rkt), and includes
shared storage (volumes), IP addresses, and
information about how to run them.
Pod = n * container
KUBERNETES OVERVIEW
KubeCTL
Client
Master Node(s)
Kube API
server
Kube
Scheduler
Kube Controller Manager
Cloud
Controler
Node
etcd
Kubelet
Docker Kube Proxy
IaaS API
Node
Kubelet
Docker Kube Proxy
Node
Kubelet
Docker Kube Proxy
KUBERNETES AND SELF-HEALING
#Minion
#Controller
#Replication
KUBERNETES
Node
Docker
Kubelet
Node
Kube Proxy Docker
Kubelet
Pod 2Pod 1 Pod 3 Pod 4 Pod 5
Kube Proxy
Service
Ingress controller
KUBERNETES@OVH
K8S@OVH
PCI (Public Cloud )
KUBERNETES@OVH
K8S@OVH
As we’re now in BETA:
1. We automatically create a new Public Cloud
project in your manager via Openstack when
ordering your Kubernetes cluster.
2. Spawn your nodes via our Kubernetes
manager, (which will auto-create a new VM in
this Public Cloud project).
3. You have access to all PCI flavours
(standards, not sandbox).
4. We do not bill your master Kubernetes cluster.
5. We only bill your freshly-installed nodes, via
your PCI billing.
MANAGED SERVICE: K8S
MANAGED KUBERNETES
It’s simple:
1. We start your Kubernetes cluster(s) in two minutes, as soon as you order it.
2. We watch your cluster(s)’ states, and make sure it is healthy.
3. We operate your cluster(s), but not your application inside your pods.
4. We manage all upgrades and updates.
MY FIRST K8S APPLICATION
K8S@OVH
1. Create your cluster
2. Boot a node
3. Deploy your application
4. Explore your application
5. Expose your app publicly
6. Scale your app
7. Update
TROUBLESHOOTING
K8S@OVH
Your truly dedicated CLI
DEMO TIME!
DEMO
1. Order your own cluster
2. Raise your nodes
3. Install and expose a service
4. Monitor your own lovely cluster
RANDOM QUESTIONS
K8S@OVH
How do I manage node resources?
How I choose my deployment location?
How do I scale a service?
How I manager my cluster updates?
How do containers communicate with each other?
Where is my config?
Stateful or stateless?
WHAT’S NEXT FOR KUBERNETES@OVH?
K8S@OVH
1 PCI Project- 1 K8S service
GRA(5) only
No UI
APIv6 Internal Only
Manual order
OVH employees’ perso. playground
Internal Alpha
Private Beta 1
Summit announcement + 500 users
1 PCI Project- 1 K8S service
GRA(5) only
500 Users max
l
Multiversion/update
Autohealing (including our own services ?)
LB
Observability
Autoscaling
500+ batches
Multiple regions
Feature-fit and ops-ready
Beta(s) N
Soft Launch
SLA and commercial support
OVH.com Open Order
Can be added to existing PCI
projects/changed
SLAs & Support
Support and run tooled and trained
+ Kubernetes PCI driver
+ Private registry
+ US Launch
Sales Push
Hard Launch
Backlog
(NOT SCHEDULED)
kubeCTL aaS/ Cloud Shell
Wizards / helm "application store”
Dashboard aaS/ Services UI
Service mesh (Istio)
Other K8s operators
Federation API
Multiple cloud backends
Private/Hybrid offering
Fargate/"serverless containers”
Summit
2018
Q2

More Related Content

Deploying your first application with Kubernetes

  • 2. PRESENTEDBY MY FIRST KUBERNETES APPLICATION GIOVANNI CLEMENT PRODUCT UNIT DIRECTOR – CLOUD NATIVE PLATFORM giovanni.clement@corp.ovh.com ROOM 2 1.30 PM @gioindahouz
  • 3. PRESENTEDBY MY FIRST KUBERNETES APPLICATION KEVIN GEORGES ENGINEERING MANAGER CONTAINERS - CLOUD NATIVE PLATFORM Kevin.georges@corp.ovh.com ROOM 2 1.30 PM
  • 4. AGENDA AGENDA Who are we @OVH From the past until now: a container What is Kubernetes? Market trends & Kubernetes-as-a-Service How it works What is a managed service? Demo – The fun part! Our roadmap
  • 5. CLOUD NATIVE PLATFORM @OVH PRODUCT UNIT – CLOUD NATIVE PLATFORM Product Unit Cloud Native PlatformPaaS Metrics Logs K8S Containers aaS Observability aaSStorage aaS
  • 6. AUDIENCE – LEVEL 100 PRODUCT UNIT – CLOUD NATIVE PLATFORM I’ve heard about containers and Kubernetes. Seems cool… I’d love a little introduction to it. I already know Kubernetes. It fits my needs perfectly, but I do not have enough resources to manage it. How can OVH help me? I know containers, and stacks like Mesos/Marahton, very well. But,Kubernetes? Just “curious”… I’m ready to use and deploy containers. Do I need Kubernetes?
  • 8. BARE METAL TO VM FROM THE PAST TO NOW Host OS n * Database(s) n * Application(s) Host OS Hypervisor n * Database(s) n * Application(s) n * Guest OS “n * Service”
  • 10. THIS IS “CONTAINERISATION” THIS IS CONTAINERISATION A container is a standardised unit of software © Docker
  • 11. A “CONTAINER” THIS IS CONTAINERISATION Containerised Applications “Lightweight, standalone, executable package of software” “Infrastructure agnostic” “Everything needed to run an application: code, runtime, system tools, system libraries and settings in one package”
  • 12. THIS IS “CONTAINERISATION” THIS IS CONTAINERISATION 2013: Containerisation becomes easy-to-use and popular, thanks to Docker.
  • 13. THIS IS “CONTAINERISATION” THIS IS CONTAINERISATION 2014 : Google announces its open-source version of BORG, its own automated cluster management system. Kubernetes is born!
  • 14. THIS IS “CONTAINERISATION” THIS IS CONTAINERISATION 2015 : Containers are the new deployable unit of software, as packaged applications. This is the rise of micro-service ecosystems. CI/CD pipelines evolve to build and deploy immutable applications, like containers.
  • 15. THIS IS “CONTAINERISATION” THIS IS CONTAINERISATION https://ovh.to/HegjQA 2016 : CI/CD/CA are container-centric. Most experts raise the question of how container security is relevant in immutable architectures.
  • 16. THIS IS “CONTAINERISATION” 2017 : Kubernetes becomes the most popular container management system. Major SaaS companies migrate to K8S, to reduce their time-to-market and operational costs. THIS IS CONTAINERISATION
  • 17. HELLO, I’M KUBERNETES KUBERNETES Run massive numbers of containers, based on lessons learned by Google. Schedule and run all kinds of containers (short- and long-lived) Kubernetes can be thought of as a distributed OS, or process manager. Container packages your code in a portable way. Pod gives your code a temporary home inside the cluster. Deployment keeps your code running , even when it is updated. Services provides a stable address that can reach many pods. Kubernetes is a portable, extensible open-source platform for managing containerised workloads and services, which facilitates both declarative configuration and automation. It has a large, rapidly-growing ecosystem. Kubernetes services, support, and tools are widely available.
  • 18. BUT, I’M NOT… KUBERNETES • An hypervisor • A simple, basic orchestrator • A better docker-like solution • A container builder • An image registry
  • 19. KUBERNETES VS ORCHESTRATOR Additionally, Kubernetes is not a mere orchestration system. In fact, it eliminates the need for orchestration. The technical definition of orchestration is execution of a defined workflow: first do A, then B, then C. In contrast, Kubernetes is comprised of a set of independent, composable control processes that continuously drive the current state towards the provided desired state. It shouldn’t matter how you get from A to C. Centralized control is also not required. This results in a system that is easier to use and more powerful, robust, resilient, and extensible. Kubernetes documentation
  • 20. KUBERNETES ALL-THE-WAY CNCF SURVEY 53% 14% 10% 14% 20% 11% 83% 21% 9% 11% 20% 7% Kubernetes Docker Swarm Mesos CAPS Shell Scripts CloudFoundry 2016 2018 Your company manages containers with…
  • 21. INFRA-AS-CODE VS CONTAINER ORCHESTRATION Chef Terraform Kubernetes Infrastructure-oriented Infrastructure-oriented Container-oriented Procedural Plan-before-apply (support increment) Declarative, with auto-heal Clients/server Server only Master + managed Kubelets on nodes
  • 22. A TRUE MULTI-CLOUD WORLD WHICH OF THE FOLLOWING DATACENTRE TYPES DOES YOUR COMPANY USE? 2400 + ANSWERS, SUMMER 2018 , CNCF SURVEY 77% 50% 64% Public Cloud Private Cloud On Premise
  • 23. HOW IT WORKS HOW IT WORKS #Container management Kubernetes, simplifies container management in complex ecosytems. Deploy, Secure, Scale, Monitor
  • 24. HOW IT WORKS HOW IT WORKS #Master Master = n * node Masters manage the cluster ,and the nodes are used to host the running applications.
  • 25. HOW IT WORKS HOW IT WORKS #NodeA node is a worker machine in Kubernetes, and may be a VM or physical machine, depending on the cluster. Multiple pods can run on one node. Node = n * pod AKA Minion
  • 26. HOW IT WORKS HOW IT WORKS #PodA pod is a group of one or more application containers (such as Docker or rkt), and includes shared storage (volumes), IP addresses, and information about how to run them. Pod = n * container
  • 27. KUBERNETES OVERVIEW KubeCTL Client Master Node(s) Kube API server Kube Scheduler Kube Controller Manager Cloud Controler Node etcd Kubelet Docker Kube Proxy IaaS API Node Kubelet Docker Kube Proxy Node Kubelet Docker Kube Proxy
  • 29. KUBERNETES Node Docker Kubelet Node Kube Proxy Docker Kubelet Pod 2Pod 1 Pod 3 Pod 4 Pod 5 Kube Proxy Service Ingress controller
  • 31. KUBERNETES@OVH K8S@OVH As we’re now in BETA: 1. We automatically create a new Public Cloud project in your manager via Openstack when ordering your Kubernetes cluster. 2. Spawn your nodes via our Kubernetes manager, (which will auto-create a new VM in this Public Cloud project). 3. You have access to all PCI flavours (standards, not sandbox). 4. We do not bill your master Kubernetes cluster. 5. We only bill your freshly-installed nodes, via your PCI billing.
  • 32. MANAGED SERVICE: K8S MANAGED KUBERNETES It’s simple: 1. We start your Kubernetes cluster(s) in two minutes, as soon as you order it. 2. We watch your cluster(s)’ states, and make sure it is healthy. 3. We operate your cluster(s), but not your application inside your pods. 4. We manage all upgrades and updates.
  • 33. MY FIRST K8S APPLICATION K8S@OVH 1. Create your cluster 2. Boot a node 3. Deploy your application 4. Explore your application 5. Expose your app publicly 6. Scale your app 7. Update
  • 35. DEMO TIME! DEMO 1. Order your own cluster 2. Raise your nodes 3. Install and expose a service 4. Monitor your own lovely cluster
  • 36. RANDOM QUESTIONS K8S@OVH How do I manage node resources? How I choose my deployment location? How do I scale a service? How I manager my cluster updates? How do containers communicate with each other? Where is my config? Stateful or stateless?
  • 37. WHAT’S NEXT FOR KUBERNETES@OVH? K8S@OVH 1 PCI Project- 1 K8S service GRA(5) only No UI APIv6 Internal Only Manual order OVH employees’ perso. playground Internal Alpha Private Beta 1 Summit announcement + 500 users 1 PCI Project- 1 K8S service GRA(5) only 500 Users max l Multiversion/update Autohealing (including our own services ?) LB Observability Autoscaling 500+ batches Multiple regions Feature-fit and ops-ready Beta(s) N Soft Launch SLA and commercial support OVH.com Open Order Can be added to existing PCI projects/changed SLAs & Support Support and run tooled and trained + Kubernetes PCI driver + Private registry + US Launch Sales Push Hard Launch Backlog (NOT SCHEDULED) kubeCTL aaS/ Cloud Shell Wizards / helm "application store” Dashboard aaS/ Services UI Service mesh (Istio) Other K8s operators Federation API Multiple cloud backends Private/Hybrid offering Fargate/"serverless containers” Summit 2018 Q2