Tải bản đầy đủ (.docx) (8 trang)

Tìm hiểu cài đặt kubeadm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (464.41 KB, 8 trang )

1. Chuẩn bị
 Mơ hình cài đặt ở mức tối thiểu, bao gồm 3 máy chủ với thông tin như sau
 CPU: 02 vCPU
 RAM: 02 GB
 HDD: 30 GB
 OS: Ubuntu Server 18.04 LTS
 NIC: 01 Interface, Có kết nối Internet

Trong đó sẽ có 1 Master Node, 2 Worker Node.
Mơ hình kết nối:

Hình 1: Mơ hình kết nối

Đầu tiên cần thiết lập hostname, vì hostname sẽ được Kubernetes dùng để định danh
các Node trong cụm.
Trên Master Node chạy lệnh:
hostnamectl set-hostname master
sed -i 's/127.0.0.1 localhost/127.0.0.1 localhost master/' /etc/hosts
Trên Worker Node 1 chạy lệnh sau:
hostnamectl set-hostname worker1
sed -i 's/127.0.0.1 localhost/127.0.0.1 localhost worker1/' /etc/hosts


Trên Worker Node 2 chạy lệnh sau:
hostnamectl set-hostname worker2
sed -i 's/127.0.0.1 localhost/127.0.0.1 localhost worker2/' /etc/hosts
Các lệnh hướng dẫn sau đây sẽ thực hiện trên tất cả các máy chủ Master Node và
Worker Node cho tới khi chạy lệnh khởi tạo Cluster. Đầu tiên sẽ thực hiện cập nhật hệ
thống:
apt update -y && apt upgrade -y && apt autoremove -y
Do kubernetes yêu cầu bạn phải tắt swap mới cài đặt được. Tắt mềm như sau:


swapoff -a
Bạn cần chỉnh sửa cấu hình trong tập tin /etc/fstab để đảm bảo tắt swap ngay cả khi
khởi động lại máy chủ. Tắt cứng như sau:
sed -i '/swap/ s/^\(.*\)$/#\1/g' /etc/fstab
Tìm các phiên bản (version) cho gói cài đặt docker.io hiện có trên repository bằng
lệnh:
apt search docker.io


apt-cache show docker.io |grep Version

Chạy lại cài đặt với phiên bản mong muốn, ở đây mình chỉ định phiên bản docker
19.03.6, containerd phiên bản 1.2.6:
apt -y install docker.io=19.03.6-0ubuntu1~18.04.2
containerd=1.2.6-0ubuntu1~18.04.2

Khi cài xong gói, việc đầu tiên cần phải làm là khóa gói vừa cài đặt để không cho hệ
thống tự động nâng cấp phiên bản của các gói này khi chạy lệnh “apt upgrade”.
apt-mark hold docker.io containerd

Nếu muốn nâng cấp gói bị khóa thì thực hiện mở khóa bằng lệnh:
apt-mark unhold docker.io containerd
Cho phép docker khởi động cùng hệ thống
systemctl enable docker.service --now
Tới đây thì chúng ta sẽ khởi động lại tồn bộ 03 máy chủ trước khi bắt tay vào cài đặt
Kubernetes:


Tới đây thì chúng ta sẽ khởi động lại tồn bộ 03 máy chủ trước khi bắt tay vào cài đặt
Kubernetes:

init 6
Khởi động xong, bạn đăng nhập qua SSH vào toàn bộ các máy chủ để bắt đầu cài đặt
Kubernetes cluster.
Trên cả Master Node và Worker Node, thực hiện cấu hình repository để trỏ tới nơi sẽ
tải các gói cài đặt kubeadm, kubelet, kubectl:
apt install -y apt-transport-https
curl -s | aptkey add
cat << EOF >/etc/apt/sources.list.d/kubernetes.list deb
kubernetes-xenial main
EOF

Chạy lệnh sau để máy chủ động cập nhật metadata về các gói ở respository vừa thêm
vào:
apt update -y
Cài đặt các gói kubeadm, kubelet, kubeclt ở phiên bản 1.20.8-00 bằng lệnh:


apt install -y kubelet=1.20.8-00 kubeadm=1.20.8-00
kubectl=1.20.8-00

Khóa khơng cho hệ điều hành cập nhật gói:
apt-mark hold kubelet kubeadm kubectl

Cho phép kubelet khởi động cùng hệ điều hành
systemctl enable kubelet --now
Đứng trên Master node, thực hiện các lệnh sau để khởi tạo một Kubernetes Cluster:


IPADDR=$(hostname -I |awk '{ print $1 }')
kubeadm init --apiserver-advertise-address $IPADDR --pod-networkcidr=10.224.0.0/16


Kết quả sau khi cài đặt xong:

Thiết lập cấu hình để sử dụng được tập lệnh kubectl tương tác với API server. Chạy
các lệnh sau:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Chúng ta sẽ sử dụng một 3rd plugin network là calico, lý do tại sao thì bài sau mình sẽ
giải thích chi tiết. Dải địa chỉ IP có CIDR là 10.224.0.0/16 sẽ được sử dụng để cấp
phát địa chỉ IP cho các Pod.
Tải tập tin YAML có chứa các thơng tin giúp cài đặt được calico trong Kubernetes:


curl -O
Cần sửa một chút tập tin này vì chúng ta có chỉ định dải địa chỉ CIDR cho Pod:
vim calico.yaml +3683
Loại bỏ comment của 02 dòng này và thay đúng CIDR từ lệnh khởi tạo vào:

Chạy lệnh sau để cài đặt Calico:
kubectl apply -f calico.yaml
Bạn có nhìn thấy lệnh kubeadm join…. ở giao diện phần khởi tạo cụm khơng? Sử
dụng lệnh đó để chạy trên các Worker node. Nhớ là trên mọi Worker node sẽ không
chạy lệnh kubeadm init, chỉ cần chạy lệnh kubeadm join kia là đủ.

Vì token sử dụng để join các Worker node có thời gian sử dụng là 24h, nếu bạn muốn
sinh ra token để mở rộng thêm các Worker node thì chạy lệnh sau sẽ có:
kubeadm token create --print-join-command

Sau khi cài xong, trên Master node chạy lệnh kiểm tra Kubernetes Cluster vừa cài

xong:
kubectl get nodes -o wide


Trạng thái của các node đều Ready là được.



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×