05

Kỹ sư DevOps · Bước 5/8 · 10 phút

Container và Kubernetes cơ bản

Build và chạy một container, và giải thích Kubernetes bổ sung điều gì bên trên.

Container là gì

Container (vùng chứa) đóng gói ứng dụng cùng mọi thứ nó cần để chạy: thư viện, runtime và cấu hình. Nó chạy giống nhau trên laptop, trong CI và trên production. Lời bào chữa cũ "máy tôi chạy được mà" hết đất dùng.

Container dùng chung nhân hệ điều hành (kernel) của máy chủ, nên khởi động trong vài giây và nhẹ hơn máy ảo rất nhiều. Image là khuôn mẫu đã đóng gói; container là một bản đang chạy của khuôn đó.

Docker và các công cụ khác

Docker làm container trở nên phổ biến. Bạn viết Dockerfile liệt kê các bước build image, rồi chạy docker build và docker run. Image theo một tiêu chuẩn mở của Open Container Initiative, nên các công cụ khác như Podman cũng build và chạy được.

Docker Desktop miễn phí cho cá nhân, giáo dục và doanh nghiệp nhỏ, nhưng công ty lớn hơn cần gói trả phí. Hãy kiểm tra giấy phép ở công ty bạn. Giữ image nhỏ gọn, và không bao giờ nhúng bí mật vào image.

Kubernetes làm gì

Chạy một container thì dễ. Chạy hàng trăm cái trên nhiều máy, tự khởi động lại khi chúng sập và tung phiên bản mới mà không gián đoạn thì không dễ. Kubernetes là hệ thống phổ biến nhất cho việc này, gọi là điều phối container.

Bạn mô tả điều mình muốn bằng YAML: chạy ba bản của image này, mở chúng ở port này. Kubernetes giữ cho thực tế khớp với mô tả đó. Các từ khoá chính là pod, đơn vị nhỏ nhất; deployment, quản lý các bản sao và việc cập nhật; service, một địa chỉ ổn định; và control plane, phần điều khiển toàn bộ cụm.

Bạn có cần nó không?

Kubernetes mạnh và phức tạp. Nhiều đội nhỏ làm rất tốt với các lựa chọn đơn giản hơn, nơi dịch vụ chạy container hộ họ. Hãy học các khái niệm vì nhà tuyển dụng sẽ hỏi, nhưng đừng mặc định dự án nào cũng cần một cụm Kubernetes.

Thử ngay

Chạy container đầu tiên, miễn phí

  1. 1.Cài Docker Desktop hoặc Podman, hoặc dùng sandbox miễn phí trên trình duyệt như Play with Docker.
  2. 2.Chạy docker run hello-world và đọc nội dung nó in ra.
  3. 3.Nhờ chatbot viết Dockerfile cho một web app nhỏ bằng ngôn ngữ bạn biết, rồi build và chạy.
  4. 4.Với Kubernetes, thử một bài miễn phí trên Killercoda hoặc cài kind hay minikube trên máy. Không bước nào cần tài khoản cloud.
Giải thích từng dòng của Dockerfile này, và gợi ý hai thay đổi giúp image nhỏ hơn và an toàn hơn: [dán Dockerfile].
Nhiệm vụ chính của Kubernetes là gì?

Tự kiểm tra

Nhiệm vụ chính của Kubernetes là gì?