Tổng Quan về Helm
Helm chart là một trong những “best practice” trong việc xây dựng Cluster Kuberntes. Nó dùng để đóng gói những thành phần, những tài nguyên cần thiết trong quá trình xây dựng một ứng dụng chạy trên nền tảng Kubernetes. Giúp việc cài đặt service, ứng dụng trên K8s trở nên dễ dàng hơn.
Helm chart sử dụng một template sẵn có để triển khai ứng dụng. Template này cung cấp các cấu trúc phù hợp với bất kỳ loại ứng dụng nào.
Chuẩn bị
- Truy cập một CLI
- Cài đặt cluster Minikube ( Nếu chưa có thể tham khảo How to Install Minikube on Ubuntu and How to Install Minikube on CentOS.)
- Đã cài đặt và cấu hình Helm
Lưu ý: Để kiểm tra xem Helm đã được cài đặt chưa, ta chạy câu lệnh which helm
trên terminal. Output sẽ cho ta thấy đường dẫn đến thư mục Helm.
Tạo Helm Chart
Việc tạo Helm chart bao gồm việc cấu hình image docker, chỉ định các tham số cần thiết trong file values.yaml .
Bước 1: Tạo một Helm Chart mới
1. Để tạo mới Helm chart, ta sử dụng:
helm create <chart name>
Ví dụ:
helm create phoenixnap
2. Sử dụng câu lệnh “ls” , để xem cấu trúc:
ls <chart name>
Trong thư mục của Helm vừa tạo sẽ có các thành phần sau:
- Thư mục charts – Được dùng để thêm các thành phần phụ thuộc. Mặc định nó sẽ trống.
- Thư mục templates – Nơi chứa các file cấu hình dùng để deploy cluster.
- YAML file – Dùng để định nghĩa các thông tin cấu hình trong chart.
Bước 2: Cấu hình Helm chart Image Pull Policy
1. Mở file values.yaml với text editor. Tìm đến phần image ( Như hình ):
Có 3 thành phần mà chúng ta cần quan tâm cho giá trị của pullPolicy:
IfNotPresent
– Tải về bản mới nhất của image, nếu nó chưa tồn tại trong cluster.Always
– Luôn luôn tải về images mới mỗi khi restart hoặc deployment.Latest
– Kiểm tra là tải về bản mới nhất của image.
2. Thay đổi image pullPolicy từ IfNotPresent
Thành Always
:
Bước 3: Ghi đè tên Helm Chart
Để ghi đè tên chart trong file values.yaml , ta thêm giá trị nameOverride và fullnameOverride vào:
Ví dụ:
Việc ghi đè tên Helm chart này đảm bảo file cấu hình cũng sẽ thay đổi theo.
Bước 4: Chỉ định tên cho Service Account
Tên service account cho Helm được tự động tạo ra khi bạn thực thi cluster. Tuy nhiên, chúng ta có thể đặt lại tên này.
Tên của service account giúp đảm bảo ứng dụng có thể trực tiếp liên kết với một controlled user trong chart.
1. Tìm đến giá trị serviceAccount trong file values.yaml:
2. Chỉ định name cho service account:
Bước 5: Đổi Networking Service Type
Ở bước này, chúng ta sẽ sử dụng NodePort
để minh họa, nếu bạn có Ingress thì có thể để “ClusterIP“, sau đó dùng Ingress trỏ vào.
1. Để thay đổi networking service type, tìm đến giá trị service :
2. Thay đổi type từ ClusterIP
thành NodePort
:
Deploy Helm Chart
Sau khi cấu hình giá trị values.yaml, kiểm tra trạng thái của cluster Minikube và deploy ứng dụng bằng Helm commands.
Bước 1: Kiểm tra trạng thái minikube
Nếu Minikube không chạy, việc cài đặt Helm sẽ báo lỗi:
1. Kiểm tra trạng thái của Minikube:
minikube status
Output sẽ phản hồi “Running”.
2. Nếu output hiển thị Stopped, hãy start nó lên bằng lệnh:
minikube start
Sau khi quá trình start hoàn tất, status sẽ đổi sang “Running”.
Bước 2: Cài đặt Helm chart
Cài đặt Helm chart sử dụnghelm install
command:
helm install <full name override> <chart name>/ --values <chart name>/values.yaml
Ví dụ:
helm install phoenix-chart phoenixnap/ --values phoenixnap/values.yaml
Câu lệnh helm install
dùng để deploy app. Những bước tiếp theo sẽ in ra giá trị “NOTES” trong phần output.
Bước 3: Export Pod với NodePort và IP Address
1. Copy hai câu lệnh export
từ output của helm install
2. Chạy các câu lệnh để lấy Pod node port và địa chỉ IP:
Bước 4: Xem lại các ứng dụng đã deploy.
1. Copy và paste câu lệnh echo
vào terminal để in ra địa chỉ IP và Port:
echo http://$NODE_IP:$NODE_PORT
2. Copy đường dẫn và paste vào trình duyệt web để xem ứng dụng vừa deploy:
Cuối bài
Sau khi làm theo dàn bài từng bước một trong hướng dẫn này, bạn đã có thể tạo, thiết lập một Helm chart và triển khai nó lên web server. Helm chart mà một ứng dụng giúp đơn giản hóa việc triển khai trên Cluster Kuberntes.
Bây giờ, bạn đã tạo được Helm chart, tiếp xem bạn có thể học cách Pull And Push Helm Charts.
Mã Bài Viết: 586749
Nguồn:
[maxbutton id=”2″ ] [maxbutton id=”3″ ]
Đăng ký liền tay Nhận Ngay Bài Mới
Subscribe ngay
Cám ơn bạn đã đăng ký !
Lỗi đăng ký !
Add Comment