SlideShare a Scribd company logo
Jirayut Nimsaeng (Dear)
CEO & Founder, Opsta (Thailand) Co.,Ltd.
Coder Live with Thai Programmer Association
June 6, 2022
How to deploy
application on
How to deploy application on Kubernetes
Instructor
Jirayut Nimsaeng (Dear)
Jirayut has been involved in DevSecOps, Container, Cloud Technology
and Open Source for over 10 years. He has experienced and
succeeded in transforming several companies to deliver greater
values and be more agile.
● He is Founder and CEO of Opsta (Thailand) Co.,Ltd.
● He is Cloud/DevSecOps Transformation Consultant and
Solution Architecture
● He is the first Certified Kubernetes Administrator (CKA) and
Certified Kubernetes Security Specialist (CKS) in Thailand
● He is first Thai Google Cloud Developer Expert (GDE) in
Thailand
● Google Cloud Certified - Professional Cloud Architect and
Associate Cloud Engineer
How to deploy application on Kubernetes
Introduction to
Kubernetes
How to deploy application on Kubernetes
One Server
Node
Container
How to deploy application on Kubernetes
Multiple Servers
Node1 Node2 Node3
Container
???
How to deploy application on Kubernetes
What is Kubernetes?
● Kubernetes, in Greek, means the Helmsman, or pilot of the ship, pilot
of a ship of containers
● Kubernetes is a software written in Go for automating deployment,
scaling, and management of containerized applications
● Focus on manage applications, not machines
● Open source, open API container orchestrator
● Supports multiple cloud and bare-metal environments
● Inspired and informed by 15 years of Google’s experiences and internal
systems
How to deploy application on Kubernetes
Kubernetes Key Features
● Automatic bin packing
● Self-healing
● Horizontal manual/auto-scaling
● Service discovery & load balancing
● Automated rollouts and rollbacks
● Secret and configuration management
● Storage orchestration
● Batch execution
How to deploy application on Kubernetes
Kubernetes Architecture
How to deploy application on Kubernetes
Kubernetes Detail Architecture
How to deploy application on Kubernetes
Kubernetes
Pod and Deployment
How to deploy application on Kubernetes
Pods
Logical Application
● One or more containers
and volumes
● Shared namespaces
● One IP per pod
Pod
nginx
monolith
NFS
iSCSI
GCE
10.10.1.100
How to deploy application on Kubernetes
Deployments
Drive current state towards desired state
Node1 Node2 Node3
Pod
hello
app: hello
replicas: 1
Node4
How to deploy application on Kubernetes
Deployments
Drive current state towards desired state
Node1 Node2 Node3
Pod
hello
app: hello
replicas: 3
Node4
How to deploy application on Kubernetes
Deployments
Drive current state towards desired state
Node1 Node2 Node3
Pod
hello
app: hello
replicas: 3
Node4
Pod
hello
Pod
hello
How to deploy application on Kubernetes
Deployments
Drive current state towards desired state
Node1 Node2 Node3
Pod
hello
app: hello
replicas: 3
Node4
Pod
hello
How to deploy application on Kubernetes
Deployments
Drive current state towards desired state
Node1 Node2 Node3
Pod
hello
app: hello
replicas: 3
Node4
Pod
hello
Pod
hello
How to deploy application on Kubernetes
Deployments
Drive current state towards desired state
Node1 Node2 Node3
Pod
hello
app: hello
replicas: 3
Node4
Pod
hello
How to deploy application on Kubernetes
Deployments
Drive current state towards desired state
Node1 Node2 Node3
Pod
hello
app: hello
replicas: 3
Node4
Pod
hello
Pod
hello
How to deploy application on Kubernetes
Kubernetes
Service
How to deploy application on Kubernetes
Services
Pod
hello
Service
Pod
hello
Pod
hello
How to deploy application on Kubernetes
Kubernetes
Ingress
How to deploy application on Kubernetes
Service Type: Ingress (1)
Devices
Node 3
Node 2
Service: app-b Type=ClusterIP
Node 1
Service: app-a Type=ClusterIP
App-A
Pod 1
App-B
Pod 1
App-A
Pod 2
App-A
Pod 3
App-B
Pod 2
App-B
Pod 3
apiVersion: v1
kind: Service
metadata:
name: app-a
spec:
selector:
app: App-A
ports:
- protocol: TCP
port: 8080
targetPort: 8080
type: ClusterIP
How to deploy application on Kubernetes
Service Type: Ingress (2)
Devices
Cloud Load
Balancer with
Public IP
Node 3
Node 2
Service: app-b Type=ClusterIP
Node 1
Service Ingress Type=LoadBalancer
Ingress Controller
Service: app-a Type=ClusterIP
App-A
Pod 1
App-B
Pod 1
App-A
Pod 2
App-A
Pod 3
App-B
Pod 2
App-B
Pod 3
Port 31752 Port 31752 Port 31752
Port 80, 443 helm repo add ingress-nginx 
https://kubernetes.github.io/ingress-nginx
helm install my-ingress ingress-nginx/ingress-nginx
How to deploy application on Kubernetes
Service Type: Ingress (3)
Devices
Cloud Load
Balancer with
Public IP
Node 3
Node 2
Service: app-b Type=ClusterIP
Node 1
Service Ingress Type=LoadBalancer
Ingress Controller
Service: app-a Type=ClusterIP
App-A
Pod 1
App-B
Pod 1
App-A
Pod 2
App-A
Pod 3
App-B
Pod 2
App-B
Pod 3
Ingress Resource
● foo.com - Service A
● bar.com - Service B
Port 31752 Port 31752 Port 31752
Port 80, 443
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-foo
spec:
rules:
- host: "foo.com"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: app-a
port:
number: 8080
How to deploy application on Kubernetes
Kubernetes
Namespace and
Rolling Update
How to deploy application on Kubernetes
Namespace
Namespace B
Deployment
Namespace A
Deployment
Pod
hello
Service
Pod
hello
Pod
hello
Pod
hello
Service
Pod
hello
Pod
hello
How to deploy application on Kubernetes
Rolling Update
Node1 Node3
Node2
ghost
Pod
app v1
Service
ghost
Pod
app v1
Pod
app v1
How to deploy application on Kubernetes
Rolling Update
Node1 Node3
Node2
ghost
Pod
app v1
Service
ghost
Pod
app v1
Pod
app v1
Pod
app v2
How to deploy application on Kubernetes
Rolling Update
Node1 Node3
Node2
ghost
Pod
app v1
Service
ghost
Pod
app v1
Pod
app v1
Pod
app v2
How to deploy application on Kubernetes
Rolling Update
Node1 Node3
Node2
ghost
Pod
app v1
Service
ghost
Pod
app v1
Pod
app v1
Pod
app v2
How to deploy application on Kubernetes
Rolling Update
Node1 Node3
Node2
Service
ghost
Pod
app v1
Pod
app v1
Pod
app v2
How to deploy application on Kubernetes
Rolling Update
Node1 Node3
Node2
Service
ghost
Pod
app v1
Pod
app v1
Pod
app v2
Pod
app v2
How to deploy application on Kubernetes
Rolling Update
Node1 Node3
Node2
Service
Pod
app v1
Pod
app v2
Pod
app v2
How to deploy application on Kubernetes
Rolling Update
Node1 Node3
Node2
Service
Pod
app v1
Pod
app v2
Pod
app v2
Pod
app v2
How to deploy application on Kubernetes
Rolling Update
Node1 Node3
Node2
Service
Pod
app v2
Pod
app v2
Pod
app v2
How to deploy application on Kubernetes
Kubernetes
Secrets & ConfigMaps
How to deploy application on Kubernetes
Kubernetes Secrets & ConfigMaps
How to deploy application on Kubernetes
Kubernetes Secrets & ConfigMaps Volume
How to deploy application on Kubernetes
Kubernetes
Manifest File
How to deploy application on Kubernetes
Kubernetes Manifest File
apiVersion: v1
kind: Pod
metadata:
name: busybox
namespace: default
spec:
containers:
- name: busybox
image: busybox
command:
- sleep
- "3600"
This is what called
Infrastructure as Code
(IaC)
How to deploy application on Kubernetes
Manifest Structure
Define resource APIs
Define resource kind
Define name of POD
Define metadata like
name, image and port of container(s)
Define toggle label of POD
How to deploy application on Kubernetes
Introduction to
Helm
How to deploy application on Kubernetes
Problem with K8s Manifest File
● 1 Microservice consist of:
○ Deployment
○ Service
○ Ingress
○ Configmap
○ Secret
○ Job (if needed)
● More effort for operate and difficult control environment values.
● Hard to manage release (Rollback, Rollout, history).
● Hard to reuse configuration template cause specification environment.
How to deploy application on Kubernetes
Kubernetes Deployment Pattern
How to deploy application on Kubernetes
Helm
How to deploy application on Kubernetes
Helm Charts
● Helm Charts helps you define, install, and upgrade
● Charts are easy to create, version, share, and publish
● Public Helm Charts are at https://artifacthub.io
How to deploy application on Kubernetes
Helm 3 Architecture
How to deploy application on Kubernetes
Deploy Application
How to deploy application on Kubernetes
Local Deployment
Developer
VCS
Local Development
1. Put code into Version Control
2. Improve code to be Twelve-Factor App
https://12factor.net
3. Build Docker Image to make it ready run
in container with Dockerfile
4. Develop docker-compose.yml to run
your application easier
5. Secure your application at the beginning
such as using secret and authentication
6. README.md can be your document
How to deploy application on Kubernetes
Kubernetes
Developer
Infrastructure
VCS
Artifacts
Dev
Test
Prod
Local Development
7. Push Docker Image to Private
Registry
8. Manual Deploy Application with
Kubernetes Manifest File
9. Convert Manifest to Helm Chart
10. Create Helm Value
11. Manual Deploy with Helm
How to deploy application on Kubernetes
More questions?
jirayut@opsta.co.th
Jirayut Nimsaeng
CEO & Founder
Opsta (Thailand)
086-069-4042
Facebook

