Nội dung khoá học
Linux Container
Những vấn đề gặp phải khi triển khai phần mềm truyền thống
Container giải quyết những vấn đề trên như thế nào ?
Những thành phần của Linux Kernel tạo nên Linux Container ?
- View Isolation
- Filesystem Isolation
- Resource Control
- Security (Capability/Seccomp/LSM)
Linux Container kết nốt với nhau qua mạng như thế nào?
- Container <=> Host
- Container <=> Container
- Container <=> Internet
- Load Balancing traffic to Container
Container Network Interface (CNI)
- CNI là gì? Tạo sao phải cần CNI?
- CNI Plugin tương tác với Container Runtime như thế nào?
- Cấu hình IP cho Docker container sử dụng CNI Plugins
Union Mount
- Union Mount là gì?
- Union Mount giải quyết được vấn đề gì trong thực tế?
- Union Mount kết hợp với container image như thế nào?
Container Registry
- Container Image bao gồm những thành phần nào
- Tags
- Manifest/Manifest List
- Blobs
- Container Configuration
- Filesystem Layers
- Digest
- Container Registry lưu trữ các thành phần này ra sao
- Cách thức tương tác với Container Registry API – Sử dụng Raw HTTP(S) request
- Build & Push container image (single & multiple architecture) lên Docker Hub bằng Raw HTTP(s) request
Một số tips khi làm việc với Dockerfile
- Làm cách nào để giảm kích thước image
- Làm thể nào để giảm thời gian build image
- Làm thế nào để không lộ secrets khi build Container Image
Kubernetes
Kubernetes giải quyết được những vấn đề gì ?
Những thành phần tạo nên 1 Kubernetes Cluster và chức năng của mỗi thành phần
- etcd
- kube-apiserver
- kube-scheduler
- kube-controller-manager
- cloud-controller-manager
- kube-proxy
- kubelet
- Container Runtime
Cách thức các service tương tác với nhau nội bộ cluster
- Làm sao Pod/Container gởi/nhận traffic giữa các node khác nhau?
- kube-proxy định tuyến/load balance traffic như thế nào
- coredns có phải là thành phần bắt buộc để chạy Kubernetes không?
Giới thiệu các Add-On của Kubernetes
- Những Add-On phổ biến
- Tại sao phải cần Add-on?
Các thành phần của Kubernetes tương tác như thế nào khi nhận được 1 request (tạo Pod) từ bên ngoài
Demo:
- Cài đặt 1 hệ thống Kubernetes hoàn chỉnh sử dụng bash shell
- Deploy Add-on
- Deploy service & test HPA