0
0
Lập trình
Thaycacac
Thaycacac thaycacac

Tìm Hiểu Kubernetes (K8s): Hướng Dẫn Thiết Lập và Quản Lý Cụm Hiệu Quả

Đăng vào 3 tháng trước

• 4 phút đọc

Chủ đề:

Kubernetes

Tìm Hiểu Kubernetes (K8s): Hướng Dẫn Thiết Lập và Quản Lý Cụm Hiệu Quả

Bài viết này sẽ giúp bạn hiểu rõ về Kubernetes (K8s), cách thiết lập nó trên thiết bị cá nhân và cách khởi chạy ứng dụng trong cụm Kubernetes. Chúng tôi cũng sẽ giới thiệu về các nhà cung cấp Kubernetes được quản lý phổ biến để bạn có thể triển khai ứng dụng ở quy mô lớn một cách hiệu quả.

Khái Niệm Về Kubernetes (K8s) và Ứng Dụng Trong Thế Giới Container

Có thể bạn đã nghe nhiều về K8s và thắc mắc về nghĩa của thuật ngữ này. K8s là viết tắt của Kubernetes, với "k" là chữ cái đầu tiên, "8" là số lượng chữ cái giữa và "s" là chữ cái cuối cùng của từ "Kubernetes".

Kubernetes là một nền tảng mạnh mẽ được sử dụng để điều phối các container. Nhờ vào công nghệ container như Docker, bạn có thể triển khai ứng dụng trong môi trường độc lập chỉ với một lệnh. Kubernetes giúp kết hợp nhiều máy thành một cụm và phân phối các container một cách hiệu quả.

Trong bài viết này, bạn sẽ tìm hiểu:

  • Cách thiết lập Kubernetes trên thiết bị cá nhân
  • Cách khởi chạy ứng dụng trong cụm Kubernetes
  • Các nhà cung cấp Kubernetes được quản lý tốt nhất nhằm triển khai ứng dụng quy mô lớn.

Chúng tôi sẽ tập trung vào sử dụng dòng lệnh (CLI) thay vì giao diện người dùng (UI) để bạn có thể dễ dàng thực hiện các lệnh trong cụm Kubernetes cục bộ và từ xa.

Thiết Lập Kubernetes Trên Thiết Bị Cá Nhân: Đơn Giản Với Docker

Bước đầu tiên để bắt đầu là cài đặt Docker. Sau khi cài đặt, hãy mở Docker, vào phần Cài Đặt (Settings) -> Kubernetes và bật tính năng Kubernetes cục bộ. Khi bạn xác nhận, cụm Kubernetes của bạn sẽ được khởi động.

Phương pháp giao tiếp với cụm Kubernetes hiệu quả nhất là thông qua công cụ kubectl. Nếu bạn chưa cài đặt kubectl, hãy cài đặt công cụ này ngay.

Đồng thời, chúng tôi khuyên bạn nên cài đặt kubectx để dễ dàng chuyển đổi giữa các cụm khác nhau. Để triển khai Kubernetes một cách đơn giản, bạn cũng nên cài đặt Helm, giúp bạn triển khai các ứng dụng phức tạp chỉ với một lệnh duy nhất.

Khi Docker thông báo rằng cụm Kubernetes đã sẵn sàng, hãy kiểm tra các ngữ cảnh Kubernetes có sẵn:

Copy
# Hiển thị tất cả các ngữ cảnh có sẵn
kubectx

> development
> docker-desktop

# Chọn ngữ cảnh docker desktop cục bộ
kubectx docker-desktop

Khởi Đầu Ứng Dụng Trong Cụm Kubernetes: Ví Dụ Với JupyterHub

Hãy cùng thiết lập JupyterHub để nhóm của bạn có thể sử dụng Jupyter Notebooks - một trong những nền tảng nổi tiếng cho học máy và Python.

Copy
# Thêm kho lưu trữ Helm
helm repo add jupyterhub https://jupyterhub.github.io/helm-chart/

# Khởi động các container
helm install my-jupyterhub jupyterhub/jupyterhub --version 1.2.0

# Sau vài phút, lấy thông tin về dịch vụ Kubernetes
kubectl --namespace=default get svc proxy-public

NAME           TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
proxy-public   LoadBalancer   10.109.132.29   localhost     80:31480/TCP   31m

Như đã nêu, địa chỉ IP bên ngoài là localhost và được hiển thị trên cổng 80. Khi các container hoạt động, bạn chỉ cần mở http://localhost và đăng nhập với tên đăng nhập "admin" mà không cần mật khẩu.

Như vậy, chạy một ứng dụng đầy đủ chỉ cần vài lệnh, cực kỳ đơn giản. Nếu bạn muốn thử nghiệm với thêm các ví dụ, hãy tham khảo bài viết khác của tôi về Helm.

Để dọn dẹp tài nguyên sau khi sử dụng, hãy xóa ứng dụng:

Copy
helm uninstall my-jupyterhub

release "my-jupyterhub" uninstalled

Các Nhà Cung Cấp Kubernetes Được Quản Lý Phổ Biến Nhất

Khi bạn muốn chạy một ứng dụng và cung cấp dịch vụ cho người dùng khác, việc sử dụng một cụm Kubernetes được cung cấp công khai là rất thiết yếu. Nếu bạn không phải là chuyên gia, không nên tự mình quản lý cụm Kubernetes.

Thay vào đó, hãy sử dụng phiên bản được quản lý của cụm Kubernetes, giúp bạn giảm thiểu khối lượng công việc bảo trì. Bạn chỉ cần triển khai container và mọi thứ sẽ tự động hoạt động.

Chúng tôi khuyên bạn nên sử dụng Google Kubernetes Engine (GKE) - cụm Kubernetes được quản lý từ Google. Google không chỉ là nhà phát triển ban đầu của Kubernetes mà còn mang đến trải nghiệm Kubernetes mượt mà và hiệu quả. Họ cũng cung cấp GKE Autopilot, cho phép bạn chỉ trả tiền cho thời gian chạy và bộ nhớ của container.

Hơn nữa, khi bạn sử dụng cụm Kubernetes tiêu chuẩn, bạn sẽ có nhiều tích hợp với các dịch vụ khác, điều mà Autopilot có thể không cung cấp. Ví dụ, bạn có thể tạo Tài khoản dịch vụ, Bản ghi DNS và Chứng chỉ được quản lý thông qua tài nguyên Kubernetes.

Các nhà cung cấp Kubernetes được quản lý khác cũng rất đáng cân nhắc như Elastic Kubernetes Service (EKS) từ Amazon, Azure Kubernetes Service (AKS) từ Microsoft, hoặc Bizfly Kubernetes Engine từ Bizfly Cloud. Dù bạn chọn nhà cung cấp nào, hãy sử dụng cụm Kubernetes được quản lý từ dịch vụ đám mây hiện có của bạn là lựa chọn tốt nhất.

Cảm ơn bạn đã đọc bài viết này!
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào