SlideShare une entreprise Scribd logo
1  sur  149
Kubernetes trong triển khai ứng
dụng web
Nguyen Xuan Phong
Agenda
 Giới thiệu
 Nhắc lại về Docker
 Giới thiệu Kubernetes
 Kiến trúc Kubernetes
 Các thành phần cơ bản trong Kubernetes
 Rancher 2.0
 Harbor – Docker registry
 Demo
$ NGUYEN XUAN PHONG
$
$ DevOps – Branch Manager at GMO Zcom
VietNam Lab Center
$
$ Web - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
$ Php
$ Java
$ Javascript
$
$ Operation - - - - - - - - - - - - - - - - - - - - - - - - -
$ Linux
$ Vagrant
$ Ansible
$ Docker
$ Kubernetes
$
$ BrSE - - - - - - - - -- - - - - - - - - - - - - - - -- - - -
$ Japanese N2
https://point.gmo.jp/
Agenda
 Giới thiệu
 Nhắc lại về Docker
 Giới thiệu Kubernetes
 Kiến trúc Kubernetes
 Các thành phần cơ bản trong Kubernetes
 Rancher 2.0
 Harbor – Docker registry
 Demo
Vấn đề trong triển khai hệ thống
phần mềm
m n
Giải pháp triển khai hệ thống
phần mềm
m
Docker xuất hiện mở ra cuộc cách
mạng về ảo hoá
So sánh với các HyperVisor
HyperVisor Type 2 Docker
Virtualization Type Vitualization Machine Container
Weight of the created virtual
systems
Heavy Very lightweight
Startup time for created
machine
A few minutes A few seconds
Isolation level for created
vitural systems
Full Partial
Guaranteed Resources at
Hardware Level ?
Yes No
Can create machines with
different OS ?
Yes No
Kiến trúc Docker
Nginx
Php - fpm
Mysql
Docker
Container
Simple web app
Các vấn đề liên quan đến triển khai
hệ thống sử dụng docker
Health Discovery Scheduling
Configuration
Scaling Security
There are more!
Monitoring
Agenda
 Bối cảnh
 Nhắc lại về Docker
 Giới thiệu Kubernetes
 Kiến trúc Kubernetes
 Các thành phần cơ bản trong Kubernetes
 Rancher 2.0
 Harbor – Docker registry
 Demo
κυβερνήτης
k8s
Kubernetes
 Manage application, not machine
 Kubernetes là một Platform tự động hoá việc
quản lý, scaling container
 Kubernetes còn gọi là Container
orchestration engine.
 Kubernetes by Google dựa trên kinh nghiệm
quản lý sử dụng các container
=
Kubernetes vs Docker Swarm
https://platform9.com/blog/kubernetes-docker-swarm-compared/
Kubernetes làm được những gì
 Việc quản lý hàng loạt docket host
 Container Scheduling
 Rolling update
 Scaling/Auto Scaling
 Monitor vòng đời và tình trạng sống chết của container.
 Self-healing trong trường hợp có lỗi xãy ra. (Có khả năng phát hiện
và tự correct lỗi)
 Service discovery
 Load balancing
 Quản lý data
 Quản lý work node
 Quản lý log
 Infrastructure as Code
 Sự liên kết và mở rộng với các hệ thống khác
Kubernetes liên kết với hệ sinh
thái
 Ansible: Deploy container tới Kubernetes
 Apache Ignite: Sử dụng Service Discovery của
Kubernetes, tự động tạo và scaling k8s clkuster
 Fluentd: gửi log của container trong Kubernetes
 Jenkins: Deploy container đến Kubernetes
 OpenStack:Cấu trúc k8s liên kết với Cloud
 Prometheus: Monitor Kubernetes
 Spark: Thực thi native job trên Kubernetes(thay thế cho
YARN)
 Spinnaker:Deploy container đến Kubernetes
 v.v
Các môi trường Kubernetes
 Local Kubermetes
 Công cụ hỗ trợ thiết lập môi trường Kubernetes
 Quản lý Kubernetes trên public cloud
Local Kubermetes
Minikube
Docker for Mac
Công cụ hỗ trợ thiết lập môi trường
Kubernetes
 kubeadm
 Rancher
Quản lý Kubernetes trên public
cloud
 Google Kubernetes Engine(GKE)
 Azure Container Service(AKS)
 Elastic Container Service for Kubernetes(EKS)
GKE AKS
GKE(Google Kubernetes Engine)
Agenda
 Giới thiệu
 Nhắc lại về Docker
 Giới thiệu Kubernetes
 Kiến trúc Kubernetes
 Các thành phần cơ bản trong Kubernetes
 Rancher 2.0
 Harbor – Docker registry
 Demo
Agenda
 Giới thiệu
 Nhắc lại về Docker
 Giới thiệu Kubernetes
 Kiến trúc Kubernetes
 Các thành phần cơ bản trong Kubernetes
 Rancher 2.0
 Harbor – Docker registry
 Demo
