SlideShare a Scribd company logo
1 of 35
Download to read offline
Making cloud native
platform by kubernetes
the hard way
이어형
al.lee@linecorp.com
DEMO
http://nucleo.linecorp-dev.com
Nucleo
Nucleo - Cloud Native
Platform
Disposable
Continuous Delivery & Continuous Integration
Automation, DevOps
Events
Micro Service Architecture , Stateless , Container ,
Serverless Computing , Service Discovery
Closing the distance
Nucleo is a platform that help developers can
stay focused on development.
and Nucleo will take over the rest things such
as Resource pooling, Continuous delivery,
Rollback, Scaling, Auto scaling, Logging,
Metering, Alerting, DNS, SSL, Event, Service
Discovery...
Nucleo Architecture
https://goo.gl/AKpG8L
Nucleo Architecture
Kubernetes
Production-Grade Container Orchestration
Automated container deployment, scaling, and
management
https://kubernetes.io/
Read manual rst if you can
but, tl;dr
http://leoh0.github.io/images/kubernetes-
documents.pdf
So today I speak only about...
ingress
persistent volume
custom resource de nition
before speak ingress(L7)
service (L4) publishing types
ClusterIP <- internal ip
NodePort <- all nodes need to open that port
LoadBalancer <- need to cloud provider
ExternalName <- CNAME
ingress
auto con gured con g in
ingress nginx controller
upstream kube-system-dashboard-80 {
#(...configs...)
server 192.168.63.221:8080 max_fails=0;
server 192.168.68.26:8080 max_fails=0;
}
server {
server_name dashboard-kube-system-nucleo.local.com;
listen [::]:80;
location / {
#(...configs...)
proxy_pass http://kube-system-dashboard-80;
}
}
ingress node deploy types
ingress node
use hostnetwork for xed port or port-ranges
scheduling only for ingress controller pods
scheduling control pattern
nodeselector
taints and tolerations
nodeselector & taints and tolerations
how to make ingress node
1. setup ingress node rst just like other nodes
2. setup labels to ingress node (enable scheduling
ingress pods)
3. setup taints to ingress node (disable scheduling
other pods)
4. install nginx-ingress-controller by hostnetwork
daemonset with node selector and tolerations
persistent volume
volume
volume
persistent volume
persistent volume claim
rbd
rook (alpha stage) <- for develop
https://github.com/rook/rook
prepared ceph <- for production
rook
rook operator & agent
prepared ceph
controller manager doesn't have rbd command
use external storage provisioner
with system:controller:persistent-volume-binder
role
rbd provisioner
custom resource de nition
A built-in API that offers a simple way to create
custom resources .
ThirdPartyResource(TPR) ->
CustomResourceDe nition(CRD)
TPR is deprecated at k8s < 1.8.0
CRD is begin at k8s > 1.7.0
resources
A resource is an endpoint in the Kubernetes API
that stores a collection of API objects of a certain
kind.
DaemonSet , Deployment , Job , Pod , ReplicaSet ,
ReplicationController , StatefulSet , Ingress , Service ,
ConfigMap , Secret , PersistentVolumeClaim ,
StorageClass , Volume , Event , HorizontalPodAutoscaler ,
PodPreset , ...
custom resources
make your own resource dynamically
and use k8s database, API, authentication like the
other resource objects
support CRUD functions e.g. Create , Update , Delete
, Get , and List
custom controllers
The controller interprets the structured data as a
record of the user’s desired state, and continually
takes action to achieve and maintain that state.
e.g. kube-controller-manager , rbd-provisioner ,
operator , ...
can work with any kind of resource, but they are
especially effective when combined with
custom resources .
custom resource and controller
feel free to contact me
facebook (kubernetes Korea Group)
https://www.facebook.com/groups/169159038
4455961/
slack (Kubernetes #kr-users)
https://kubernetes.slack.com/messages/kr-
users/
email
al.lee@linecorp.com
Making cloud native platform by kubernetes

More Related Content

What's hot

What's hot (20)

kubernetes for beginners
kubernetes for beginnerskubernetes for beginners
kubernetes for beginners
 
Kubernetes - introduction
Kubernetes - introductionKubernetes - introduction
Kubernetes - introduction
 
Kubernetes on aws
Kubernetes on awsKubernetes on aws
Kubernetes on aws
 
Kubernetes: A Short Introduction (2019)
Kubernetes: A Short Introduction (2019)Kubernetes: A Short Introduction (2019)
Kubernetes: A Short Introduction (2019)
 
Kubernetes in 30 minutes (2017/03/10)
Kubernetes in 30 minutes (2017/03/10)Kubernetes in 30 minutes (2017/03/10)
Kubernetes in 30 minutes (2017/03/10)
 
Kubernetes Boulder - Kit Merker - Cloud Native Deployment
Kubernetes Boulder - Kit Merker - Cloud Native DeploymentKubernetes Boulder - Kit Merker - Cloud Native Deployment
Kubernetes Boulder - Kit Merker - Cloud Native Deployment
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Kubernetes 101 for Beginners
Kubernetes 101 for BeginnersKubernetes 101 for Beginners
Kubernetes 101 for Beginners
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Kubernetes 架構與虛擬化之差異
Kubernetes 架構與虛擬化之差異Kubernetes 架構與虛擬化之差異
Kubernetes 架構與虛擬化之差異
 
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on KubernetesMonitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Kubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory GuideKubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory Guide
 
Virtualization inside kubernetes
Virtualization inside kubernetesVirtualization inside kubernetes
Virtualization inside kubernetes
 
Integration kubernetes with docker private registry
Integration kubernetes with docker private registryIntegration kubernetes with docker private registry
Integration kubernetes with docker private registry
 
Kubernetes Basic Operation
Kubernetes Basic OperationKubernetes Basic Operation
Kubernetes Basic Operation
 
Kubernetes and Hybrid Deployments
Kubernetes and Hybrid DeploymentsKubernetes and Hybrid Deployments
Kubernetes and Hybrid Deployments
 
Kubernetes @ Squarespace: Kubernetes in the Datacenter
Kubernetes @ Squarespace: Kubernetes in the DatacenterKubernetes @ Squarespace: Kubernetes in the Datacenter
Kubernetes @ Squarespace: Kubernetes in the Datacenter
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
KubeCon EU 2016: A Practical Guide to Container Scheduling
KubeCon EU 2016: A Practical Guide to Container SchedulingKubeCon EU 2016: A Practical Guide to Container Scheduling
KubeCon EU 2016: A Practical Guide to Container Scheduling
 

Similar to Making cloud native platform by kubernetes

Docker intro
Docker introDocker intro
Docker intro
spiddy
 

Similar to Making cloud native platform by kubernetes (20)

Kubernetes
KubernetesKubernetes
Kubernetes
 
Kubernetes - training micro-dragons without getting burnt
Kubernetes -  training micro-dragons without getting burntKubernetes -  training micro-dragons without getting burnt
Kubernetes - training micro-dragons without getting burnt
 
Serverless with Knative - Mete Atamel (Google)
Serverless with Knative - Mete Atamel (Google)Serverless with Knative - Mete Atamel (Google)
Serverless with Knative - Mete Atamel (Google)
 
Containers, orchestration and security, oh my!
Containers, orchestration and security, oh my!Containers, orchestration and security, oh my!
Containers, orchestration and security, oh my!
 
Kubernetes extensibility
Kubernetes extensibilityKubernetes extensibility
Kubernetes extensibility
 
Weave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapWeave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 Recap
 
iguazio - nuclio overview to CNCF (Sep 25th 2017)
iguazio - nuclio overview to CNCF (Sep 25th 2017)iguazio - nuclio overview to CNCF (Sep 25th 2017)
iguazio - nuclio overview to CNCF (Sep 25th 2017)
 
Red Hat and kubernetes: awesome stuff coming your way
Red Hat and kubernetes:  awesome stuff coming your wayRed Hat and kubernetes:  awesome stuff coming your way
Red Hat and kubernetes: awesome stuff coming your way
 
Kubernetes #1 intro
Kubernetes #1   introKubernetes #1   intro
Kubernetes #1 intro
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with Docker
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with Docker
 
Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)Why kubernetes for Serverless (FaaS)
Why kubernetes for Serverless (FaaS)
 
Kubernetes for Serverless - Serverless Summit 2017 - Krishna Kumar
Kubernetes for Serverless  - Serverless Summit 2017 - Krishna KumarKubernetes for Serverless  - Serverless Summit 2017 - Krishna Kumar
Kubernetes for Serverless - Serverless Summit 2017 - Krishna Kumar
 
Enabling Microservices Frameworks to Solve Business Problems
Enabling Microservices Frameworks to Solve  Business ProblemsEnabling Microservices Frameworks to Solve  Business Problems
Enabling Microservices Frameworks to Solve Business Problems
 
nuclio Overview October 2017
nuclio Overview October 2017nuclio Overview October 2017
nuclio Overview October 2017
 
DevEx | there’s no place like k3s
DevEx | there’s no place like k3sDevEx | there’s no place like k3s
DevEx | there’s no place like k3s
 
Cloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit KubernetesCloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit Kubernetes
 
A DevOps guide to Kubernetes
A DevOps guide to KubernetesA DevOps guide to Kubernetes
A DevOps guide to Kubernetes
 
Docker intro
Docker introDocker intro
Docker intro
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developer
 

More from 어형 이

Openstack Swift overview
Openstack Swift overviewOpenstack Swift overview
Openstack Swift overview
어형 이
 
debugging openstack neutron /w openvswitch
debugging openstack neutron /w openvswitchdebugging openstack neutron /w openvswitch
debugging openstack neutron /w openvswitch
어형 이
 

More from 어형 이 (9)

Toward kubernetes native data center
Toward kubernetes native data centerToward kubernetes native data center
Toward kubernetes native data center
 
