Home Cài đặt K3S và Rancher trong 1 script
Post
Cancel

Cài đặt K3S và Rancher trong 1 script

Đặt vấn đề

Với ưu điểm là gọn nhẹ, cài đặt dễ dàng, K3S là lựa chọn rất tốt khi cài đặt các hệ thống Kubernetes với máy cấu hình thấp hoặc các môi trường development, staging, test. Cùng với UI Rancher dùng để quản lý Kubernetes, có giao diện đầy đủ, dễ dùng hơn rất nhiều so với kubernetes dashboard, hỗ trợ quản lý nhiều cluster trên cùng 1 webapp, K3S và Rancher trở thành bộ đôi hoàn hảo cho các nhà phát triển hoặc kĩ sư devops muốn triển khai nhanh chóng các hệ thống của mình. Để thuận tiện cho việc cài đặt nhanh nhất có thể, bài viết này hướng dẫn cách cài đặt K3S nhanh nhất.

Chuẩn bị

Để chuẩn bị cài đặt bộ đôi này, trước tiên ta có vài vấn đề cần lưu ý

Kubernetes support matrix

Các phiên bản của Kubernetes được release quá nhanh, và UI Rancher không hỗ trợ kịp phiên bản mới nhất. Với mỗi phiên bản Rancher, họ cung cấp một tài liệu chi tiết các phiên bản Kubernetes được hỗ trợ trên từng nền tảng, gọi là support matrix. Bạn cần kiểm tra phiên bản rancher hiện tại mình sử dụng, tra cứu support matrix của nó để xác định cặp phiên bản phù hợp. Khuyến nghị ở đây là: sử dụng phiên bản rancher mới nhất, và sử dụng phiên bản kubernetes cao nhất mà nó hỗ trợ.

Dưới đây là link support matrix cho phiên bản 2.6.7

support matrix

Phiên bản K3S

Tương ứng với các phiên bản Kubernetes, K3S có cách đánh phiên bản riêng của nó, ánh xạ với các phiên bản Kubernetes chính thức. Bạn có thể tra cứu danh sách các phiên bản K3S trên github releases của họ

k3s release

Subdomain cho Rancher

Để sử dụng các tính năng Rancher một cách tốt nhất, bạn cần chuẩn bị một domain cho nó (Ví dụ: rancher.example.com) Ngoài ra, tính năng View logsExecute shell của Rancher sử dụng wss, nên bạn cũng cần SSL hợp lệ để chạy được nó trên Chrome

Server

Và tất nhiên rồi, bạn cần một server Linux để chạy Rancher, có sẵn curl.

Tiến hành cài đặt

Từ các bước chuẩn bị trên, ta set các biến môi trường trong Terminal như sau:

1
2
3
4
5
# Setting up variables
export INSTALL_K3S_VERSION=v1.23.10+k3s1         # Phiên bản K3S
export SSL_CERT=/etc/nginx/SSLs/thanhtunguet.crt # Đường dẫn file crt SSL
export SSL_KEY=/etc/nginx/SSLs/thanhtunguet.key  # Đường dẫn file private key SSL
export HOSTNAME=rancher.thanhtunguet.info        # Hostname của web rancher

Dưới đây là script cài đặt hoàn chỉnh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/bash

# Install K3S
curl -sfL https://get.k3s.io | sh -

################################
# Start installing rancher
################################

# Install Helm
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh
# Install Rancher
helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
kubectl create namespace cattle-system
helm install rancher rancher-<CHART_REPO>/rancher \
  --namespace cattle-system \
  --set hostname=$HOSTNAME \
  --set replicas=3 \
  --set ingress.tls.source=secret
# Adding TLS Secrets
kubectl -n cattle-system create secret tls tls-rancher-ingress \
  --cert=$SSL_CERT \
  --key=$SSL_KEY
# Verify rancher is running
kubectl -n cattle-system rollout status deploy/rancher

Một tip nhỏ nữa, là nếu các cluster bạn cài mà bạn đều có quyền quản trị cao nhất, thì bạn chỉ cần dùng 1 UI Rancher cho tất cả các cụm là được.

Thêm một cluster vào UI Rancher

Cái này thì chắc làm tay thôi ha, link hướng dẫn ở đây :D

https://docs.ranchermanager.rancher.io/v2.5/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters

This post is licensed under CC BY 4.0 by the author.