Node
Hosts running
k8s daemons
Node Node Node
Master
API
Scheduler
etc..
kubelet kubelet kubelet
Kubernetes Resource
Phân Loại Resource Mô tả
Workloads Resource liên quan đến thực thi container
Discovery&Load balancer Resource cung cấp Endpoint - cho phép truy cập
Container từ bên ngoài Cluster
Config&Storage Resources liên quan đến settings, confidential
information, persistent volumes vv
Cluster Resources liên quan đến security và quota
Metadata Resource cho việc quản lý Resource
Workloads
Pod
ReplicationController
ReplicaSet
Deployment
DaemonSet
StatefulSet
Job
CronJob
Discovery&LB resource
Service
ClusterIP
NodePort
LoadBalancer
ExternalIP
ExternalName
Headless
Ingress
Config&Storage
Secret
ConfigMap
PersistentVolumeClaim
Cluster resource
Namespace
ServiceAccount
Role
ClusterRole
RoleBinding
ClusterRoleBinding
NetworkPolicy
ResourceQuota
PersistentVolume
Node
Metadata resource
CustomResourceDefinition
LimitRange
HorizontalPodAutoscaler
Workloads
Pod
ReplicationController
ReplicaSet
Deployment
DaemonSet
StatefulSet
Job
CronJob
Discovery&LB resource
Service
ClusterIP
NodePort
LoadBalancer
ExternalIP
ExternalName
Headless
Ingress
Config&Storage
Secret
ConfigMap
PersistentVolumeClaim
Cluster resource
Namespace
ServiceAccount
Role
ClusterRole
RoleBinding
ClusterRoleBinding
NetworkPolicy
ResourceQuota
PersistentVolume
Node
Metadata resource
CustomResourceDefinition
LimitRange
HorizontalPodAutoscaler
Application Developer normally use 3 types
Workloads
Pod
ReplicationController
ReplicaSet
Deployment
DaemonSet
StatefulSet
Job
CronJob
Discovery&LB resource
Service
ClusterIP
NodePort
LoadBalancer
ExternalIP
ExternalName
Headless
Ingress
Config&Storage
Secret
ConfigMap
PersistentVolumeClaim
Pod
Basic unit of
deployment in k8s
Group of container
Container configuration
Shared storage
Pod
container
container
container
Volume
NIC
Pod
container
container
container
nginx
frontend app
redis/cache
e.g.
Scheduled together
Guaranteed to be on
the same node
container
container
container
container
container
container
container
container
container
Node Node Node
Pod Pod Pod
container
container
container
container
container
container
Node 1 Node 2 Node 3
Pod Pod
container
container
container
Pod
container
container
container
Pod
container
container
container
Pod
container
container
container
Pod
container
container
container
Pod
Depends on each node’s resource availability
and each pod’s resource requirement
container
container
container
Node Node
container
container
container
Node Node
This will NEVER happen
MasterAPI
UI
CLI
Node 1
Node 2
Node 3
Pod
Pod
Node
MasterAPI
UI
CLI
Node 1
Node 2
Node 3
Pod
=
Demo Pod
ReplicaSet
Keep track of
Pod replicas
Replica Set
replica: 3
template:
container
container
container
Pod A
container
container
container
Pod
Replica Set
replica: 3
template:
container
container
container
Pod B
container
container
container
Pod A
container
container
container
Pod
Replica Set
replica: 3
template:
container
container
container
Pod B
container
container
container
Pod A
container
container
container
Pod C
container
container
container
Pod
Replica Set
container
container
container
Podreplica: 3
template:
container
container
container
Pod B
container
container
container
Pod A
container
container
container
Pod C
Replica Set
replica: 3
template:
container
container
container
Pod B
container
container
container
Pod A
container
container
container
Pod D
container
container
container
Pod
Auto healing
Deployment
Manages Replicas Set
state transitions
Deployment
container
container
container
Podreplica: 3
template:
Deployment
ReplicaSet A
container
container
container
Pod
replica: 3
template:
container
container
container
Podreplica: 3
template:
Deployment
ReplicaSet A
containe
r
containe
r
containe
r
Pod
replica: 3
template:
Change some setting,
please!
container
container
container
Podreplica: 3
template:
Deployment
ReplicaSet A
Change some setting,
please!
replica: 3
template:
container
container
container
Podreplica: 3
template:
container
container
container
Pod
replica: 3
template:
Deployment
ReplicaSet A
Change some setting,
please!
ReplicaSet B
replica: 3
template:
container
container
container
Podreplica: 3
template:
container
container
container
Pod
replica: 3
template:
container
container
container
Pod
replica: 3
template:
Deployment
ReplicaSet A
Change some setting,
please!
ReplicaSet B
replica: 3
template:
container
container
container
Podreplica: 3
template:
container
container
container
Pod
replica: 3
template:
Deployment
ReplicaSet B
replica: 3
template:
container
container
container
Podreplica: 3
template:
container
container
container
Pod
replica: 3
template:
Keep track of state
change history
Deployme
nt
ReplicaSet B
replica: 3
template:
container
container
container
Pod
replica: 3
template:
container
container
container
Podreplica: 3
template:
Deployment
Oh wait, I actually
didn’t want to do that
ReplicaSet B
replica: 3
template:
container
container
container
Pod
replica: 3
template:
container
container
container
Podreplica: 3
template:
Deployment
Oh wait, I actually
didn’t want to do that
ReplicaSet B
Rollback
container
container
container
Pod
replica: 3
template:
container
container
container
Podreplica: 3
template:
Deployment
ReplicaSet A ReplicaSet B
Oh wait, I actually
didn’t want to do that
Rollback
container
container
container
Pod
replica: 3
template:
container
container
container
Podreplica: 3
template:
container
container
container
Pod
replica: 3
template:
Deployment
ReplicaSet A ReplicaSet B
Oh wait, I actually
didn’t want to do that
Rollback
container
container
container
Podreplica: 3
template:
container
container
container
Pod
replica: 3
template:
Deployment
ReplicaSet A
container
container
container
Podreplica: 3
template:
container
container
container
Pod
replica: 3
template:
Rolling update
Pod
DaemonSet
DaemonSet: Schedule Pod một cách tuần tự
từng Pod một trên tất cả các Node.
 Use case
 Fluentd: Collect logs tool
 Datadog: Monitoring tool