More Related Content

What's hot

Kubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory GuideKubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory Guide
Bytemark
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
Eric Gustafson
 
Kubernetes
KubernetesKubernetes
Kubernetes
Meng-Ze Lee
 
DevOps with Kubernetes
DevOps with KubernetesDevOps with Kubernetes
DevOps with Kubernetes
EastBanc Tachnologies
 
Intro to GitOps & Flux.pdf
Intro to GitOps & Flux.pdfIntro to GitOps & Flux.pdf
Intro to GitOps & Flux.pdf
Weaveworks
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
Peng Xiao
 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Edureka!
 
Getting Started with Kubernetes
Getting Started with Kubernetes Getting Started with Kubernetes
Getting Started with Kubernetes
VMware Tanzu
 
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
Edureka!
 
Kubernetes Deployment Strategies
Kubernetes Deployment StrategiesKubernetes Deployment Strategies
Kubernetes Deployment Strategies
Abdennour TM
 
Kubernetes Architecture and Introduction
Kubernetes Architecture and IntroductionKubernetes Architecture and Introduction
Kubernetes Architecture and Introduction
Stefan Schimanski
 
Kubernetes Basics
Kubernetes BasicsKubernetes Basics
Kubernetes Basics
Eueung Mulyana
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
Gabriel Carro
 
