Expose một service thông qua vLB Layer7
Last updated
Last updated
Địa chỉ
VNG CorporationĐể có thể khởi tạo một Cluster và Deploy một Workload, bạn cần:
Có ít nhất 1 VPC và 1 Subnet đang ở trạng thái ACTIVE. Nếu bạn chưa có VPC, Subnet nào, vui lòng khởi tạo VPC, Subnet theo hướng dẫn tại đây.
Có ít nhất 1 SSH key đang ở trạng thái ACTIVE. Nếu bạn chưa có SSH key nào, vui lòng khởi tạo SSH key theo hướng dẫn tại đây.
Đã cài đặt và cấu hình kubectl trên thiết bị của bạn. vui lòng tham khảo tại đây nếu bạn chưa rõ cách cài đặt và sử dụng kuberctl. Ngoài ra, bạn không nên sử dụng phiên bản kubectl quá cũ, chúng tôi khuyến cáo bạn nên sử dụng phiên bản kubectl sai lệch không quá một phiên bản với version của cluster.
Cluster trong Kubernetes là một tập hợp gồm một hoặc nhiều máy ảo (VM) được kết nối lại với nhau để chạy các ứng dụng được đóng gói dạng container. Cluster cung cấp một môi trường thống nhất để triển khai, quản lý và vận hành các container trên quy mô lớn.
Để khởi tạo một Cluster, hãy làm theo các bước bên dưới:
Bước 1: Truy cập vào https://vks.console.vngcloud.vn/overview
Bước 2: Tại màn hình Overview, chọn Activate.
Bước 3: Chờ đợi tới khi chúng tôi khởi tạo thành công tài khoản VKS của bạn. Sau khi Activate thành công, bạn hãy chọn Create a Cluster
Bước 4: Tại màn hình khởi tạo Cluster, chúng tôi đã thiết lập thông tin cho Cluster và một Default Node Group cho bạn, bạn có thể giữ các giá trị mặc định này hoặc điều chỉnh các thông số mong muốn cho Cluster và Node Group của bạn tại Cluster Configuration, Default Node Group Configuration, Plugin. Khi bạn chọn bật option , mặc định chúng tôi sẽ cài sẵn plugin này vào Cluster của bạn.
Bước 5: Chọn Create Kubernetes cluster. Hãy chờ vài phút để chúng tôi khởi tạo Cluster của bạn, trạng thái của Cluster lúc này là Creating.
Bước 6: Khi trạng thái Cluster là Active, bạn có thể xem thông tin Cluster, thông tin Node Group bằng cách chọn vào Cluster Name tại cột Name.
Sau khi Cluster được khởi tạo thành công, bạn có thể thực hiện kết nối và kiểm tra thông tin Cluster vừa tạo theo các bước:
Bước 1: Truy cập vào https://vks.console.vngcloud.vn/k8s-cluster
Bước 3: Đổi tên file này thành config và lưu nó vào thư mục ~/.kube/config
Bước 4: Thực hiện kiểm tra Cluster thông qua lệnh:
Chạy câu lệnh sau đây để kiểm tra node
Nếu kết quả trả về như bên dưới tức là bạn Cluster của bạn được khởi tạo thành công với 3 node như bên dưới.
Chú ý:
Khi bạn thực hiện khởi tạo Cluster theo hướng dẫn bên trên, nếu bạn chưa bật option Enable vLB Native Integration Driver, mặc định chúng tôi sẽ không cài sẵn plugin này vào Cluster của bạn. Bạn cần tự thực hiện Khởi tạo Service Account và cài đặt VNGCloud Ingress Controller theo hướng dẫn bên dưới. Nếu bạn đã bật option Enable vLB Native Integration Driver, thì chúng tôi đã cài sẵn plugin này vào Cluster của bạn, hãy bỏ qua bước Khởi tạo Service Account, cài đặt VNGCloud Ingress Controller và tiếp tục thực hiện theo hướng dẫn kể từ Deploy một Workload.
Sau đây là hướng dẫn để bạn deploy service nginx trên Kubernetes.
Bước 1: Tạo Deployment cho Nginx app.
Tạo file nginx-service-lb7.yaml với nội dung sau:
Deploy Deployment này bằng lệch:
Bước 2: Kiểm tra thông tin Deployment, Service vừa deploy
Chạy câu lệnh sau đây để kiểm tra Deployment
Nếu kết quả trả về như bên dưới tức là bạn đã deploy Deployment thành công.
Tạo file nginx-ingress.yaml với nội dung sau:
Chạy câu lệnh sau đây để triển khai Ingress
Lúc này, hệ thống vLB sẽ tự động tạo một LB tương ứng với Ingress resource bên trên, ví dụ:
Chú ý:
Hiện tại Ingress chỉ hỗ trợ duy nhất TLS port 443 và là điểm kết thúc cho TLS (TLS termination). TLS Secret phải chứa các trường với tên key là tls.crt và tls.key, đây chính là certificate và private key để sử dụng cho TLS. Nếu bạn muốn sử dụng Certificate cho một host, hãy thực hiện tải lên Certificate theo hướng dẫn tại [Upload a certificate] và sử dụng chúng như một annotation. Ví dụ:
Để truy cập vào app nginx, bạn có thể sử dụng Endpoint của Load Balancer mà hệ thống đã tạo.
Bạn có thể lấy thông tin Public Endpoint của Load Balancer tại giao diện vLB. Cụ thể truy cập tại
Ví dụ, bên dưới tôi đã truy cập thành công vào app nginx với địa chỉ : http://180.93.181.129/
Bạn có thể xem thêm về ALB tại Working with Application Load Balancer (ALB).
Chú ý:
Việc thay đổi tên hoặc kích thước (Rename, Resize) tài nguyên Load Balancer trên vServer Portal có thể gây ra sự không tương thích với tài nguyên trên Kubernetes Cluster. Điều này có thể dẫn đến việc các tài nguyên không hoạt động trên Cluster, hoặc tài nguyên bị đồng bộ lại hoặc thông tin tài nguyên giữa vServer Portal và Cluster không khớp. Để ngăn chặn vấn đề này, hãy sử dụng kubectl
để quản lý tài nguyên của Cluster.
Bước 2: Danh sách Cluster được hiển thị, chọn biểu tượng và chọn Download Config File để thực hiện tải xuống file kubeconfig. File này sẽ giúp bạn có toàn quyền truy cập vào Cluster của bạn.