Job
Job = Pod + batch = env + batch
 Job
 Start Pod (container
centos)
 Run command: sleep
60;
 Finish
 restartPolicy
 OnFailure: Use this Pod to run job
again
 Never: Create new Pod if Pod had
problem and run job
 completions: 1
 Job success one time and finish
 parallelism: 1
 run parallelism 1 pod
 backoffLimit: 10
 Allows failing 10 times
Run job one time
CronJob
Cronjob = Job + schedule
Crontab = batch + schedule
Cronjob = Job + schedule
1
2
3
Cronjob = Job + schedule
 schedule
 same cron format
 http://www.nncron.ru/help/EN/working/cron
-format.htm
 Setting
 concurrencyPolicy
 Allow(default): Không hạn chế đối với việc
thực thi đồng thời
 Forbid: Job trước đó thực hiện chưa xong thì
không tạo Job mới.(không thực hiện đồng thời)
 Replace: Trong trường hợp Job cũ đang chạy,
huỷ Job cũ và tạo Job mới
1
2
3
Cronjob = Job + schedule
 schedule
 Setting
 startingDeadlineSeconds
 Thời gian trễ cho phép để run job
 successfulJobsHistoryLimit
 Số lượng Job thành công được duy trì
 failedJobsHistoryLimit
 Số lượng Job thất bại duy trì.
 Job
1
2
3
K8s Cronjob vs cron job in linux
Problem in cron job in linux
Job
Problem in cron job in linux
Job
That’s OK ???
Job
Solution with K8s Cronjob
Job
Node 1 Node 2
Solution with K8s Cronjob
Job
Node 1 Node 2
Solusion with K8s Cronjob
Node 1 Node 2
Job
Workloads
Pod
ReplicationController
ReplicaSet
Deployment
DaemonSet
StatefulSet
Job
CronJob
Discovery&LB resource
Service
ClusterIP
NodePort
LoadBalancer
ExternalIP
ExternalName
Headless
Ingress
Config&Storage
Secret
ConfigMap
PersistentVolumeClaim
Workloads
Pod
ReplicationController
ReplicaSet
Deployment
DaemonSet
StatefulSet
Job
CronJob
Discovery&LB resource
Service
ClusterIP
NodePort
LoadBalancer
ExternalIP
ExternalName
Headless
Ingress
Config&Storage
Secret
ConfigMap
PersistentVolumeClaim
Kubernetes network
ClusterIP
ClusterIP Service
:80 :80 :80
ExternalIP
:80 :80 :80
ExtenalIP Service
NodePort
:80 :80 :80
NodePort Service
:80 :80 :80
NodePort Service
NodePort Service
NodePort Service
LoadBalancer
Load Balancer Service
LoadBalancer support for
GKE AKS
Loadbalancer for
my K8s ???
https://www.weave.works/blog/kubernetes-faq-how-
can-i-route-traffic-for-kubernetes-on-bare-metal
MetalLB
https://metallb.universe.tf/
Workloads
Pod
ReplicationController
ReplicaSet
Deployment
DaemonSet
StatefulSet
Job
CronJob
Discovery&LB resource
Service
ClusterIP
NodePort
LoadBalancer
ExternalIP
ExternalName
Headless
Ingress
Config&Storage
Secret
ConfigMap
PersistentVolumeClaim
Agenda
 Bối cảnh
 Nhắc lại về Docker
 Giới thiệu Kubernetes
 Kiến trúc Kubernetes
 Các thành phần cơ bản trong Kubernetes
 Rancher 2.0
 Harbor – Docker registry
 Demo
Rancher is redesigned to work on
Kubernetes.
Rancher 2.0
Agenda
 Bối cảnh
 Nhắc lại về Docker
 Giới thiệu Kubernetes
 Kiến trúc Kubernetes
 Các thành phần cơ bản trong Kubernetes
 Rancher 2.0
 Harbor – Docker registry
 Demo
