Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Tài liệu này giải thích cách tạo một Kubernetes Cluster trên HI GIO, bao gồm việc lựa chọn cấu hình, triển khai các node và khởi tạo control plane.
Tạo mạng cho Cluster với các Static IP Pools khả dụng.
Tạo các quy tắc Firewall và SNAT để đảm bảo các VM trong Cluster có thể truy cập internet.
Đảm bảo tính năng HI GIO Load Balancing đã được kích hoạt.
Đảm bảo có ít nhất một địa chỉ Public IP khả dụng.
Bước 1: Đăng nhập vào HI GIO portal bằng tài khoản tenant > Click More > Kubernetes Container Clusters
Bước 2: Bấm vào NEW và làm theo các bước tạo để hoàn tất quá trình tạo mới HI GIO Kubernetes cluster.
Nhấn NEXT
Nhập tên của Cluster và chọn phiên bản Kubernetes. > NEXT.
Chọn NEXT ở bước 3.
Lưu ý: Hiện tại, tính năng liên kết các Cluster với Tanzu Mission Control không được hỗ trợ.
Chọn oVDC và Network cho các node, sau đó nhấn NEXT
Trong cửa sổ Control Plane, chọn số lượng node và dung lượng đĩa và tùy chọn (optional) Chọn sizing policy, placement policy và storage profile sau đó nhấn NEXT.
Các trường cài đặt
Mô tả
Số lượng Nodes
Non-HA: 1
HA: 3
Dung lượng đĩa (GB)
Tối thiểu là 20 GB
Sizing Policy
TKG medium: Nếu số lượng của Worker node nhỏ hơn hoặc bằng 10 nodes.
TKG large: NNếu số lượng của Worker node lớn hơn 10 nodes.
Placement Policy
Để trống, chúng tôi không áp dụng placement policy cho HI GIO Kubernetes cluster.
Storage Policy
Chọn một storage policy có sẵn.
Cấu hình cài đặt Worker Pools và nhấn NEXT.
Trường
Mô tả
Name
Nhập tên Worker Pool.
Number of Nodes
Nhập số lượng node cho Worker Pool.
Disk Size (GB)
Dung lượng tối thiểu là 20 GB.
Sizing Policy
TKG small: Small VM sizing policy for a Kubernetes cluster node (2 CPU, 4GB memory)
TKG medium: Medium VM sizing policy for a Kubernetes cluster node (2 CPU, 8GB memory)
TKG large: Large VM sizing policy for a Kubernetes cluster node (4 CPU, 16GB memory)
TKG extra-large: Extra-large VM sizing policy for a Kubernetes cluster node (8 CPU, 32GB memory)
Placement Policy
Để trống. HI GIO không áp dụng placement policy cho HI GIO Kubernetes cluster.
Storage Policy
Chọn storage policy sẵn có
(Tùy chọn): Nếu cần thêm Worker Node Pool, nhấn Add New Worker Node Pool và cấu hình các trường tương tự.
Cấu hình Storage Class > NEXT
Trường
Mô tả
Select a Storage Profile
Chọn một Storage Profile có sẵn.
Storage Class Name
Tên của Storage Class. Tên phải tuân thủ các quy định sau:
Tối đa 63 ký tự.
Chỉ chứa ký tự thường, số hoặc dấu gạch ngang (-).
Bắt đầu bằng ký tự chữ cái.
Kết thúc bằng ký tự chữ hoặc số.
Reclaim Policy
Delete policy: Xóa PersistentVolume khi PersistentVolumeClaim bị xóa.
Retain policy: Giữ PersistentVolume khi PersistentVolumeClaim bị xóa (cần reclaim thủ công)..
Filesystem
xfs
ext4: Đây là filesystem mặc định được sử dụng cho storage class.
Cấu hình Kubernetes Network > NEXT
Tùy chọn
Mô tả
Pods CIDR
Phạm vi địa chỉ IP sử dụng cho Pods. Mặc định: 100.96.0.0/11 (kích thước tối thiểu: /24).
Services CIDR
Phạm vi địa chỉ IP sử dụng cho Services. Mặc định: 100.64.0.0/13..
Control Plane IP
Bạn có thể chỉ định địa chỉ IP của chính mình làm control plane endpoint. Nhập địa chỉ IP Public khả dụng từ Gateway hoặc địa chỉ IP nội bộ từ subnet khác.
Virtual IP Subnet
Bạn có thể chỉ định CIDR subnet mà từ đó một địa chỉ IP không sử dụng được chỉ định làm Control Plane Endpoint. Subnet phải đại diện cho một tập hợp các địa chỉ trong gateway. CIDR tương tự cũng được truyền bá dưới dạng CIDR subnet cho các ingress services trong cluster
Bạn nên nhập một Public IP có sẵn vào Control Plane IP
Bật Auto Repair on Errors
and Node Health Check
> NEXT
Auto Repair on Errors: Nếu lỗi xảy ra trước khi Cluster khả dụng,CSE Server sẽ cố gắng tự động sửa lỗi.
Node Health Check: Các node không ổn định sẽ được xử lý theo điều kiện và quy tắc khắc phục lỗi.
Kiểm tra lại toàn bộ thông tin Cluster và nhấn FINISH để tạo Cluster.
Bước 3: Chờ trạng thái Cluster chuyển thành Available sau đó nhấn DOWNLOAD KUBE CONFIG để tải file kubeconfig.
Vui lòng cấu hình VPC firewall để cho phép truy cập Control Plane IP qua cổng 6443.
Tài liệu này được thiết kế nhằm giúp bạn tận dụng tối đa các tính năng và chức năng mạnh mẽ của dịch vụ managed-Kubernetes trên hạ tầng HI GIO Cloud. Hướng dẫn cung cấp từng bước thực hiện, các thực tiễn tốt nhất, và ví dụ thực tế để nâng cao trải nghiệm Kubernetes của bạn.
Với HI GIO Kubernetes, bạn có thể quản lý hiệu quả các ứng dụng container, mở rộng quy mô dễ dàng, và đảm bảo tính khả dụng cao trên toàn bộ cơ sở hạ tầng.
HI GIO Kubernetes - Dịch vụ quản lý & điều phối container
Dịch vụ quản lý cụm Kubernetes dựa trên mã nguồn mở được chạy trên hạ tầng HI GIO Cloud (Công nghệ VMware). Bằng cách tự động hoá quản lý triển khai phần mềm và đơn giản hóa việc quản lý các ứng dụng dưới dạng container, nhà phát triển phần mềm có thể tập trung vào phát triển và vận hành ứng dụng trên Cloud.
Mở rộng liền mạch. Quản lý đơn giản.
Đây là tài liệu hướng dẫn cách nâng cấp HI GIO Kubernetes Cluster.
Các bước thực hiện nâng cấp:
Các phiên bản phần mềm trong hướng dẫn này như sau:
Nâng cấp Kubernetes Cluster.
Xác minh Kubernetes Cluster sau khi nâng cấp.
Phiên bản phần mềm trong tài liệu này như sau:
Kubernetes Version: 1.23.17+vmware.1
TKG Product Version: 2.2.0
Service running on the cluster: Voting web app
Thành phần chạy dịch vụ::
Bước 1: Từ vCD portal, chọn More → Kubernetes Container Clusters.
Bước 2: Chọn cluster bạn muốn nâng cấp.
Bước 3: Chọn UPGRADE.
Bước 4: Xác minh rằng phiên bản Kubernetes và TKG Product hiện tại được sử dụng là chính xác.
Bước 5: Sau đó, chọn Available upgrade options → UPGRADE.
Bước 6: Chờ đến khi cluster thực hiện nâng cấp hoàn tất.
Bước 1: Sau khi hoàn tất, phiên bản cluster sẽ thay đổi thành phiên bản bạn đã chọn ở bước trên.
Bước 2: Kiểm tra các thành phần sau khi thực hiện nâng cấp và đảm bảo mọi thứ hoạt động bình thường
Bước 3: Kiểm tra dịch vụ sau khi nâng cấp và đảm bảo rằng nó vẫn hoạt động bình thường.
Nâng cấp đã hoàn tất.
Hướng dẫn từng bước để tăng dung lượng đĩa của mỗi node trong cluster nhằm đáp ứng nhu cầu lưu trữ ngày càng tăng.
Không cần downtime.
Đảm bảo oVDC có đủ dung lượng lưu trữ khả dụng.
Đảm bảo bạn có quyền truy cập vào node (ssh, node-shell…).
Bước 1: Đăng nhập vào HI GIO portal > Virtual Machines > Chọn node bạn muốn mở rộng dung lượng đĩa > Hard Disks > EDIT
Bước 2: Nhập dung lượng đĩa mới > SAVE
Bước 3: SSH vào node và thực hiện các lệnh dưới đây để mở rộng dung lượng đĩa trên hệ điều hành.
Kiểm tra điểm mount của root:
Ví dụ /dev/sda4
Chạy các lệnh dưới đây để mở rộng dung lượng cho /dev/sda4:
Chạy lệnh để xác minh dung lượng đĩa sau khi mở rộng:
Hướng dẫn từng bước về cách cấu hình tự động mở rộng cluster Kubernetes HI GIO.
Cài đặt tanzu-cli
Tạo cluster-autoscaler deployment từ tanzu package sử dụng tanzu-cli
Kích hoạt tự động mở rộng cho cluster của bạn
kiểm tra tự động mở rộng cluster
Xóa cluster-autoscaler deployment và dọn dẹp tài nguyên thử nghiệm.
Bastion Ubuntu có thể kết nối với Kubernetes cluster của bạn.
Có quyền truy cập vào Kubernetes cluster của bạn.
Bước 1: Cài đặt tanzu-cli
Để cài đặt tanzu-cli trên môi trường khác, tham khảo tài liệu dưới đây:
(Tùy chọn) Nếu bạn muốn định cấu hình hoàn thành tanzu, vui lòng chạy lệnh bên dưới và làm theo hướng dẫn đầu ra
tanzu completion --help
Bước 2: Tạo deployment cluster-autoscaler từ gói tanzu bằng tanzu-cli
Chuyển sang context Kubernetes của bạn
Liệt kê các phiên bản cluster-autoscaler có sẵn trong gói tanzu và ghi lại tên phiên bản
Tạo secret kubeconfig có tên cluster-autoscaler-mgmt-config-secret
trong namespace kube-system
Không thay đổi tên secret (cluster-autoscaler-mgmt-config-secret) và namespace (kube-system).
Tạo file cluster-autoscaler-values.yaml
Giá trị bắt buộc:
clusterName
: Tên cluster của bạn
clusterNamespace
: Tên cluster namespace của bạn
Cài đặt cluster-autoscaler
Cluster-autoscaler sẽ được triển khai vào namespace kube-system
.
Chạy lệnh dưới đây để xác minh việc triển khai cluster-autoscaler:
kubectl get deployments.apps -n kube-system cluster-autoscaler
Cấu hình số lượng node tối thiểu và tối đa trong cluster
Lấy tên và namespace của machinedeployments
Cấu hình cluster-api-autoscaler-node-group-min-size
and cluster-api-autoscaler-node-group-max-size
Bật cluster autoscale cho cluster của bạn
Vì bước này cần có sự cho phép của nhà cung cấp để thực hiện nên vui lòng thông báo cho cloud provider để thực hiện bước này.
Bước 3: Kiểm tra tự động mở rộng cluster
Lấy số lượng node hiện tại
kubectl get nodes
Hiện tại chỉ có một worker node.
Tạo file test-autoscale.yaml
Áp dụng file test-autoscale.yaml
để triển khai 2 replicas nginx pod trong namespace default (lệnh này sẽ kích hoạt tạo một worker node mới)
Kiểm tra deployment nginx
Bạn sẽ thấy một nginx pod mới với trạng thái Pending và các sự kiện hiển thị FailedScheduling
và TriggeredScaleUp
:
Chờ một chút và bạn sẽ thấy một worker node mới đã được cấp phát và nginx pod mới có trạng thái Running.
Dọn dẹp tài nguyên thử nghiệm
Sau khi xóa deployment nginx thử nghiệm, cluster sẽ chờ vài phút để xóa node không cần thiết (tham khảo giá trị scaleDownUnneededTime
trong file cluster-autoscaler-values.yaml
).
Xóa deployment cluster-autoscaler (Tùy chọn)
Nếu bạn không muốn cluster của mình tự động mở rộng nữa, có thể xóa deployment cluster-autoscaler bằng tanzu-cli:
Hướng dẫn từng bước về cách triển khai ứng dụng demo trên HI GIO Kubernetes.
Cài đặt nginx ingress controller vào cluster Kubernetes của bạn. Việc cài đặt nginx ingress controller sẽ tự động tạo 2 Virtual services (80, 443) trong HI GIO LB.
Triển khai ứng dụng demo với persistent volume vào Kubernetes cluster và public app qua ingress nginx.
Helm (v3 trở lên)
Đảm bảo có ít nhất 1 IP public khả dụng
Có một Storage Class mặc định
Có quyền truy cập vào cluster Kubernetes của bạn
Bước 1: Cài đặt nginx ingress controller vào cluster Kubernetes của bạn
Xác minh trạng thái của pod là Running và service ingress-nginx-controller đã thành công lấy được EXTERNAL IP
CNI driver trên Kubernetes tự động tạo Virtual services trên HI GIO LB và 2 DNAT rules (80, 443) trên vCD.
Vui lòng thay đổi firewall của VPC để cho phép truy cập vào các dịch vụ ảo của ingress. Điều này cung cấp quyền truy cập vào ứng dụng của bạn được publish qua nginx ingress.
Tham khảo:
Bước 2: Triển khai ứng dụng demo với persistent volume vào Kubernetes cluster và public ứng dụng qua nginx ingress
Cấu trúc thư mục ứng dụng demo
Tạo file 01-demoapp-namespace.yaml
để tạo namespace cho demoapp
Tạo file 02-demoapp-pvc.yaml
để tạo Persistent Volume Claim
Tạo file 03-demoapp-deployment.yaml
để tạo deployment cho demoapp
Tạo file 04-demoapp-service.yaml
để tạo service cho demoapp
Tạo file 05-demoapp-ingress.yaml
để tạo ingress cho demoapp
Áp dụng tất cả các manifests
Tạo bản ghi DNS cho demoapp
Nếu tất cả các cấu hình là chính xác, bạn có thể truy cập ứng dụng của mình qua tên miền
http://<ingress-host>
Tài liệu này được sử dụng khi bạn muốn thay đổi kích thước các node của cluster trên HI GIO Cloud (giảm hoặc tăng số lượng node).
Bạn đã có một Kubernetes cluster trên HI GIO Cloud.
Tài nguyên khả dụng nếu bạn tăng số lượng node.
Bạn có quyền quản lý Kubernetes cluster.
Bước 1: Đăng nhập vào HI GIO Cloud bằng tài khoản IAM --> Mở vCD Portal --> More --> Kubernetes Container Clusters
Bước 2: Chọn Node Pool của cluster của bạn.
Hệ thống sẽ hiển thị thông tin về loại node, số lượng node, và chính sách kích thước (sizing policy)...
Bước 3: Chọn biểu tượng ở bên cạnh node bạn muốn thay đổi kích thước --> Resize
Bước 4: Nhập số lượng node bạn muốn thay đổi và nhấn SUBMIT
Hãy cẩn thận khi thay đổi kích thước của các node pool xuống 0 worker node. Cluster luôn cần có ít nhất 1 worker node đang chạy, nếu không cluster sẽ rơi vào trạng thái lỗi không thể phục hồi.
Bước 5: Chờ đợi quá trình thay đổi kích thước node hoàn tất.
Bước 6: Trong tab Monitor, hệ thống sẽ hiển thị nhiều task được cập nhật trên cluster của bạn.
Bước 7: Khi hoàn tất, số lượng node sẽ hiển thị số lượng node hiện tại/số lượng node mong muốn của bạn.
Bước 8: Bạn có thể xác minh bằng lệnh bên trong cluster của mình.