0
0
Lập trình
Flame Kris
Flame Krisbacodekiller

Tìm hiểu Kubernetes: Kiến trúc, Lợi ích và Hướng dẫn Cài đặt Từng Bước

Đăng vào 2 tuần trước

• 3 phút đọc

Tìm hiểu Kubernetes: Kiến trúc, Lợi ích và Hướng dẫn Cài đặt Từng Bước

Kubernetes, hay K8s, là một nền tảng quản lý container mã nguồn mở được phát triển bởi Google. Nó cho phép tự động triển khai, mở rộng (scaling) và quản lý các container dễ dàng và hiệu quả. Google sử dụng Kubernetes để quản lý hàng tỉ docker container trong hạ tầng của họ.

Ai Nên Sử Dụng Kubernetes?

Kubernetes là giải pháp lý tưởng cho nhiều đối tượng khác nhau:

  • Doanh nghiệp lớn: Những công ty có nhu cầu mở rộng hệ thống nhanh chóng và đã áp dụng công nghệ container (như Docker).
  • Dự án quy mô lớn: Cần chạy từ 5 container trở lên cho một dịch vụ nhất định.
  • Startup hiện đại: Những công ty bắt kịp xu hướng công nghệ hiện đại, dự định phát triển trong tương lai.
  • Sysadmin/DevOps: Những người mong muốn nâng cao kỹ năng và kiếm được mức lương tốt hơn.

K8s Là Gì?

K8s là viết tắt của Kubernetes (K-8 chữ cái-s). Để tìm hiểu thêm, các bạn có thể truy cập trang chính thức của Kubernetes.

Cách Phát Âm Kubernetes

Từ "Kubernetes" có nghĩa là "người lái tàu" trong tiếng Hy Lạp. Cách phát âm gần với: Cu-ba-ni-tê-sờ.

Các Nền Tảng Cung Cấp Kubernetes Đã Cài Đặt Sẵn

Một số dịch vụ cung cấp Kubernetes dưới dạng dịch vụ sẵn có:

Các Sản Phẩm Dựa Trên Kubernetes

Một số sản phẩm cho phép bạn trải nghiệm và tìm hiểu thêm về Kubernetes:

Hướng Dẫn Cài Đặt Kubernetes

Kubernetes có thể được cài đặt theo nhiều cách khác nhau. Dưới đây là một số phương pháp phổ biến:

  1. Minikube: Dùng để cài đặt một cluster thử nghiệm trên máy tính cá nhân.
  2. Kubeadm: Phương pháp chính thức để cài đặt trên hệ thống vật lý hoặc ảo sử dụng Ubuntu hoặc CentOS.
  3. Kargo: Dựa trên Ansible, cho phép cài đặt trên nhiều môi trường khác nhau.
  4. Sử dụng SaltStack: Để cài đặt Kubernetes một cách tự động.
  5. Cài đặt thủ công: Trên CoreOS Container Linux.
  6. Kops: Dùng để cài đặt trên AWS.
  7. Rất nhiều giải pháp khác có thể tìm thấy trên tài liệu chính thức.

Kiến Trúc Kubernetes

Mỗi cluster K8s bao gồm nhiều node, với mỗi node chạy một "kubelet" để xử lý các tác vụ quản lý container. Các thành phần chính trong một cluster bao gồm:

  • Master Node: Quản lý cluster, chứa API server, scheduler, và controller manager.
  • Node Server: Chạy các pod chứa container.
  • Pod: Nhóm các container chia sẻ tài nguyên như IP và ổ đĩa.
  • Service: Cung cấp địa chỉ IP tĩnh cho các pod để giao tiếp dễ dàng hơn.
  • Persistent Volumes (PV): Giúp lưu trữ dữ liệu bên ngoài container.
  • Namespaces: Cho phép tổ chức và quản lý tài nguyên trong cluster.
  • Ingress Rules và Network Policies: Quản lý quy tắc truy cập giữa các pod trong cluster.

Hướng Dẫn Triển Khai Hệ Thống Kubernetes

Sử Dụng Kubeadm để Triển Khai trên Hệ Thống Bằng Thực

Kubeadm cho phép bạn triển khai Kubernetes trên các nền tảng như AWS, GCE, Azure, OpenStack, và nhiều hơn nữa. Để bắt đầu, hãy chạy:

Copy
sudo snap install conjure-up --classic
conjure-up kubernetes

Sử Dụng Minikube để Triển Khai trên Localhost

Làm theo các bước sau để cài đặt Minikube:

  1. Cài đặt VirtualBox:
    Copy

sudo apt-get install virtualbox

Copy
2. Cài đặt Minikube:

$ curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.18.0/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/

Copy
3. Cài đặt kubectl:

curl -Lo kubectl https://storage.googleapis.com/kubernetes-release/release/v1.6.0/bin/linux/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/

Copy
4. Khởi động Cluster:

$ minikube start

Copy
5. Kiểm tra danh sách các Pod và Node:

$ kubectl get pods --all-namespaces
$ kubectl get nodes

Copy
6. Dừng hoặc xóa Cluster nếu cần:

$ minikube stop
$ minikube delete

Copy
Truy cập Dashboard của Kubernetes để dễ dàng quản lý và theo dõi hệ thống:

$ minikube dashboard

Copy
## Kết Luận

Kubernetes là một công cụ mạnh mẽ cho việc quản lý container, giúp bạn triển khai và mở rộng ứng dụng một cách hiệu quả. Hy vọng hướng dẫn này sẽ hữu ích cho bạn trong việc bắt đầu với K8s.
 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