Docker registry
Docker registry
Docker registry
Kiến trúc Harbor
Kiến trúc Harbor
MasterAPICLI
MasterAPICLI
Kube-demo
CLI
Push
images
MasterAPICLI
Kube-demo
code-pvc
2G
nginx-config-
pvc
1G
CLI
MasterAPICLI
Kube-demo
code-pvc
2G
CLInginx-config-
pvc
1G
MasterAPICLI
Kube-demo
code-pvc
2G
CLI
Pull
images
nginx-config-
pvc
1G
MasterAPICLI
Pull
images
NIC
NIC
code-pvc
2G
NodePort *:32253
Pod
(nginx, php-fpm)
Volume
Kube-demo
nginx-config-
pvc
1G
DB
MasterAPICLI
Pull
images
NIC
NIC
code-pvc
2G
NodePort *:32253
Pod
(nginx, php-fpm)
Volume
Kube-demo
nginx-config-
pvc
1G
DB
Frontend
MasterAPICLI
Pull
images
NIC
NIC
code-pvc
2G
NodePort *:32253
Pod
Volume
Kube-demo
nginx-config-
pvc
1G
DB
Frontend
Backend
MasterAPICLI
Pull
images
NIC
NIC
NodePort *:32253
Images
code-pvc
2G
nginx-config-
pvc
1G
DB
Frontend
Backend
Pod
Volume
NIC
NIC
Elasticsearch
Kibana
Design
Security
MasterAPICLI
Pull
images
NIC
NIC
NodePort *:32253
Images
code-pvc
2G
nginx-config-
pvc
1G
DB
Frontend
Backend
Pod
Volume
NIC
NIC
Elasticsearch
Kibana
Design
Security
Workloads
Pod
ReplicationController
ReplicaSet
Deployment
DaemonSet
StatefulSet
Job
CronJob
Discovery&LB resource
Service
ClusterIP
NodePort
LoadBalancer
ExternalIP
ExternalName
Headless
Ingress
Config&Storage
Secret
ConfigMap
PersistentVolumeClaim
Cluster resource
Namespace
ServiceAccount
Role
ClusterRole
RoleBinding
ClusterRoleBinding
NetworkPolicy
ResourceQuota
PersistentVolume
Node
Metadata resource
CustomResourceDefinition
LimitRange
HorizontalPodAutoscaler
Application Developer normally use 3 types
Kubernetes For Beginner
Docker Docker-compose K8s
Tài Liệu Tham Khảo
 https://kubernetes.io/docs/tutorials/
 Serial blog kubernetes
 https://blog.vietnamlab.vn/2018/09/25/nhap-mon-
kubernetes-gioi-thieu-rerial-kubernetes/
 https://github.com/gmo-vietnamlab/kubernetes-
research-demo
[DevDay2019] Develop a web application with Kubernetes - By Nguyen Xuan Phong, DevOps - Branch Manager at GMO Zcom VietNam Lab Center

Contenu connexe

Similaire à [DevDay2019] Develop a web application with Kubernetes - By Nguyen Xuan Phong, DevOps - Branch Manager at GMO Zcom VietNam Lab Center

Go micro framework to build microservices
Go micro framework to build microservicesGo micro framework to build microservices
Go micro framework to build microservicesTechMaster Vietnam
 
Docker Overview
Docker OverviewDocker Overview
Docker OverviewThinh Duc
 
Thiết lập i pv6 trên pc
Thiết lập i pv6 trên pcThiết lập i pv6 trên pc
Thiết lập i pv6 trên pcVNG
 
Lập trình web với các công nghệ phổ biến
Lập trình web với các công nghệ phổ biếnLập trình web với các công nghệ phổ biến
Lập trình web với các công nghệ phổ biếnSon Nguyen
 
Cloud computing and OpenStack
Cloud computing and OpenStackCloud computing and OpenStack
Cloud computing and OpenStackMinh Le
 
Cloud computing and OpenStack
Cloud computing and OpenStackCloud computing and OpenStack
Cloud computing and OpenStackMinh Le
 
Core java 2
Core java 2Core java 2
Core java 2. .
 
Tổng quan ASP.NET CORE - NIVIKI.COM
Tổng quan ASP.NET CORE - NIVIKI.COMTổng quan ASP.NET CORE - NIVIKI.COM
Tổng quan ASP.NET CORE - NIVIKI.COMKhoa Nguyen
 
Technical note playframework_documentation_working with play - java_vn
Technical note playframework_documentation_working with play - java_vnTechnical note playframework_documentation_working with play - java_vn
Technical note playframework_documentation_working with play - java_vnAsahina Infotech
 
Thêm sửa-xóa-combobox - c#
Thêm sửa-xóa-combobox - c#Thêm sửa-xóa-combobox - c#
Thêm sửa-xóa-combobox - c#Văn Dũng
 
Kinh nghiệm triển khai K8s tại Stringee - Mr Trần Tiến.pdf
Kinh nghiệm triển khai K8s tại Stringee - Mr Trần Tiến.pdfKinh nghiệm triển khai K8s tại Stringee - Mr Trần Tiến.pdf
Kinh nghiệm triển khai K8s tại Stringee - Mr Trần Tiến.pdfStringee JSC
 
