K8S-Course 02: Cài đặt Lab kubernetes – phần 2

Tram Ho

Giới thiệu

Hôm nay mình sẽ tiếp tục hướng dẫn các bạn cài đặt hoàn thiện cụm kubernetes cluster dùng kubespray nhé!
image.png

Mình giới thiệu lại mô hình k8s mà mình sẽ hướng dẫn các bạn cài đặt:
image.png

Thông số các VM dùng cho việc cài đặt như sau:

Máy ảoRoleIPRAMCPUHDDNote
master1master192.168.10.11 (NAT)3GB2 core30GBSẽ cài thêm haproxy
worker1worker192.168.10.12 (NAT)4GB2 core30GBSẽ cài thêm rancher
worker2worker192.168.10.13 (NAT)4GB2 core30GB + 30GBSẽ cài thêm nfs-server
kubesprayinstallation server192.168.10.8 (NAT)2GB2 core30GB

Review lại các công việc đã thực hiện

Trong phần 1 mình đã hướng dẫn các bạn thực hiện cài VMware Workstation và đã tạo được 4 VM theo planning bên trên rồi.

Trong bài này mình tiếp tục hướng dẫn các công việc còn lại để hoàn thiện cài đặt gồm:

  • Cài đặt cấu hình máy ảo kubespray để chuẩn bị cài đặt k8s
  • Cấu hình tham số cho việc cài đặt + cài đặt k8s bằng kubespray
  • Cài đặt & cấu hình kubectl (để giao tiếp và quản lý cụm k8s)
  • Cài đặt rancher (lên VM worker1)

Giờ thì bắt tay vào thôi!

Hướng dẫn chi tiết

Cài đặt cấu hình cho VM kubespray

Cài đặt docker

Thực hiện cài đặt docker bằng lệnh sau:

Rồi cấu hình để user của bạn (non-root) có thể chạy lệnh docker không cần sudo, sau đó restart lại session kết nối vào server để user được cập nhật:

Bạn có thể logout/login lại session để cập nhật quyền trên trước khi tiếp tục thao tác.

Kết quả là cài đặt docker và chạy lệnh docker không cần quyền sudo:

Cấu hình file host

Thêm các dòng sau vào file /etc/hosts:

Tạo thư mục cài đặt kubespray

Tao thư mục chứa các file cài đặt:

Cài đặt kubernetes bằng kubespray

Tải bộ cài kubespray

Vào thư mục cài đặt vào download Kubespray về, lưu ý cần down đúng phiên bản bạn cần. Ở đây mình muốn cài kubernetes version v1.20.7 thì sẽ cần down kuberpay phiên bản release-2.16:

Lúc này kubespray sẽ được tải về máy tại thư mục /home/sysadmin/kubernetes_installation/kubespray.

Update file cấu hình của kubespray

Bạn cần tạo một inventory mới có tên là viettq-cluster của riêng bạn từ bộ mẫu của kubespray:

Tiếp theo là bước quan trọng nhất – cấu hình file hosts.yaml trong thư mục inventory của bạn. File này chính là file định nghĩa bạn sẽ cài k8s cluster gồm bao nhiêu node, tên và IP các node là gì…

Bạn cần chỉnh sửa nội dung file này theo đúng hostname/IP của các node bạn sẽ cài Kubernetes. Theo planning bên trên thì mình có 1 master và 2 worker, theo đó ta cần file cấu hình như sau:

Tiếp đến nếu bạn muốn đổi CNI (network plugin của K8S) thì sửa file config sau:

Sửa tham số:

Hoặc có thể dùng lệnh để update cấu hình network plugin như sau (thay vì sửa bằng tay như bên trên):

Như vậy là các bước chuẩn bị đã sẵn sàng, ta tiến hành cài đặt thôi!

Cài đặt kubernetes cluster

Ta sẽ thực hiện việc cài đặt từ bên trong một docker container của kubespray bằng lệnh sau:

Các bạn lưu ý dấu nhắc bây giờ sẽ là “root@…” vì chúng ta đang ở bên trong container.

Cuối cùng là lệnh để cài đặt:

Bạn sẽ nhập thông tin password của user sysadmin 2 lần và chờ đợi để ansible chạy các task cài đặt lên các node cho bạn.

Kết quả hoàn thành sẽ như sau:

Cài đặt và cấu hình kubectl

Cấu hình kubectl trên master1

Khi cài đặt xong cụm k8s thì trên master node đã mặc định có cài kubectl rồi nên ta chỉ việc cấu hình cho nó mà ko phải cài lại.

Cấu hình kubectl trên master node như sau:

Sau đó kiểm tra thông tin các node của cluster:

Như vậy là quá trình cài đặt đã hoàn thành rồi.

Cài đặt và cấu hình kubectl trên kubespray

Do phiên bản Kubernetes đang cài trong series LAB này là v1.20.7 nên mình cũng sẽ cài kubectl cùng phiên bản:

Cấu hình kubectl để kết nối tới cụm K8S của mình:

Sửa file config, tham số “server: https://127.0.0.1:6443” thành “server: https://192.168.10.11:6443” và lưu lại. Lưu ý “192.168.10.11” là IP của node master1, 6443 là port mặc định của kube-api-server.

Giờ kiểm tra kết nối bằng lệnh “kubect get nodes” xem đã kết nối ok hay chưa:

Như vậy là chúng ta đã cài đặt và cấu hình kubectl trên node kubespray thành công.

Cài đặt rancher

Theo planning chúng ta sẽ cài rancher trên node worker1. Kết nối SSH vào woker1 và cài rancher thôi.

Đầu tiên ta cần cấu hình user sysadmin có quyền chạy lệnh docker không cần sudo:

Tiếp theo ta cài rancher bằng lệnh sau:

Giờ thì rancher container đã chạy xong, ta vào web của nó ở địa chỉ https://[ip]:[https-port] cụ thể là https://192.168.10.12:6868.

Lúc này bạn chọn đổi password mới để nhập password mới và ấn OK để ra giao diện chính của Rancher như sau.

Tiếp theo chọn vào Add Cluster –> Other Cluster –> Nhập Cluster Name –> Chọn Create.

Tiếp theo copy dòng lệnh dưới cùng để chạy trên K8S Master Node để cài đặt rancher-agent lên K8S.

Chờ vài phút để agent được cài đặt xong thì trên rancher bạn ấn vào tên cluster mới tạo sẽ hiển thị như sau:

image.png

Bổ sung thêm: Khi trên giao diện Rancher báo Controller Manager unhealthy thì các bạn thực hiện thêm các bước sau trên các node Master nhé!

Như vậy tới đây các bạn đã hoàn thành cài đặt hệ thống lab kubernetes cluster rồi.

Trong các bài sau chúng ta sẽ vừa tìm hiểu vừa thực hành về các khái niệm, tài nguyên của k8s như nodes, pods.. trên hệ thống lab này nhé. Rất mong nhận được sự ủng hộ của mọi người bằng cách upvote và bookmark bài viết này. Cảm ơn các bạn!!

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo