GIỚI THIỆU KHÓA
HỌC
Các bạn biết kubernetes – k8s chứ ? Đây chính là công nghệ hot nhất
hiện nay trong việc quản lý resource của hệ thống. K8S không phải
tất cả mọi công ty phần mềm đều được trang bị hay sử dụng nó. Vì nó
không phải là một công nghệ đơn giản để chúng ta tìm hiểu trong 1
vài ngày là có thể nắm được. Khóa học DevOps on Kubernetes tập trung
xoay quanh các vấn đề về K8s và sử dụng K8S trong các hệ thống thực
tiễn. Các bạn học viên sẽ được tiếp cận với các khái niệm và nguyên
lý cơ bản của k8s trong 1 vài buổi đầu tiên. Sau đó, sẽ là những
kiến thức thực tiễn được sử dụng trong việc quản lý các hệ thống
cluster sử dụng k8s lớn và chuyên dụng như Minitoring, chúng ta có
Prometheus và Grafana, hoặc ELK Stack, hoặc liên kết với các Cloud
Provider, chúng ta có EKS. Cài đặt và sử dụng package của k8s với
helm, sau đó chúng ta sẽ xây dựng thử một flow CICD sử dụng Jenkins
cho k8s.
Khóa học là sự kết hợp giữa lý thuyết và thực hành trực tiếp trên
hệ thống k8s, bao gồm cả những kiến thức cơ bản và những kiến thức
thực tế, giúp Học viên nhanh chóng tiếp cận được với các kiến thức
của k8s một cách có hệ thống và có cái nhìn đầy đủ về k8s trong thời
gian ngắn nhất. Đồng thời, cuối khóa, các bạn học viên cũng sẽ được
thực hành một bài Lab thực tiễn trên 1 hệ thống thật giúp chúng ta
có cái nhìn hoàn chỉnh hơn về k8s cũng như Flow làm việc với
k8s.
MỤC TIÊU KHÓA HỌC
-
Nắm được cách tạo và sử dụng k8s cluster
-
Hiểu được các thành phần cơ bản trong k8s cluster bao gồm
Network, Storage, cluster management.
-
Có thể triển khai ứng dụng trên k8s
-
Nắm được các kiến thức tổng quan về Container và Image.
-
Có đủ kiến thức để thi chứng chỉ CKAD hoặc CKA.
-
Cung cấp các kiến thức liên quan cho việc quản lý và giám sát
cluster như Grafana và Prometheus.
-
Có thể deploy một số hệ thống và phân phối tài nguyên trên đó
sử dụng 1 số Flow CICD.
-
Xây dựng hệ thống có thể kết hợp với
AWS bằng EKS.
ĐỐI TƯỢNG THAM GIA KHÓA HỌC
-
Trưởng/ Phó phòng phát triển phần mềm tại các công ty công
nghệ.
-
Trưởng/Phó các phòng vận hành hệ thống các công ty công
nghệ.
-
Lập trình viên/Networking/System engineer định hướng làm việc
với K8S.
NỘI DUNG KHÓA HỌC
Buổi 1: Khái quát về Docker
-
Docker và các khái niệm cơ bản
-
Architecture
-
Container
-
Image
-
Container Registry
-
Lab: Khởi tạo Dockerfile
-
Lab: Build Image
Buổi 2: Docker Container Registry
-
Import/Export Image
-
Image Building
-
Multi-stage, multi-platform image
-
Docker bake
-
SBOM attestation
-
Lab: Image Building
-
Lab: Sử dụng Docker bake với HCL
Buổi 3: Storage & Volume
-
Volumes in Docker
-
Rootless mode
-
Setup Limit/ResourceQuota
-
lab: Setup Storage & Volume
-
lab: Set Quota/Limit
Buổi 4: Deployment với Kubernetes
-
Tổng quan về kubernetes, k8s
-
Deployment truyền thống
-
Kiến trúc Infra trên k8s : Control plane -
Worker
-
Deployment với K8S
-
Mô hình Cluster
-
Lab: Dựng cluster
Buổi 5: Pod Container
-
Resource
-
Quản lý resource trong Namespace
-
Kubernetes Object
-
Config kubernetes với YAML
-
Hạt nhân K8S: Pod - Container
-
Probe/Liveness
-
Lab: Các thao tác với Container, Pod và Spec
Buổi 6: Scheduling trogn K8S
-
Mô hình Schedule trên K8S
-
Label/Selector
-
Taint and Tollerance
-
Pod Spread Constraints
-
Affinity - Anti Affinity
-
Lab: Sử dụng các thiết lập để điều khiển
resource
Buổi 7: Deployment trong K8S
-
Các loại Workload trong K8S
-
Các chiến lược deploy App
-
Ứng dụng deploy với Deployment - ReplicaSet
-
Chạy ngầm và lập lịch chạy Job với CronJob
-
Lab: Xây dựng Workload và Deployment
Buổi 8: Hệ thống lưu trữ trên K8S
-
Volume và PV
-
PV và PVC (Persistent Volume Claims)
-
Storage Class
-
StatefulSet
-
Lab: Tạo PV, Bind PV và PVC
Buổi 9: Quản lý thiết lập với Config
-
ConfigMap
-
Secret
-
Thiết lập thứ tự chạy container với command
-
Sử dụng command
-
initContainer trong Pod
-
InitContainer trong Pod
-
Lab: Sử dụng Secret và ConfigMap trong Cluster
-
Lab: Sử dụng initContainers
Buổi 10: K8S Network Architecture
-
Mô hình networking trong K8S
-
Các loại Service trong K8S
-
Ingress Networking
-
Headless Service
-
Headless Service
-
Lab: Tạo các thành phần network trong Cluster
Buổi 11: Helm
-
Giới thiệu về Helm
-
Sử dụng Helm để quản lý k8s cluster
-
Cài đặt các thành phần bằng helm chart
-
Lab: Sử dụng Helm chart để cài đặt các thành phần phổ
biến
Buổi 12: Prometheus - Grafana
-
Cài đặt phần mềm lên trên cluster
-
Giới thiệu về Prometheus
-
Các thành phần trên Prometheus
-
Giới thiệu về Grafana
-
Lab: Configuration Prometheus + Grafana
Buổi 13: ELK Stack
-
ELK Stack
-
ElasticSearch
-
Logstash
-
Kibana
-
Lab: Build ELK Stack
Buổi 14: GitOps with ArgoCD
-
Giới thiệu về CICD
-
Giới thiệu về flow GitOps
-
ArgoCD trong dự án
-
Các thành phần trong ArgoCD
-
Lab: Sử dụng Argocd trong dự án k8s
Buổi 15: Practice 1
-
Thực hiện Lab với k8s
-
Deploy project (containerized) trên hệ thống
k8s
-
Buổi 16: Practice 2
-
Thiết lập ArgoCD + Monitoring cho project