Introduction of Kubernetes - Trang Nguyen
Introduction of Kubernetes - Trang NguyenIntroduction of Kubernetes - Trang Nguyen
Introduction of Kubernetes - Trang Nguyen
Trang Nguyen
 
Kubernetes 101 for Beginners
Kubernetes 101 for BeginnersKubernetes 101 for Beginners
Kubernetes 101 for Beginners
Oktay Esgul
 
Introduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopIntroduction to Kubernetes Workshop
Introduction to Kubernetes Workshop
Bob Killen
 
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShiftKubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
DevOps.com
 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
Patrick Chanezon
 
Kubernetes security
Kubernetes securityKubernetes security
Kubernetes security
Thomas Fricke
 
Intro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps WorkshopIntro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps Workshop
Weaveworks
 

What's hot (20)

Kubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory GuideKubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory Guide
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
DevOps with Kubernetes
DevOps with KubernetesDevOps with Kubernetes
DevOps with Kubernetes
 
Intro to GitOps & Flux.pdf
Intro to GitOps & Flux.pdfIntro to GitOps & Flux.pdf
Intro to GitOps & Flux.pdf
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
 
Getting Started with Kubernetes
Getting Started with Kubernetes Getting Started with Kubernetes
Getting Started with Kubernetes
 
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
 
Kubernetes Deployment Strategies
Kubernetes Deployment StrategiesKubernetes Deployment Strategies
Kubernetes Deployment Strategies
 
Kubernetes Architecture and Introduction
Kubernetes Architecture and IntroductionKubernetes Architecture and Introduction
Kubernetes Architecture and Introduction
 
Kubernetes Basics
Kubernetes BasicsKubernetes Basics
Kubernetes Basics
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
Introduction of Kubernetes - Trang Nguyen
Introduction of Kubernetes - Trang NguyenIntroduction of Kubernetes - Trang Nguyen
Introduction of Kubernetes - Trang Nguyen
 
Kubernetes 101 for Beginners
Kubernetes 101 for BeginnersKubernetes 101 for Beginners
Kubernetes 101 for Beginners
 
Introduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopIntroduction to Kubernetes Workshop
Introduction to Kubernetes Workshop
 
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShiftKubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
 
Kubernetes security
Kubernetes securityKubernetes security
Kubernetes security
 
Intro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps WorkshopIntro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps Workshop
 

Similar to Deploy Application on Kubernetes

