JABZ7SHOP : Web Selling Things With Cheap Price : https://jabz7shop.blogspot.com/ : Go To My Shop Online Now
Bài đăng

Hướng dẫn cài đặt Cluster Kubernetes với RKE trên Ubuntu 20.04

4 min read

 

Giới thiệu

Rancher Kubernetes Engine (RKE) là một công cụ dùng để triển khai môi trường Kubernetes trên máy chủ vật lý hoặc máy chủ ảo hóa. RKE giúp đơn giản hóa việc cài đặt Kubernetes trên bất kì hệ điều hành và nền tảng nào bạn đang chạy. RKE còn nhận được chứng nhận từ tổ chức nổi tiếng CNCF.

Trong bài viết này chúng ta sẽ sử dụng RKE sẽ cài đặt cluster Kubernetes trên các máy chủ chạy hệ điều hành Ubuntu 20.04.

Việc cài đặt sẽ được thực hiện trên 3 máy chủ có IP lần lượt là:

10.0.0.2

10.0.0.3

10.0.0.4

Mô hình cài đặt Kubernetes cluster RKE

Chuẩn bị

Các máy chủ cần được thông firewall với nhau với các port sau :

Kết quả

Chúng ta chạy update toàn bộ server bằng trước khi cài Docker

bash (root)

Chúng ta sẽ cài đặt các software có liên quan

bash (root)

Cài đặt Docker

Chúng ta thực hiện cài đặt Docker lần lượt trên cả 3 máy chủ như sau:

Tiến hành download repository docker-ce

bash (root)

Tiến hành add repository

bash (root)

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

bash (root)

Sau khi cài đặt xong chúng ta start Docker:

bash (root)

Cho Docker khởi động cùng hệ điều hành.

bash (root)

Kiểm tra trạng thái của Docker

bash (root)

Kết quả

Sau khi cài đặt xong chúng ta kiểm tra phiên bản của Docker:

bash (root)

Kết quả

Tạo user với tên userdeploy và thêm vào group với tên docker để phục vụ cho việc cài đặt cluster của RKE.

Tiến hành tạo user userdeploy

bash (root)

Tiến hành thêm user userdeploy vào group với tên docker

bash (root)

Lưu ý quan trọng : Bạn có thể SSH tới 3 máy chủ trên với user là userdeploy để có thể chạy công cụ RKE deploy được hướng dẫn ở phần bên dưới .

Cài đặt RKE

Chúng ta sẽ thực hiện cài đặt rke tại máy tính cá nhân của bạn . Từ máy tính của bạn có thể truy cập tới các bản release của RKE để có thể download binary tại link https://github.com/rancher/rke/releases

Copy binary vừa download được và chỉnh sửa tên của nó thành rke

Với macOS

bash (non-root)

Với các distro Linux

bash (non-root)

Với Windows PowerShell

bash (non-root)

Sau khi cài đặt thành công chúng ta có thể kiểm tra version của rke:

bash (non-root)

Kết quả

Cài đặt công cụ kubectl

Chúng ta sẽ thực hiện cài đặt kubectl tại máy tính cá nhân của bạn .

Để có thể access tới cluster Kubernetes chúng ta cần một công cụ đó là kubectl

Cho Linux distro

bash (non-root)

Cho MacOS

bash (non-root)

Cho Windows

bash (non-root)

Sau khi cài đặt xong chúng ta có thể kiểm tra version của kubectl bằng cách

bash (non-root)

Kết quả

Cài đặt cluster Kubernetes

Chúng ta sẽ thực hiện cách thao tác sau tại máy tính cá nhân của bạn.

Đầu tiên, bạn cần tạo 1 file với tên cluster-kubernetes.yml có nội dung như sau:

Trong đó :

address : Là địa chỉ IP public hoặc nếu không có IP public thì sẽ nhập luôn IP private của các nodes .

internal_address : Là địa chỉ IP private của nodes

user : Là user mà rke sẽ ssh tới để pull các images cũng như up các services của Kuberneste .

ssh_key_path : Là đường dẫn của private key của user đã được define ở trên .

role : Là chỉ định role của node trong Kubernetes mình trong bài này chúng ta sẽ sử dụng chạy cả master và worker cho mỗi node.

cluster-kubernetes.yml

Sau khi đã tạo xong chúng ta thực thi rke để tạo 1 cụm cluster Kubernetes:

bash (root)

Đợi một lát để rke tiến hành pull các images và up các container . Bạn sẽ nhìn thấy kết quả lệnh chạy cài đặt như sau:

Kết quả

Sau khi đợi khoảng 10 phút thì chúng ta được kết quả thông báo quá trình cài đặt cluster Kubernetes đã thành công:

Kết quả

Sau khi đã hoàn tất sẽ có 1 file kubeconfig được tạo ra dùng để access tới hệ thống Kubernetes là kube_config_cluster-kubernetes.yml.

Thực hiện lệnh export sau:

bash (root)

Kiểm tra danh sách các node bằng lệnh:

bash (root)

Kết quả chúng ta thấy 3 node đang ở trạng thái sẵn sàng.

Kết quả

Chúng ta kết nối tới máy chủ và kiểm tra các container đang chạy bằng .

bash (root)

Kết quả chúng ta thấy các container đã chạy

Kết quả

Các option trong cluster-kubernetes.yml

Dưới đây là một số option trong manifest cluster-kubernetes.yml:

  • Bastion host : Sử dụng trong trường hợp bạn không thể SSH trực tiếp tới các máy chủ mà phải thông qua một Bastion host .
  • Backup ETCD : Mặc định khi cài đặt sẽ không có backup ETCD vì thế nếu bạn muốn backup thì phải thêm cấu trúc YAML bên dưới và files backup sẽ nằm mặc định tại /opt/rke/etcd-snapshots .
  • Enable nginx controller : Mặc định khi cài đặt sẽ không có ingress-controller nếu cần bạn có thể add thêm cấu trúc YAML bên dưới .

Tổng kết

Bên trên là toàn bộ hướng dẫn cài đặt thành công một cluster Kubernetes 3 nodes trong thời gian rất ngắn chỉ khoảng 10 phút . Để tối ưu thời gian cho việc cài đặt các bạn có thể sử dụng Ansible để provisioning cho các bước Chuẩn bị và Cài đặt Docker

Chúc các bạn thành công!

00:00 / 00:00

Bạn có thể thích những bài đăng này

Đăng nhận xét