Kinh nghiệm triển khai Microservices tại Sapo.vn
Kinh nghiệm triển khai Microservices tại Sapo.vnKinh nghiệm triển khai Microservices tại Sapo.vn
Kinh nghiệm triển khai Microservices tại Sapo.vnDotnet Open Group
 
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng webBài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng webMasterCode.vn
 

Similaire à [DevDay2019] Develop a web application with Kubernetes - By Nguyen Xuan Phong, DevOps - Branch Manager at GMO Zcom VietNam Lab Center (20)

Go micro framework to build microservices
Go micro framework to build microservicesGo micro framework to build microservices
Go micro framework to build microservices
 
Node.js căn bản
Node.js căn bảnNode.js căn bản
Node.js căn bản
 
Docker Overview
Docker OverviewDocker Overview
Docker Overview
 
Thiết lập i pv6 trên pc
Thiết lập i pv6 trên pcThiết lập i pv6 trên pc
Thiết lập i pv6 trên pc
 
Lập trình web với các công nghệ phổ biến
Lập trình web với các công nghệ phổ biếnLập trình web với các công nghệ phổ biến
Lập trình web với các công nghệ phổ biến
 
Apache+ q logs
Apache+ q logsApache+ q logs
Apache+ q logs
 
Cloud computing and OpenStack
Cloud computing and OpenStackCloud computing and OpenStack
Cloud computing and OpenStack
 
Cloud computing and OpenStack
Cloud computing and OpenStackCloud computing and OpenStack
Cloud computing and OpenStack
 
Core java 2
Core java 2Core java 2
Core java 2
 
Tổng quan ASP.NET CORE - NIVIKI.COM
Tổng quan ASP.NET CORE - NIVIKI.COMTổng quan ASP.NET CORE - NIVIKI.COM
Tổng quan ASP.NET CORE - NIVIKI.COM
 
Technical note playframework_documentation_working with play - java_vn
Technical note playframework_documentation_working with play - java_vnTechnical note playframework_documentation_working with play - java_vn
Technical note playframework_documentation_working with play - java_vn
 
Asp.net 3.5 _1
Asp.net 3.5 _1Asp.net 3.5 _1
Asp.net 3.5 _1
 
Hệ thống nhúng cho ứng dụng giải trí thời gian thực trên Android
Hệ thống nhúng cho ứng dụng giải trí thời gian thực trên AndroidHệ thống nhúng cho ứng dụng giải trí thời gian thực trên Android
Hệ thống nhúng cho ứng dụng giải trí thời gian thực trên Android
 
Thêm sửa-xóa-combobox - c#
Thêm sửa-xóa-combobox - c#Thêm sửa-xóa-combobox - c#
Thêm sửa-xóa-combobox - c#
 
Kinh nghiệm triển khai K8s tại Stringee - Mr Trần Tiến.pdf
Kinh nghiệm triển khai K8s tại Stringee - Mr Trần Tiến.pdfKinh nghiệm triển khai K8s tại Stringee - Mr Trần Tiến.pdf
Kinh nghiệm triển khai K8s tại Stringee - Mr Trần Tiến.pdf
 
Sapo Microservices Architecture
Sapo Microservices ArchitectureSapo Microservices Architecture
Sapo Microservices Architecture
 
Kinh nghiệm triển khai Microservices tại Sapo.vn
Kinh nghiệm triển khai Microservices tại Sapo.vnKinh nghiệm triển khai Microservices tại Sapo.vn
Kinh nghiệm triển khai Microservices tại Sapo.vn
 
Tìm hiểu về NodeJs
Tìm hiểu về NodeJsTìm hiểu về NodeJs
Tìm hiểu về NodeJs
 
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng webBài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
 
Web301 slide 1
Web301   slide 1Web301   slide 1
Web301 slide 1
 

Plus de DevDay.org

[DevDay2019] Lean UX - By Bryant Castro, Bryant Castro at Wizeline
[DevDay2019] Lean UX - By  Bryant Castro,  Bryant Castro at Wizeline[DevDay2019] Lean UX - By  Bryant Castro,  Bryant Castro at Wizeline
[DevDay2019] Lean UX - By Bryant Castro, Bryant Castro at WizelineDevDay.org
 
[DevDay2019] Why you'll lose without UX Design - By Szilard Toth, CTO at e·pi...
[DevDay2019] Why you'll lose without UX Design - By Szilard Toth, CTO at e·pi...[DevDay2019] Why you'll lose without UX Design - By Szilard Toth, CTO at e·pi...
[DevDay2019] Why you'll lose without UX Design - By Szilard Toth, CTO at e·pi...DevDay.org
 
[DevDay2019] Things i wish I knew when I was a 23-year-old Developer - By Chr...
[DevDay2019] Things i wish I knew when I was a 23-year-old Developer - By Chr...[DevDay2019] Things i wish I knew when I was a 23-year-old Developer - By Chr...
[DevDay2019] Things i wish I knew when I was a 23-year-old Developer - By Chr...DevDay.org
 