Introduction to Kubernetes and GKE
Introduction to Kubernetes and GKEIntroduction to Kubernetes and GKE
Introduction to Kubernetes and GKE
Opsta
 
Introduction to Kubernetes with demo
Introduction to Kubernetes with demoIntroduction to Kubernetes with demo
Introduction to Kubernetes with demo
Opsta
 
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
QAware GmbH
 
CI/CD Across Multiple Environments
CI/CD Across Multiple EnvironmentsCI/CD Across Multiple Environments
CI/CD Across Multiple Environments
Karl Isenberg
 
Containers as a Service with Docker
Containers as a Service with DockerContainers as a Service with Docker
Containers as a Service with Docker
Docker, Inc.
 
Docker Container As A Service - March 2016
Docker Container As A Service - March 2016Docker Container As A Service - March 2016
Docker Container As A Service - March 2016
Patrick Chanezon
 
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
NETWAYS
 
K8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals TrainingK8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals Training
Piotr Perzyna
 
Gatekeeper: API gateway
Gatekeeper: API gatewayGatekeeper: API gateway
Gatekeeper: API gateway
ChengHui Weng
 
Kubernetes workshop -_the_basics
Kubernetes workshop -_the_basicsKubernetes workshop -_the_basics
Kubernetes workshop -_the_basics
Sjuul Janssen
 
The path to a serverless-native era with Kubernetes
The path to a serverless-native era with KubernetesThe path to a serverless-native era with Kubernetes
The path to a serverless-native era with Kubernetes
sparkfabrik
 
Interop 2018 - Understanding Kubernetes - Brian Gracely
Interop 2018 - Understanding Kubernetes - Brian GracelyInterop 2018 - Understanding Kubernetes - Brian Gracely
Interop 2018 - Understanding Kubernetes - Brian Gracely
Brian Gracely
 
Kubernetes basics and hands on exercise
Kubernetes basics and hands on exerciseKubernetes basics and hands on exercise
Kubernetes basics and hands on exercise
Cloud Technology Experts
 
From development to production: Deploying Java and Scala apps to kubernetes
From development to production: Deploying Java and Scala apps to kubernetesFrom development to production: Deploying Java and Scala apps to kubernetes
From development to production: Deploying Java and Scala apps to kubernetes
Olanga Ochieng'
 
La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)
La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)
La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)
Alexandre Roman
 
Security considerations while deploying Containerized Applications by Neepend...
Security considerations while deploying Containerized Applications by Neepend...Security considerations while deploying Containerized Applications by Neepend...
Security considerations while deploying Containerized Applications by Neepend...
Agile India
 
[Global logic] container runtimes and kubernetes
[Global logic] container runtimes and kubernetes[Global logic] container runtimes and kubernetes
[Global logic] container runtimes and kubernetes
GlobalLogic Ukraine
 
Moving Applications into Azure Kubernetes
Moving Applications into Azure KubernetesMoving Applications into Azure Kubernetes
Moving Applications into Azure Kubernetes
Hussein Salman
 
Ultimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on KubernetesUltimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on Kubernetes
kloia
 
The App Developer's Kubernetes Toolbox
The App Developer's Kubernetes ToolboxThe App Developer's Kubernetes Toolbox
The App Developer's Kubernetes Toolbox
Nebulaworks
 

Similar to Deploy Application on Kubernetes (20)

Introduction to Kubernetes and GKE
Introduction to Kubernetes and GKEIntroduction to Kubernetes and GKE
Introduction to Kubernetes and GKE
 
Introduction to Kubernetes with demo
Introduction to Kubernetes with demoIntroduction to Kubernetes with demo
Introduction to Kubernetes with demo
 
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
 
CI/CD Across Multiple Environments
CI/CD Across Multiple EnvironmentsCI/CD Across Multiple Environments
CI/CD Across Multiple Environments
 
Containers as a Service with Docker
Containers as a Service with DockerContainers as a Service with Docker
Containers as a Service with Docker
 
Docker Container As A Service - March 2016
Docker Container As A Service - March 2016Docker Container As A Service - March 2016
Docker Container As A Service - March 2016
 
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
 
K8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals TrainingK8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals Training
 
Gatekeeper: API gateway
Gatekeeper: API gatewayGatekeeper: API gateway
Gatekeeper: API gateway
 
Kubernetes workshop -_the_basics
Kubernetes workshop -_the_basicsKubernetes workshop -_the_basics
Kubernetes workshop -_the_basics
 
The path to a serverless-native era with Kubernetes
The path to a serverless-native era with KubernetesThe path to a serverless-native era with Kubernetes
The path to a serverless-native era with Kubernetes
 
Interop 2018 - Understanding Kubernetes - Brian Gracely
Interop 2018 - Understanding Kubernetes - Brian GracelyInterop 2018 - Understanding Kubernetes - Brian Gracely
Interop 2018 - Understanding Kubernetes - Brian Gracely
 
Kubernetes basics and hands on exercise
Kubernetes basics and hands on exerciseKubernetes basics and hands on exercise
Kubernetes basics and hands on exercise
 
From development to production: Deploying Java and Scala apps to kubernetes
From development to production: Deploying Java and Scala apps to kubernetesFrom development to production: Deploying Java and Scala apps to kubernetes
From development to production: Deploying Java and Scala apps to kubernetes
 
La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)
La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)
La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)
 
Security considerations while deploying Containerized Applications by Neepend...
Security considerations while deploying Containerized Applications by Neepend...Security considerations while deploying Containerized Applications by Neepend...
Security considerations while deploying Containerized Applications by Neepend...
 
[Global logic] container runtimes and kubernetes
[Global logic] container runtimes and kubernetes[Global logic] container runtimes and kubernetes
[Global logic] container runtimes and kubernetes
 
Moving Applications into Azure Kubernetes
Moving Applications into Azure KubernetesMoving Applications into Azure Kubernetes
Moving Applications into Azure Kubernetes
 
Ultimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on KubernetesUltimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on Kubernetes
 
The App Developer's Kubernetes Toolbox
The App Developer's Kubernetes ToolboxThe App Developer's Kubernetes Toolbox
The App Developer's Kubernetes Toolbox
 

More from Opsta

Deploy 22 microservices from scratch in 30 mins with GitOps
Deploy 22 microservices from scratch in 30 mins with GitOpsDeploy 22 microservices from scratch in 30 mins with GitOps
Deploy 22 microservices from scratch in 30 mins with GitOps
Opsta
 
Let's build Developer Portal with Backstage
Let's build Developer Portal with BackstageLet's build Developer Portal with Backstage
Let's build Developer Portal with Backstage
Opsta
 
Kubernetes Secrets Management on Production with Demo
Kubernetes Secrets Management on Production with DemoKubernetes Secrets Management on Production with Demo
Kubernetes Secrets Management on Production with Demo
Opsta
 
Introduction of CCE and DevCloud
Introduction of CCE and DevCloudIntroduction of CCE and DevCloud
Introduction of CCE and DevCloud
Opsta
 
How to build DevSecOps Platform on Huawei Cloud
How to build DevSecOps Platform on Huawei CloudHow to build DevSecOps Platform on Huawei Cloud
How to build DevSecOps Platform on Huawei Cloud
Opsta
 
Make a better DevOps with GitOps
Make a better DevOps with GitOpsMake a better DevOps with GitOps
Make a better DevOps with GitOps
Opsta
 
Platform Engineering
Platform EngineeringPlatform Engineering
Platform Engineering
Opsta
 
Manage Kubernetes Clusters with Cluster API and ArgoCD
Manage Kubernetes Clusters with Cluster API and ArgoCDManage Kubernetes Clusters with Cluster API and ArgoCD
Manage Kubernetes Clusters with Cluster API and ArgoCD
Opsta
 
Security Process in DevSecOps
Security Process in DevSecOpsSecurity Process in DevSecOps
Security Process in DevSecOps
Opsta
 
How we can do Multi-Tenancy on Kubernetes
How we can do Multi-Tenancy on KubernetesHow we can do Multi-Tenancy on Kubernetes
How we can do Multi-Tenancy on Kubernetes
Opsta
 
Scaling DevSecOps Culture for Enterprise
Scaling DevSecOps Culture for EnterpriseScaling DevSecOps Culture for Enterprise
Scaling DevSecOps Culture for Enterprise
Opsta
 
Introduction to Google Cloud Platform
Introduction to Google Cloud PlatformIntroduction to Google Cloud Platform
Introduction to Google Cloud Platform
Opsta
 
Managing traffic routing with istio and envoy workshop
Managing traffic routing with istio and envoy workshopManaging traffic routing with istio and envoy workshop
Managing traffic routing with istio and envoy workshop
Opsta
 
How to pass the Google Certification Exams
How to pass the Google Certification ExamsHow to pass the Google Certification Exams
How to pass the Google Certification Exams
Opsta
 
How to Become DevOps
How to Become DevOpsHow to Become DevOps
How to Become DevOps
Opsta
 
DevOps: The Future of Software Development
DevOps: The Future of Software DevelopmentDevOps: The Future of Software Development
DevOps: The Future of Software Development
Opsta
 
Real World CI/CD with Kubernetes
Real World CI/CD with KubernetesReal World CI/CD with Kubernetes
Real World CI/CD with Kubernetes
Opsta
 
