ฉันมีการตั้งค่าคลัสเตอร์ kubernetes แบบ Bare Metal โดยใช้ 3 โหนด หนึ่งมาสเตอร์และผู้ปฏิบัติงานสองคน ฉันใช้ kubeadm เพื่อตั้งค่าคลัสเตอร์ ตอนนี้ก่อนที่จะตั้งค่าคลัสเตอร์ ฉันได้ตั้งชื่อโฮสต์ของโหนดเป็น master-node, node-1, node-2 ตามลำดับ และเพิ่มรายการสำหรับโหนดเหล่านี้ในไฟล์ /etc/hosts ในทั้งสามโหนด
/ etc / โฮสต์
10.0.1.68 โหนดหลัก
10.0.29.104 node-1 ผู้ปฏิบัติงาน-node-1
10.0.28.246 node-2 ผู้ปฏิบัติงาน-node-2
ตอนนี้ ถ้าฉันต้องการเพิ่มโหนดผู้ปฏิบัติงานอื่นในคลัสเตอร์ ฉันได้เขียนสคริปต์เพื่อเพิ่มโหนดใหม่ไปยังคลัสเตอร์โดยอัตโนมัติ นี่คือสคริปต์ทุบตีของฉัน:
#!/bin/bash
ซูโด ซู -
ยำปรับปรุง -y
ยำติดตั้ง vim -y
hostnamectl ตั้งค่าชื่อโฮสต์ 'node-1'
แมว <<EOF >> /etc/hosts
10.0.1.68 โหนดหลัก
10.0.29.104 node-1 ผู้ปฏิบัติงาน-node-1
อฟ
เซเทนฟอร์ซ 0
sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
ติดตั้ง dnf https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.4.9-3.1.el7.x86_64.rpm -y
dnf ติดตั้ง docker-ce -y
systemctl เปิดใช้งานนักเทียบท่า
systemctl เริ่มนักเทียบท่า
echo '{"exec-opts": ["native.cgroupdriver=systemd"]}' > /etc/docker/daemon.json
systemctl daemon-โหลดซ้ำ
systemctl รีสตาร์ทนักเทียบท่า
แมว <<EOF > /etc/yum.repos.d/kubernetes.repo
[คูเบอร์เนเตส]
ชื่อ = Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
เปิดใช้งาน=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
อฟ
dnf ติดตั้ง kubeadm -y
systemctl เปิดใช้งาน kubelet
systemctl เริ่ม kubelet
ยำติดตั้ง iproute-tc -y
kubeadm เข้าร่วม --token xxxx --discovery-token-ca-cert-hash xxxx
แต่ฉันต้องเพิ่มที่อยู่ IP ของโหนดด้วยตนเองโดยเชื่อมต่อกับอินสแตนซ์ ดังนั้นฉันไม่สามารถทำสิ่งนี้ได้โดยใช้สคริปต์ทุบตีนอกจากนี้ ฉันต้องเพิ่มบรรทัดนั้นในไฟล์ /etc/hosts ของโหนดที่มีอยู่แล้วในคลัสเตอร์ของฉัน ขณะนี้ฉันกำลังทำสิ่งนี้ด้วยตนเอง จริงๆ แล้วขั้นตอนนี้มีความสำคัญเพียงใด และฉันจะเปลี่ยนแปลงอะไรได้บ้างในสคริปต์เพื่อเพิ่มโหนดไปยังคลัสเตอร์โดยใช้สคริปต์นี้ในขณะที่เปิดตัวอินสแตนซ์ ec2 ใหม่