Truly understanding container
Truly understanding containerTruly understanding container
Truly understanding container
 
How to debug the pod which is hard to debug (디버그 하기 어려운 POD 디버그 하기)
How to debug the pod which is hard to debug (디버그 하기 어려운 POD 디버그 하기)How to debug the pod which is hard to debug (디버그 하기 어려운 POD 디버그 하기)
How to debug the pod which is hard to debug (디버그 하기 어려운 POD 디버그 하기)
 
Live upgrade neutron architecture without downtime
Live upgrade neutron architecture without downtimeLive upgrade neutron architecture without downtime
Live upgrade neutron architecture without downtime
 
Kakao Openstack CI/CD
Kakao Openstack CI/CDKakao Openstack CI/CD
Kakao Openstack CI/CD
 
manage inhouse openstack the hard way(kakao case study about 10,000 vms)
manage inhouse openstack the hard way(kakao case study about 10,000 vms)manage inhouse openstack the hard way(kakao case study about 10,000 vms)
manage inhouse openstack the hard way(kakao case study about 10,000 vms)
 
Install openstack
Install openstackInstall openstack
Install openstack
 
Openstack Swift overview
Openstack Swift overviewOpenstack Swift overview
Openstack Swift overview
 
debugging openstack neutron /w openvswitch
debugging openstack neutron /w openvswitchdebugging openstack neutron /w openvswitch
debugging openstack neutron /w openvswitch
 

Recently uploaded

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 

Recently uploaded (20)

Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 

Making cloud native platform by kubernetes

  • 1. Making cloud native platform by kubernetes the hard way 이어형 al.lee@linecorp.com
  • 4. Nucleo - Cloud Native Platform Disposable Continuous Delivery & Continuous Integration Automation, DevOps Events Micro Service Architecture , Stateless , Container , Serverless Computing , Service Discovery
  • 5. Closing the distance Nucleo is a platform that help developers can stay focused on development. and Nucleo will take over the rest things such as Resource pooling, Continuous delivery, Rollback, Scaling, Auto scaling, Logging, Metering, Alerting, DNS, SSL, Event, Service Discovery...
  • 8. Kubernetes Production-Grade Container Orchestration Automated container deployment, scaling, and management https://kubernetes.io/
  • 9. Read manual rst if you can but, tl;dr http://leoh0.github.io/images/kubernetes- documents.pdf
  • 10. So today I speak only about... ingress persistent volume custom resource de nition
  • 11. before speak ingress(L7) service (L4) publishing types ClusterIP <- internal ip NodePort <- all nodes need to open that port LoadBalancer <- need to cloud provider ExternalName <- CNAME
  • 13. auto con gured con g in ingress nginx controller upstream kube-system-dashboard-80 { #(...configs...) server 192.168.63.221:8080 max_fails=0; server 192.168.68.26:8080 max_fails=0; } server { server_name dashboard-kube-system-nucleo.local.com; listen [::]:80; location / { #(...configs...) proxy_pass http://kube-system-dashboard-80; } }
  • 15. ingress node use hostnetwork for xed port or port-ranges scheduling only for ingress controller pods
  • 19. nodeselector & taints and tolerations
  • 20. how to make ingress node 1. setup ingress node rst just like other nodes 2. setup labels to ingress node (enable scheduling ingress pods) 3. setup taints to ingress node (disable scheduling other pods) 4. install nginx-ingress-controller by hostnetwork daemonset with node selector and tolerations
  • 23.
  • 24. rbd rook (alpha stage) <- for develop https://github.com/rook/rook prepared ceph <- for production
  • 25. rook
  • 27. prepared ceph controller manager doesn't have rbd command use external storage provisioner with system:controller:persistent-volume-binder role
  • 29. custom resource de nition A built-in API that offers a simple way to create custom resources . ThirdPartyResource(TPR) -> CustomResourceDe nition(CRD) TPR is deprecated at k8s < 1.8.0 CRD is begin at k8s > 1.7.0
  • 30. resources A resource is an endpoint in the Kubernetes API that stores a collection of API objects of a certain kind. DaemonSet , Deployment , Job , Pod , ReplicaSet , ReplicationController , StatefulSet , Ingress , Service , ConfigMap , Secret , PersistentVolumeClaim , StorageClass , Volume , Event , HorizontalPodAutoscaler , PodPreset , ...
  • 31. custom resources make your own resource dynamically and use k8s database, API, authentication like the other resource objects support CRUD functions e.g. Create , Update , Delete , Get , and List
  • 32. custom controllers The controller interprets the structured data as a record of the user’s desired state, and continually takes action to achieve and maintain that state. e.g. kube-controller-manager , rbd-provisioner , operator , ... can work with any kind of resource, but they are especially effective when combined with custom resources .
  • 33. custom resource and controller
  • 34. feel free to contact me facebook (kubernetes Korea Group) https://www.facebook.com/groups/169159038 4455961/ slack (Kubernetes #kr-users) https://kubernetes.slack.com/messages/kr- users/ email al.lee@linecorp.com