[DevDay2019] Designing design teams - Christopher Nguyen, UX Manager at Wizeline
[DevDay2019] Designing design teams - Christopher Nguyen, UX Manager at Wizeline[DevDay2019] Designing design teams - Christopher Nguyen, UX Manager at Wizeline
[DevDay2019] Designing design teams - Christopher Nguyen, UX Manager at WizelineDevDay.org
 
[DevDay2019] Growth Hacking - How to double the benefits of your startup with...
[DevDay2019] Growth Hacking - How to double the benefits of your startup with...[DevDay2019] Growth Hacking - How to double the benefits of your startup with...
[DevDay2019] Growth Hacking - How to double the benefits of your startup with...DevDay.org
 
[DevDay2019] Collaborate or die: The designers’ guide to working with develop...
[DevDay2019] Collaborate or die: The designers’ guide to working with develop...[DevDay2019] Collaborate or die: The designers’ guide to working with develop...
[DevDay2019] Collaborate or die: The designers’ guide to working with develop...DevDay.org
 
[DevDay2019] How AI is changing the future of Software Testing? - By Vui Nguy...
[DevDay2019] How AI is changing the future of Software Testing? - By Vui Nguy...[DevDay2019] How AI is changing the future of Software Testing? - By Vui Nguy...
[DevDay2019] How AI is changing the future of Software Testing? - By Vui Nguy...DevDay.org
 
[DevDay2019] Hands-on Machine Learning on Google Cloud Platform - By Thanh Le...
[DevDay2019] Hands-on Machine Learning on Google Cloud Platform - By Thanh Le...[DevDay2019] Hands-on Machine Learning on Google Cloud Platform - By Thanh Le...
[DevDay2019] Hands-on Machine Learning on Google Cloud Platform - By Thanh Le...DevDay.org
 
[DevDay2019] Micro Frontends Architecture - By Thang Pham, Senior Software En...
[DevDay2019] Micro Frontends Architecture - By Thang Pham, Senior Software En...[DevDay2019] Micro Frontends Architecture - By Thang Pham, Senior Software En...
[DevDay2019] Micro Frontends Architecture - By Thang Pham, Senior Software En...DevDay.org
 
[DevDay2019] Power of Test Automation and DevOps combination - One click savi...
[DevDay2019] Power of Test Automation and DevOps combination - One click savi...[DevDay2019] Power of Test Automation and DevOps combination - One click savi...
[DevDay2019] Power of Test Automation and DevOps combination - One click savi...DevDay.org
 
[DevDay2019] How do I test AI models? - By Minh Hoang, Senior QA Engineer at KMS
[DevDay2019] How do I test AI models? - By Minh Hoang, Senior QA Engineer at KMS[DevDay2019] How do I test AI models? - By Minh Hoang, Senior QA Engineer at KMS
[DevDay2019] How do I test AI models? - By Minh Hoang, Senior QA Engineer at KMSDevDay.org
 
[DevDay2019] How to quickly become a Senior Engineer - By Tran Anh Minh, CEO ...
[DevDay2019] How to quickly become a Senior Engineer - By Tran Anh Minh, CEO ...[DevDay2019] How to quickly become a Senior Engineer - By Tran Anh Minh, CEO ...
[DevDay2019] How to quickly become a Senior Engineer - By Tran Anh Minh, CEO ...DevDay.org
 
[Devday2019] Dev start-up - By Le Trung, Founder & CEO at Hifiveplus and Edu...
[Devday2019]  Dev start-up - By Le Trung, Founder & CEO at Hifiveplus and Edu...[Devday2019]  Dev start-up - By Le Trung, Founder & CEO at Hifiveplus and Edu...
[Devday2019] Dev start-up - By Le Trung, Founder & CEO at Hifiveplus and Edu...DevDay.org
 
[DevDay2019] Web Development In 2019 - A Practical Guide - By Hoang Nhu Vinh,...
[DevDay2019] Web Development In 2019 - A Practical Guide - By Hoang Nhu Vinh,...[DevDay2019] Web Development In 2019 - A Practical Guide - By Hoang Nhu Vinh,...
[DevDay2019] Web Development In 2019 - A Practical Guide - By Hoang Nhu Vinh,...DevDay.org
 
[DevDay2019] Opportunities and challenges for human resources during the digi...
[DevDay2019] Opportunities and challenges for human resources during the digi...[DevDay2019] Opportunities and challenges for human resources during the digi...
[DevDay2019] Opportunities and challenges for human resources during the digi...DevDay.org
 
[DevDay2019] Python Machine Learning with Jupyter Notebook - By Nguyen Huu Th...
[DevDay2019] Python Machine Learning with Jupyter Notebook - By Nguyen Huu Th...[DevDay2019] Python Machine Learning with Jupyter Notebook - By Nguyen Huu Th...
[DevDay2019] Python Machine Learning with Jupyter Notebook - By Nguyen Huu Th...DevDay.org
 
