Có đủ hành trang để làm DevOps thực chiến ở doanh nghiệp: tự đóng gói, deploy, vận hành và xử lý sự cố một hệ thống chạy trên Kubernetes.
Nền tảng tối thiểu: Request, process và phòng lab
4/5 xongVừa đủ nền để Docker có nghĩa: một request đi qua những đâu, process là gì, và một máy Linux để thực hành.
Docker: Đóng gói và chạy ứng dụng
0/10 xongĐóng gói và chạy ứng dụng bằng Docker. Phần Linux và mạng cần tới được dạy ngay trong bài cần nó.
Server thật: Deploy lên một máy Linux thật
0/5 xongTự tay đưa ứng dụng lên một server thật một lần, để biết các module sau đang tự động hoá những gì.
CI/CD với GitLab: Từ git push tới server
0/4 xongTự động hoá bằng GitLab CI đúng những bước vừa làm tay ở module trước.
Kubernetes: Chạy container trên cả một cụm máy
0/10 xongChạy container trên nhiều máy cùng lúc. Mỗi khái niệm ở đây nối về một bài Docker đã học.
Rancher và vận hành: Quản lý cụm, GitOps, theo dõi, xử lý sự cố
0/8 xongQuản lý cụm bằng Rancher, deploy bằng GitOps với Argo CD, theo dõi, cảnh báo, xử lý sự cố, rồi tự dựng lại toàn bộ.
Mỗi bài bắt đầu từ một vấn đề có thật, rồi tới khái niệm giải thích vì sao nó xảy ra, sau cùng mới tới công cụ.
Mỗi bài gồm ba phần
| Tệp | Dùng để |
|---|---|
index.html | Bài giảng đầy đủ: giải thích, sơ đồ, bảng tra, lab và danh sách tự kiểm tra. |
notes.md | Ghi chép: lỗi đã gặp, output thật. |
lab/ | Các tệp đã viết trong bài: Dockerfile, cấu hình… |
Mỗi lab có một bước cố tình gây lỗi
Làm hỏng có chủ đích rồi tự sửa, để lần sau gặp lỗi thật thì đã biết nó là gì.
Nguồn chính thức để tra cứu trong lúc học.
Tài liệu chính thức
| Chủ đề | Nguồn |
|---|---|
| Docker, Get started | docs.docker.com/get-started |
| Dockerfile reference | docs.docker.com/reference/dockerfile |
| Docker Compose | docs.docker.com/compose |
| The Twelve-Factor App | 12factor.net |
| Nginx, Beginner's Guide | nginx.org/en/docs/beginners_guide.html |
| Let's Encrypt / Certbot | certbot.eff.org |
| GitLab CI/CD | docs.gitlab.com/ci |
Cú pháp .gitlab-ci.yml | docs.gitlab.com/ci/yaml |
| Kubernetes | kubernetes.io/docs |
| k3d, cụm Kubernetes học trên máy | k3d.io |
| Helm | helm.sh/docs |
| cert-manager | cert-manager.io/docs |
| Rancher | ranchermanager.docs.rancher.com |
| RKE2 | docs.rke2.io |
| Spring Boot Actuator | docs.spring.io/spring-boot/reference/actuator |
| Prometheus | prometheus.io/docs |
| Grafana | grafana.com/docs/grafana |
| Linux man pages | man7.org/linux/man-pages |
| Chuẩn Internet (RFC) | rfc-editor.org |
Học nền tảng, miễn phí
| Chủ đề | Nguồn |
|---|---|
| Linux từ đầu, rất dễ vào | linuxjourney.com |
| Giải thích một câu lệnh shell bất kỳ | explainshell.com |
| Lab Linux/Docker/K8s trên trình duyệt | killercoda.com |
| Sandbox Docker | labs.play-with-docker.com |
| Bài hướng dẫn chính thức của Kubernetes | kubernetes.io/docs/tutorials |
| Bản đồ nghề DevOps | roadmap.sh/devops |
| Bảng tra cú pháp nhanh | devhints.io |
Video tiếng Việt
Tìm trên YouTube: Docker tiếng Việt, Kubernetes tiếng Việt,
GitLab CI tiếng Việt. Xem xong thì tự gõ lại trên máy mình.