Journey of Kubernetes Scaling
Journey of Kubernetes ScalingJourney of Kubernetes Scaling
Journey of Kubernetes Scaling
Opsta
 
DevOps Transformation in Technical
DevOps Transformation in TechnicalDevOps Transformation in Technical
DevOps Transformation in Technical
Opsta
 
Performance Testing with Tsung
Performance Testing with TsungPerformance Testing with Tsung
Performance Testing with Tsung
Opsta
 

More from Opsta (20)

Deploy 22 microservices from scratch in 30 mins with GitOps
Deploy 22 microservices from scratch in 30 mins with GitOpsDeploy 22 microservices from scratch in 30 mins with GitOps
Deploy 22 microservices from scratch in 30 mins with GitOps
 
Let's build Developer Portal with Backstage
Let's build Developer Portal with BackstageLet's build Developer Portal with Backstage
Let's build Developer Portal with Backstage
 
Kubernetes Secrets Management on Production with Demo
Kubernetes Secrets Management on Production with DemoKubernetes Secrets Management on Production with Demo
Kubernetes Secrets Management on Production with Demo
 
Introduction of CCE and DevCloud
Introduction of CCE and DevCloudIntroduction of CCE and DevCloud
Introduction of CCE and DevCloud
 
How to build DevSecOps Platform on Huawei Cloud
How to build DevSecOps Platform on Huawei CloudHow to build DevSecOps Platform on Huawei Cloud
How to build DevSecOps Platform on Huawei Cloud
 
Make a better DevOps with GitOps
Make a better DevOps with GitOpsMake a better DevOps with GitOps
Make a better DevOps with GitOps
 
Platform Engineering
Platform EngineeringPlatform Engineering
Platform Engineering
 
Manage Kubernetes Clusters with Cluster API and ArgoCD
Manage Kubernetes Clusters with Cluster API and ArgoCDManage Kubernetes Clusters with Cluster API and ArgoCD
Manage Kubernetes Clusters with Cluster API and ArgoCD
 
Security Process in DevSecOps
Security Process in DevSecOpsSecurity Process in DevSecOps
Security Process in DevSecOps
 
How we can do Multi-Tenancy on Kubernetes
How we can do Multi-Tenancy on KubernetesHow we can do Multi-Tenancy on Kubernetes
How we can do Multi-Tenancy on Kubernetes
 
Scaling DevSecOps Culture for Enterprise
Scaling DevSecOps Culture for EnterpriseScaling DevSecOps Culture for Enterprise
Scaling DevSecOps Culture for Enterprise
 
Introduction to Google Cloud Platform
Introduction to Google Cloud PlatformIntroduction to Google Cloud Platform
Introduction to Google Cloud Platform
 
Managing traffic routing with istio and envoy workshop
Managing traffic routing with istio and envoy workshopManaging traffic routing with istio and envoy workshop
Managing traffic routing with istio and envoy workshop
 
How to pass the Google Certification Exams
How to pass the Google Certification ExamsHow to pass the Google Certification Exams
How to pass the Google Certification Exams
 
How to Become DevOps
How to Become DevOpsHow to Become DevOps
How to Become DevOps
 
DevOps: The Future of Software Development
DevOps: The Future of Software DevelopmentDevOps: The Future of Software Development
DevOps: The Future of Software Development
 
Real World CI/CD with Kubernetes
Real World CI/CD with KubernetesReal World CI/CD with Kubernetes
Real World CI/CD with Kubernetes
 
Journey of Kubernetes Scaling
Journey of Kubernetes ScalingJourney of Kubernetes Scaling
Journey of Kubernetes Scaling
 
DevOps Transformation in Technical
DevOps Transformation in TechnicalDevOps Transformation in Technical
DevOps Transformation in Technical
 
Performance Testing with Tsung
Performance Testing with TsungPerformance Testing with Tsung
Performance Testing with Tsung
 

Recently uploaded

FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 

Deploy Application on Kubernetes

  • 1. Jirayut Nimsaeng (Dear) CEO & Founder, Opsta (Thailand) Co.,Ltd. Coder Live with Thai Programmer Association June 6, 2022 How to deploy application on
  • 2. How to deploy application on Kubernetes Instructor Jirayut Nimsaeng (Dear) Jirayut has been involved in DevSecOps, Container, Cloud Technology and Open Source for over 10 years. He has experienced and succeeded in transforming several companies to deliver greater values and be more agile. ● He is Founder and CEO of Opsta (Thailand) Co.,Ltd. ● He is Cloud/DevSecOps Transformation Consultant and Solution Architecture ● He is the first Certified Kubernetes Administrator (CKA) and Certified Kubernetes Security Specialist (CKS) in Thailand ● He is first Thai Google Cloud Developer Expert (GDE) in Thailand ● Google Cloud Certified - Professional Cloud Architect and Associate Cloud Engineer
  • 3. How to deploy application on Kubernetes Introduction to Kubernetes
  • 4. How to deploy application on Kubernetes One Server Node Container
  • 5. How to deploy application on Kubernetes Multiple Servers Node1 Node2 Node3 Container ???
  • 6. How to deploy application on Kubernetes What is Kubernetes? ● Kubernetes, in Greek, means the Helmsman, or pilot of the ship, pilot of a ship of containers ● Kubernetes is a software written in Go for automating deployment, scaling, and management of containerized applications ● Focus on manage applications, not machines ● Open source, open API container orchestrator ● Supports multiple cloud and bare-metal environments ● Inspired and informed by 15 years of Google’s experiences and internal systems
  • 7. How to deploy application on Kubernetes Kubernetes Key Features ● Automatic bin packing ● Self-healing ● Horizontal manual/auto-scaling ● Service discovery & load balancing ● Automated rollouts and rollbacks ● Secret and configuration management ● Storage orchestration ● Batch execution
  • 8. How to deploy application on Kubernetes Kubernetes Architecture
  • 9. How to deploy application on Kubernetes Kubernetes Detail Architecture
  • 10. How to deploy application on Kubernetes Kubernetes Pod and Deployment
  • 11. How to deploy application on Kubernetes Pods Logical Application ● One or more containers and volumes ● Shared namespaces ● One IP per pod Pod nginx monolith NFS iSCSI GCE 10.10.1.100
  • 12. How to deploy application on Kubernetes Deployments Drive current state towards desired state Node1 Node2 Node3 Pod hello app: hello replicas: 1 Node4
  • 13. How to deploy application on Kubernetes Deployments Drive current state towards desired state Node1 Node2 Node3 Pod hello app: hello replicas: 3 Node4
  • 14. How to deploy application on Kubernetes Deployments Drive current state towards desired state Node1 Node2 Node3 Pod hello app: hello replicas: 3 Node4 Pod hello Pod hello
  • 15. How to deploy application on Kubernetes Deployments Drive current state towards desired state Node1 Node2 Node3 Pod hello app: hello replicas: 3 Node4 Pod hello
  • 16. How to deploy application on Kubernetes Deployments Drive current state towards desired state Node1 Node2 Node3 Pod hello app: hello replicas: 3 Node4 Pod hello Pod hello
  • 17. How to deploy application on Kubernetes Deployments Drive current state towards desired state Node1 Node2 Node3 Pod hello app: hello replicas: 3 Node4 Pod hello
  • 18. How to deploy application on Kubernetes Deployments Drive current state towards desired state Node1 Node2 Node3 Pod hello app: hello replicas: 3 Node4 Pod hello Pod hello
  • 19. How to deploy application on Kubernetes Kubernetes Service
  • 20. How to deploy application on Kubernetes Services Pod hello Service Pod hello Pod hello
  • 21. How to deploy application on Kubernetes Kubernetes Ingress
  • 22. How to deploy application on Kubernetes Service Type: Ingress (1) Devices Node 3 Node 2 Service: app-b Type=ClusterIP Node 1 Service: app-a Type=ClusterIP App-A Pod 1 App-B Pod 1 App-A Pod 2 App-A Pod 3 App-B Pod 2 App-B Pod 3 apiVersion: v1 kind: Service metadata: name: app-a spec: selector: app: App-A ports: - protocol: TCP port: 8080 targetPort: 8080 type: ClusterIP
  • 23. How to deploy application on Kubernetes Service Type: Ingress (2) Devices Cloud Load Balancer with Public IP Node 3 Node 2 Service: app-b Type=ClusterIP Node 1 Service Ingress Type=LoadBalancer Ingress Controller Service: app-a Type=ClusterIP App-A Pod 1 App-B Pod 1 App-A Pod 2 App-A Pod 3 App-B Pod 2 App-B Pod 3 Port 31752 Port 31752 Port 31752 Port 80, 443 helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx helm install my-ingress ingress-nginx/ingress-nginx
  • 24. How to deploy application on Kubernetes Service Type: Ingress (3) Devices Cloud Load Balancer with Public IP Node 3 Node 2 Service: app-b Type=ClusterIP Node 1 Service Ingress Type=LoadBalancer Ingress Controller Service: app-a Type=ClusterIP App-A Pod 1 App-B Pod 1 App-A Pod 2 App-A Pod 3 App-B Pod 2 App-B Pod 3 Ingress Resource ● foo.com - Service A ● bar.com - Service B Port 31752 Port 31752 Port 31752 Port 80, 443 apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: ingress-foo spec: rules: - host: "foo.com" http: paths: - pathType: Prefix path: "/" backend: service: name: app-a port: number: 8080
  • 25. How to deploy application on Kubernetes Kubernetes Namespace and Rolling Update
  • 26. How to deploy application on Kubernetes Namespace Namespace B Deployment Namespace A Deployment Pod hello Service Pod hello Pod hello Pod hello Service Pod hello Pod hello
  • 27. How to deploy application on Kubernetes Rolling Update Node1 Node3 Node2 ghost Pod app v1 Service ghost Pod app v1 Pod app v1
  • 28. How to deploy application on Kubernetes Rolling Update Node1 Node3 Node2 ghost Pod app v1 Service ghost Pod app v1 Pod app v1 Pod app v2
  • 29. How to deploy application on Kubernetes Rolling Update Node1 Node3 Node2 ghost Pod app v1 Service ghost Pod app v1 Pod app v1 Pod app v2
  • 30. How to deploy application on Kubernetes Rolling Update Node1 Node3 Node2 ghost Pod app v1 Service ghost Pod app v1 Pod app v1 Pod app v2
  • 31. How to deploy application on Kubernetes Rolling Update Node1 Node3 Node2 Service ghost Pod app v1 Pod app v1 Pod app v2
  • 32. How to deploy application on Kubernetes Rolling Update Node1 Node3 Node2 Service ghost Pod app v1 Pod app v1 Pod app v2 Pod app v2
  • 33. How to deploy application on Kubernetes Rolling Update Node1 Node3 Node2 Service Pod app v1 Pod app v2 Pod app v2
  • 34. How to deploy application on Kubernetes Rolling Update Node1 Node3 Node2 Service Pod app v1 Pod app v2 Pod app v2 Pod app v2
  • 35. How to deploy application on Kubernetes Rolling Update Node1 Node3 Node2 Service Pod app v2 Pod app v2 Pod app v2
  • 36. How to deploy application on Kubernetes Kubernetes Secrets & ConfigMaps
  • 37. How to deploy application on Kubernetes Kubernetes Secrets & ConfigMaps
  • 38. How to deploy application on Kubernetes Kubernetes Secrets & ConfigMaps Volume
  • 39. How to deploy application on Kubernetes Kubernetes Manifest File
  • 40. How to deploy application on Kubernetes Kubernetes Manifest File apiVersion: v1 kind: Pod metadata: name: busybox namespace: default spec: containers: - name: busybox image: busybox command: - sleep - "3600" This is what called Infrastructure as Code (IaC)
  • 41. How to deploy application on Kubernetes Manifest Structure Define resource APIs Define resource kind Define name of POD Define metadata like name, image and port of container(s) Define toggle label of POD
  • 42. How to deploy application on Kubernetes Introduction to Helm
  • 43. How to deploy application on Kubernetes Problem with K8s Manifest File ● 1 Microservice consist of: ○ Deployment ○ Service ○ Ingress ○ Configmap ○ Secret ○ Job (if needed) ● More effort for operate and difficult control environment values. ● Hard to manage release (Rollback, Rollout, history). ● Hard to reuse configuration template cause specification environment.
  • 44. How to deploy application on Kubernetes Kubernetes Deployment Pattern
  • 45. How to deploy application on Kubernetes Helm
  • 46. How to deploy application on Kubernetes Helm Charts ● Helm Charts helps you define, install, and upgrade ● Charts are easy to create, version, share, and publish ● Public Helm Charts are at https://artifacthub.io
  • 47. How to deploy application on Kubernetes Helm 3 Architecture
  • 48. How to deploy application on Kubernetes Deploy Application
  • 49. How to deploy application on Kubernetes Local Deployment Developer VCS Local Development 1. Put code into Version Control 2. Improve code to be Twelve-Factor App https://12factor.net 3. Build Docker Image to make it ready run in container with Dockerfile 4. Develop docker-compose.yml to run your application easier 5. Secure your application at the beginning such as using secret and authentication 6. README.md can be your document
  • 50. How to deploy application on Kubernetes Kubernetes Developer Infrastructure VCS Artifacts Dev Test Prod Local Development 7. Push Docker Image to Private Registry 8. Manual Deploy Application with Kubernetes Manifest File 9. Convert Manifest to Helm Chart 10. Create Helm Value 11. Manual Deploy with Helm
  • 51. How to deploy application on Kubernetes More questions? jirayut@opsta.co.th Jirayut Nimsaeng CEO & Founder Opsta (Thailand) 086-069-4042 Facebook