Làm thế nào để cài đặt Kubernetes trên Ubuntu và các dẫn xuất và tạo hai nút?

Kubernetes Ubuntu

Kubernetes là một hệ thống quản lý vùng chứa mã nguồn mở và miễn phí cung cấp một nền tảng để tự động hóa việc triển khai, mở rộng quy mô và hoạt động của các vùng chứa ứng dụng trên các nhóm máy tính chủ.

Với Kubernetes, họ có thể tự do tận dụng cơ sở hạ tầng đám mây tại chỗ, công cộng và kết hợp để điều hành các nhiệm vụ triển khai của tổ chức của họ.

Cài đặt Kubernetes trên Ubuntu và các dẫn xuất

Để cài đặt thực tế, chúng ta sẽ sử dụng một cụm hai nút mà chúng ta sẽ hình thành trong bài viết này sẽ bao gồm một nút chính và một nút phụ.

Cả hai nút cần phải cài đặt Kubernetes trên chúng. Điều đầu tiên chúng ta sẽ làm là cài đặt docker trên cả hai, đối với điều này, chúng ta chỉ cần thực hiện lệnh sau trên chúng:

sudo apt install docker.io

Để xác minh rằng docker đã được cài đặt, bạn có thể chạy lệnh sau trên cả hai nút:

docker --version

Bây giờ hãy tiếp tục bật docker trên cả hai nút:

sudo systemctl enable docker

Bây giờ bước tiếp theo là thêm khóa Kubernetes vào cả hai nút, chúng ta thực hiện việc này bằng lệnh sau:

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add

Bước tiếp theo là thêm kho lưu trữ sau vào cả hai hệ thống:

sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"

Bước cuối cùng trong quá trình cài đặt là cài đặt Kubeadm trên cả hai nút thông qua lệnh sau:

sudo apt install kubeadm

Họ có thể kiểm tra số phiên bản Kubeadm và cũng xác minh cài đặt thông qua lệnh sau:

kubeadm version

Triển khai Kubernetes

Bây giờ để triển khai Kubernetes trong hệ thống, chúng ta phải vô hiệu hóa bộ nhớ hoán đổi (nếu nó đang chạy) trong cả hai nút

Họ sẽ vô hiệu hóa bộ nhớ hoán đổi trên cả hai nútvì Kubernetes không hoạt động bình thường trên hệ thống sử dụng bộ nhớ hoán đổi.

Để làm điều này, chỉ cần chạy:

sudo swapoff -a

Bây giờ bước tiếp theo là chạy lệnh sau trên nút chính để đặt cho nó một tên máy chủ duy nhất:

sudo hostnamectl set-hostname master-node

Trong khi đối với nút nô lệ, chúng ta phải nhập:

sudo hostnamectl set-hostname slave-node

Xong việc này bây giờ vHãy tiến hành khởi tạo nút chính bằng lệnh sau:

sudo kubeadm init --pod-network-cidr = 10.244.0.0/16

Quá trình này có thể mất một phút hoặc hơn tùy thuộc vào kết nối Internet của bạn. Đầu ra của lệnh này rất quan trọng vì vậy bạn nên ghi thông tin vào đầu ra, vì nó chứa ip, mã thông báo và những thứ khác.

Để bắt đầu sử dụng cụm của bạn, họ cần chạy những điều sau như một người dùng thông thường:

mkdir -p $HOME/.kube

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

sudo chown $(id -u):$(id -g) $HOME/.kube/config

Bây giờ họ có thể tham gia bất kỳ số lượng máy nào bằng cách chạy những điều sau trên mỗi nút với tư cách là người dùng gốc:

kubeadm join tuip --token tutoken --discovery-token-ca-cert-hash sha256:tuhash

Nơi họ sẽ thay thế thông tin của tutoken, tuip và băm của bạn bằng thông tin đã được nói cách đây vài phút mà họ sẽ viết ra.

Lấy danh sách các nút

Bạn sẽ thấy rằng trạng thái của nút chính vẫn chưa sẵn sàng. Điều này là do chưa có nhóm nào được triển khai trên nút chính và do đó Giao diện mạng vùng chứa trống.

Để xem danh sách, chúng ta chỉ phải thực hiện:

kubectl get nodes

Triển khai mạng nhóm thông qua nút chính

Mạng nhóm là một phương tiện giao tiếp giữa các nút của mạng. Trong hướng dẫn này, chúng tôi đang triển khai mạng pod Flannel trong cụm của chúng tôi thông qua lệnh sau:

sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

Để biết trạng thái của mạng, chỉ cần nhập:

kubectl get pods --all-namespaces

sudo kubectl get nodes

Khi điều này được thực hiện, bây giờ là lúc để thêm nút phụ vào mạng để tạo thành một cụm, theo cách tương tự như cách chúng phải bổ sung thông tin như trong nút chính.

sudo kubeadm join tuip --token tutoken --discovery-token-ca-cert-hash sha256:tuhash

Bây giờ khi bạn chạy lệnh sau trên nút chính, nó sẽ xác nhận rằng hai nút, nút chính và các nút máy chủ đang chạy trên hệ thống của bạn.

sudo kubectl get nodes

Điều này cho thấy rằng cụm hai nút hiện đã được thiết lập và chạy thông qua hệ thống quản lý vùng chứa Kubernetes.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.