[DevDay2019] Do you dockerize? Are your containers safe? - By Pham Hong Khanh...
[DevDay2019] Do you dockerize? Are your containers safe? - By Pham Hong Khanh...[DevDay2019] Do you dockerize? Are your containers safe? - By Pham Hong Khanh...
[DevDay2019] Do you dockerize? Are your containers safe? - By Pham Hong Khanh...DevDay.org
 
[DevDay2019] Paradigm shift towards effective Scrum - By Tam Doan, Agile Coac...
[DevDay2019] Paradigm shift towards effective Scrum - By Tam Doan, Agile Coac...[DevDay2019] Paradigm shift towards effective Scrum - By Tam Doan, Agile Coac...
[DevDay2019] Paradigm shift towards effective Scrum - By Tam Doan, Agile Coac...DevDay.org
 
[DevDay2019] JAM Stack - By Ngo Thi Ni, Web Developer at Agility IO
[DevDay2019] JAM Stack - By Ngo Thi Ni, Web Developer at Agility IO[DevDay2019] JAM Stack - By Ngo Thi Ni, Web Developer at Agility IO
[DevDay2019] JAM Stack - By Ngo Thi Ni, Web Developer at Agility IODevDay.org
 
[DevDay2019] Layering GraphQL on top of existing infrastructure - By Phan Tha...
[DevDay2019] Layering GraphQL on top of existing infrastructure - By Phan Tha...[DevDay2019] Layering GraphQL on top of existing infrastructure - By Phan Tha...
[DevDay2019] Layering GraphQL on top of existing infrastructure - By Phan Tha...DevDay.org
 

Plus de DevDay.org (20)

[DevDay2019] Lean UX - By Bryant Castro, Bryant Castro at Wizeline
[DevDay2019] Lean UX - By  Bryant Castro,  Bryant Castro at Wizeline[DevDay2019] Lean UX - By  Bryant Castro,  Bryant Castro at Wizeline
[DevDay2019] Lean UX - By Bryant Castro, Bryant Castro at Wizeline
 
[DevDay2019] Why you'll lose without UX Design - By Szilard Toth, CTO at e·pi...
[DevDay2019] Why you'll lose without UX Design - By Szilard Toth, CTO at e·pi...[DevDay2019] Why you'll lose without UX Design - By Szilard Toth, CTO at e·pi...
[DevDay2019] Why you'll lose without UX Design - By Szilard Toth, CTO at e·pi...
 
[DevDay2019] Things i wish I knew when I was a 23-year-old Developer - By Chr...
[DevDay2019] Things i wish I knew when I was a 23-year-old Developer - By Chr...[DevDay2019] Things i wish I knew when I was a 23-year-old Developer - By Chr...
[DevDay2019] Things i wish I knew when I was a 23-year-old Developer - By Chr...
 
[DevDay2019] Designing design teams - Christopher Nguyen, UX Manager at Wizeline
[DevDay2019] Designing design teams - Christopher Nguyen, UX Manager at Wizeline[DevDay2019] Designing design teams - Christopher Nguyen, UX Manager at Wizeline
[DevDay2019] Designing design teams - Christopher Nguyen, UX Manager at Wizeline
 
[DevDay2019] Growth Hacking - How to double the benefits of your startup with...
[DevDay2019] Growth Hacking - How to double the benefits of your startup with...[DevDay2019] Growth Hacking - How to double the benefits of your startup with...
[DevDay2019] Growth Hacking - How to double the benefits of your startup with...
 
[DevDay2019] Collaborate or die: The designers’ guide to working with develop...
[DevDay2019] Collaborate or die: The designers’ guide to working with develop...[DevDay2019] Collaborate or die: The designers’ guide to working with develop...
[DevDay2019] Collaborate or die: The designers’ guide to working with develop...
 
[DevDay2019] How AI is changing the future of Software Testing? - By Vui Nguy...
[DevDay2019] How AI is changing the future of Software Testing? - By Vui Nguy...[DevDay2019] How AI is changing the future of Software Testing? - By Vui Nguy...
[DevDay2019] How AI is changing the future of Software Testing? - By Vui Nguy...
 
[DevDay2019] Hands-on Machine Learning on Google Cloud Platform - By Thanh Le...
[DevDay2019] Hands-on Machine Learning on Google Cloud Platform - By Thanh Le...[DevDay2019] Hands-on Machine Learning on Google Cloud Platform - By Thanh Le...
[DevDay2019] Hands-on Machine Learning on Google Cloud Platform - By Thanh Le...
 
[DevDay2019] Micro Frontends Architecture - By Thang Pham, Senior Software En...
[DevDay2019] Micro Frontends Architecture - By Thang Pham, Senior Software En...[DevDay2019] Micro Frontends Architecture - By Thang Pham, Senior Software En...
[DevDay2019] Micro Frontends Architecture - By Thang Pham, Senior Software En...
 
[DevDay2019] Power of Test Automation and DevOps combination - One click savi...
[DevDay2019] Power of Test Automation and DevOps combination - One click savi...[DevDay2019] Power of Test Automation and DevOps combination - One click savi...
[DevDay2019] Power of Test Automation and DevOps combination - One click savi...
 
[DevDay2019] How do I test AI models? - By Minh Hoang, Senior QA Engineer at KMS
[DevDay2019] How do I test AI models? - By Minh Hoang, Senior QA Engineer at KMS[DevDay2019] How do I test AI models? - By Minh Hoang, Senior QA Engineer at KMS
[DevDay2019] How do I test AI models? - By Minh Hoang, Senior QA Engineer at KMS
 
[DevDay2019] How to quickly become a Senior Engineer - By Tran Anh Minh, CEO ...
[DevDay2019] How to quickly become a Senior Engineer - By Tran Anh Minh, CEO ...[DevDay2019] How to quickly become a Senior Engineer - By Tran Anh Minh, CEO ...
[DevDay2019] How to quickly become a Senior Engineer - By Tran Anh Minh, CEO ...
 
[Devday2019] Dev start-up - By Le Trung, Founder & CEO at Hifiveplus and Edu...
[Devday2019]  Dev start-up - By Le Trung, Founder & CEO at Hifiveplus and Edu...[Devday2019]  Dev start-up - By Le Trung, Founder & CEO at Hifiveplus and Edu...
[Devday2019] Dev start-up - By Le Trung, Founder & CEO at Hifiveplus and Edu...
 
[DevDay2019] Web Development In 2019 - A Practical Guide - By Hoang Nhu Vinh,...
[DevDay2019] Web Development In 2019 - A Practical Guide - By Hoang Nhu Vinh,...[DevDay2019] Web Development In 2019 - A Practical Guide - By Hoang Nhu Vinh,...
[DevDay2019] Web Development In 2019 - A Practical Guide - By Hoang Nhu Vinh,...
 
[DevDay2019] Opportunities and challenges for human resources during the digi...
[DevDay2019] Opportunities and challenges for human resources during the digi...[DevDay2019] Opportunities and challenges for human resources during the digi...
[DevDay2019] Opportunities and challenges for human resources during the digi...
 
[DevDay2019] Python Machine Learning with Jupyter Notebook - By Nguyen Huu Th...
[DevDay2019] Python Machine Learning with Jupyter Notebook - By Nguyen Huu Th...[DevDay2019] Python Machine Learning with Jupyter Notebook - By Nguyen Huu Th...
[DevDay2019] Python Machine Learning with Jupyter Notebook - By Nguyen Huu Th...
 
[DevDay2019] Do you dockerize? Are your containers safe? - By Pham Hong Khanh...
[DevDay2019] Do you dockerize? Are your containers safe? - By Pham Hong Khanh...[DevDay2019] Do you dockerize? Are your containers safe? - By Pham Hong Khanh...
[DevDay2019] Do you dockerize? Are your containers safe? - By Pham Hong Khanh...
 
[DevDay2019] Paradigm shift towards effective Scrum - By Tam Doan, Agile Coac...
[DevDay2019] Paradigm shift towards effective Scrum - By Tam Doan, Agile Coac...[DevDay2019] Paradigm shift towards effective Scrum - By Tam Doan, Agile Coac...
[DevDay2019] Paradigm shift towards effective Scrum - By Tam Doan, Agile Coac...
 
[DevDay2019] JAM Stack - By Ngo Thi Ni, Web Developer at Agility IO
[DevDay2019] JAM Stack - By Ngo Thi Ni, Web Developer at Agility IO[DevDay2019] JAM Stack - By Ngo Thi Ni, Web Developer at Agility IO
[DevDay2019] JAM Stack - By Ngo Thi Ni, Web Developer at Agility IO
 
[DevDay2019] Layering GraphQL on top of existing infrastructure - By Phan Tha...
[DevDay2019] Layering GraphQL on top of existing infrastructure - By Phan Tha...[DevDay2019] Layering GraphQL on top of existing infrastructure - By Phan Tha...
[DevDay2019] Layering GraphQL on top of existing infrastructure - By Phan Tha...
 

[DevDay2019] Develop a web application with Kubernetes - By Nguyen Xuan Phong, DevOps - Branch Manager at GMO Zcom VietNam Lab Center

Notes de l'éditeur

  1. Với việc sử dụng docker, mỗi môi trường phần mềm sẽ được đóng gói lại một cách gọn nhẹ, di động, và hoạt động độc lập đồng thời chạy nhất quán trên hầu hết nền tảng phần cứng.
  2. Bằng cách sử dụng công nghệ container, vấn đề triển khai hệ thống phần mềm đã được giải quyết, giảm được độ phức tạp của việc triển khai nxm lần xuống còn n lần đóng gói phần mềm vào container.
  3. Hy Lạp: Người lái tàu
  4. https://platform9.com/blog/kubernetes-docker-swarm-compared/
  5. https://blog.vietnamlab.vn/p/8693b052-ec01-47aa-a6d0-1cc74cc5ad4f/
  6. https://blog.vietnamlab.vn/p/3dd21b5b-10a1-4857-9e13-5f950c9a209c/
  7. https://blog.vietnamlab.vn/p/3dd21b5b-10a1-4857-9e13-5f950c9a209c/