Chuyển tới nội dung chính

Khởi tạo Kubernetes Cluster mới

Lưu ý: Cần đáp ứng một số điều kiện tiên quyết để thực hiện thao tác này:

  • Quota CPU, RAM, Storage và Instance phải đủ cho cấu hình Cluster mong muốn.
  • 01 Public IP khả dụng với chế độ Public & Private Controlplane Access: dùng để expose endpoint apiserver của cluster.
  • 01 VM Subnet: subnet dùng cho các Kubernetes Node. Subnet phải được tạo với Static IP Pool.

Khởi tạo cluster với VPC đã hỗ trợ Private Cluster

Bước 1: Trên menu FPT Portal, chọn Containers > Kubernetes > Create a Kubernetes Engine.

Bước 2: Nhập thông tin cơ bản cho cluster, sau đó nhấn nút 1.1. Thông tin cơ bản:

  • Name: Nhập tên Cluster.
  • Network: Subnet dùng để triển khai các Virtual Machine (VM) của Kubernetes Cluster.
  • Version: Chọn phiên bản của Kubernetes Cluster.
  • Cluster Endpoint Access: Các tùy chọn truy cập Endpoint của Kubernetes cluster.

Public: Endpoint apiserver của cluster k8s có thể được truy cập từ mạng public. Kết nối từ worker node đến apiserver đi qua mạng public. Public & Private: Endpoint apiserver của cluster k8s có thể được truy cập từ mạng public. Kết nối từ worker node đến apiserver đi qua mạng private. Private: Endpoint apiserver của cluster k8s chỉ có thể được truy cập riêng trong VPC. Kết nối từ worker node đến apiserver đi qua mạng private. Cách chọn Cluster Endpoint phù hợpPublic: Dùng tùy chọn này nếu khách hàng cần truy cập Kubernetes API Endpoint từ bên ngoài VPC. ➤ Public & Private: Dùng khi cần Endpoint có thể truy cập public và muốn whitelist các IP được phép truy cập endpoint apiserver này. ➤ Private: Dùng khi chỉ cần truy cập Endpoint từ bên trong VPC.

Giải thích về Allow CIDR

  • CIDR (Classless Inter-Domain Routing) là định dạng dùng để chỉ định dải IP được phép truy cập Kubernetes API Endpoint.
  • Nếu để trống, mặc định là 0.0.0.0/0, nghĩa là Endpoint có thể được truy cập từ bất kỳ địa chỉ IP nào.
  • Nếu nhập giá trị cụ thể (ví dụ 192.168.1.0/24), chỉ các IP trong dải 192.168.1.0 - 192.168.1.255 mới có thể truy cập. Lưu ý:

➤ Khách hàng phải chọn Cluster Endpoint Access phù hợp dựa trên yêu cầu bảo mật và kiến trúc mạng của hệ thống. Để đảm bảo bảo mật cao, khách hàng nên giới hạn CIDR chỉ cho phép các dải IP nội bộ thay vì 0.0.0.0/0. ➤ Nếu chọn Public & Private hoặc Private, trường Allow CIDR bổ sung sẽ xuất hiện để nhập danh sách dải IP được phép truy cập Kubernetes Cluster Endpoint. ➤ Đối với chế độ cluster endpoint access là Public hoặc Public & Private, người dùng cần thêm SNAT IP của tất cả các worker (trong trường hợp VPC sử dụng firewall ngoài hoặc worker được gắn floating IP) vào danh sách CIDR có thể kết nối tới controlplane của cluster. Ví dụ:

  • Nếu subnet worker được SNAT với IP 103.174.214.26, người dùng cần thêm CIDR 103.174.214.26/32 vào danh sách CIDR được phép kết nối tới controlplane.
  • Nếu một worker trong cluster được gắn floating IP 103.174.215.27, người dùng cần thêm CIDR 103.174.215.27/32 vào danh sách CIDR được phép kết nối tới controlplane. Bước 3: Cấu hình Node Pools theo nhu cầu, sau đó nhấn nút

Alt text Alt text

Các lưu ý quan trọng khi tạo cluster M-FKE:

➤ M-FKE quản lý worker node thông qua Worker Group, là nhóm gồm các worker node có cùng cấu hình. Người dùng có thể chia worker group cho các ứng dụng phù hợp. Hệ thống yêu cầu ít nhất 01 Worker Group (Base); người dùng không thể xóa worker group này. ➤ Trong phần cấu hình Worker Group, người dùng có thể gán label cho worker group mong muốn. Các label này sẽ được áp dụng cho tất cả worker node thuộc worker group đó. Người dùng có thể thêm hoặc xóa nhiều label, cũng như chỉnh sửa key/value của các label hiện có. Các label này giúp người dùng dễ dàng triển khai ứng dụng trên các worker group riêng biệt theo nhu cầu.

  1. Worker Group 1 (Base):
    • Instance Type: Chọn loại Instance (CPU hoặc GPU) cho Worker Nodes.
    • Type: Chọn cấu hình (CPU & Memory) cho Worker Nodes.
    • Container Runtime: Chọn Containerd.
    • Storage Policy: Chọn loại Storage Policy (tương ứng với IOPS) cho Worker Node Disk.
    • Disk (GB): Chọn kích thước root disk cho Worker Nodes.
    • Network: Subnet dùng để triển khai các VM của Kubernetes Cluster.
    • Scale min: Số lượng tối thiểu của Worker Node VM instance cho cluster k8s. Khuyến nghị tối thiểu 03 Node cho môi trường Production.
    • Scale max: Số lượng tối đa của Worker Node VM instance cho một worker group trong cluster k8s.
    • Label: Gán label cho Worker Group.
  2. Worker Group n:
  • Người dùng có thể thêm các worker group khi tạo cluster k8s bằng cách nhấn nút ADD WORKER GROUP. Alt text

Ngoài ra, từ Worker Group 2 trở đi, người dùng có thể cấu hình taint cho worker group để schedule ứng dụng trên các worker node cụ thể. Taint cũng có thể được thêm, xóa và chỉnh sửa dễ dàng.

Lưu ý: Khi người dùng cấu hình label/taint cho worker group trên Unify Portal, họ không thể xóa label/taint cho các node trong worker group đó bằng kubectl (hệ thống sẽ tự động thêm lại label/taint cho node theo cấu hình trên Unify Portal). Do đó, cấu hình label/taint phải được xóa thông qua Unify Portal. Bước 4: Tab Advanced chứa các thiết lập nâng cao dành cho người dùng. Ngoài ra, FPT Cloud cho phép người dùng chỉ định subnet cho dải IP nội bộ của LoadBalancer tích hợp trong Kubernetes. Nếu không cần tùy chỉnh các tham số nâng cao này, hãy để mặc định.

  • Pod Network: Mạng được dùng cho các Pod trong cluster.
  • Service Network: Mạng được dùng cho các Service trong cluster.
  • Network Node Prefix: Subnet Prefix cho các Pod trong một Node.
  • Max Pod per Node: Số lượng tối đa Pod trên mỗi Kubernetes Node.
  • Internal subnet Load Balancer (CIDR): CIDR dùng để cấp phát IP cho Load Balancer nội bộ. Có thể để trống nếu không dùng; hệ thống sẽ tự động cấp phát IP trong subnet bất kỳ.
  • Internal Classic Loadbalancer IP Range (Deprecated): Dải IP cho Classic Load Balancer, còn gọi là LBv1 (việc cấp phát sẽ ngừng từ 19/04/2025). Cách cấu hình Internal subnet Load Balancer (CIDR) hợp lệ:

Dải CIDR được cấu hình cho Internal subnet Load Balancer không được trùng lặp với bất kỳ subnet CIDR nào trong tab Network > Subnets. Bước 5: Trên màn hình Review & Create, hệ thống sẽ hiển thị thông tin cluster mà người dùng đã cấu hình trước đó, đồng thời kiểm tra tài nguyên RAM, CPU, Storage, v.v.

Sau khi hệ thống kiểm tra tài nguyên thành công, nhấn nút Create a Kubernetes để tiến hành tạo cluster.