Kubernetes คือ ระบบการจัดการคอนเทนเนอร์โอเพ่นซอร์สฟรี ที่ให้ แพลตฟอร์มสำหรับการปรับใช้การปรับขนาดและการดำเนินการของคอนเทนเนอร์แอปพลิเคชันในกลุ่มของคอมพิวเตอร์โฮสต์โดยอัตโนมัติ
ด้วย Kubernetes พวกเขาสามารถใช้ประโยชน์จากโครงสร้างพื้นฐานระบบคลาวด์ภายในองค์กรสาธารณะและแบบไฮบริดเพื่อดำเนินงานการปรับใช้ขององค์กรได้อย่างอิสระ
การติดตั้ง Kubernetes บน Ubuntu และอนุพันธ์
สำหรับการติดตั้งจริง เราจะใช้คลัสเตอร์โหนดสองโหนดที่เราจะสร้างในบทความนี้จะประกอบด้วยโหนดหลักและโหนดทาส
โหนดทั้งสองต้องติดตั้ง Kubernetes ไว้ สิ่งแรกที่เราจะทำคือติดตั้งนักเทียบท่าบนทั้งสองตัวสำหรับสิ่งนี้เราต้องเรียกใช้คำสั่งต่อไปนี้กับพวกเขา:
sudo apt install docker.io
ในการตรวจสอบว่านักเทียบท่าได้รับการติดตั้งแล้ว คุณสามารถรันคำสั่งต่อไปนี้บนทั้งสองโหนด:
docker --version
ตอนนี้ มาดำเนินการต่อเพื่อเปิดใช้งานนักเทียบท่าบนทั้งสองโหนด:
sudo systemctl enable docker
ตอนนี้ขั้นตอนต่อไปคือการเพิ่มคีย์ Kubernetes ให้กับทั้งสองโหนดเราทำสิ่งนี้ด้วยคำสั่งต่อไปนี้:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
ขั้นตอนต่อไปคือการเพิ่มที่เก็บต่อไปนี้ให้กับทั้งสองระบบ:
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
ขั้นตอนสุดท้ายในกระบวนการติดตั้งคือการติดตั้ง Kubeadm บนทั้งสองโหนดผ่านคำสั่งต่อไปนี้:
sudo apt install kubeadm
พวกเขาสามารถตรวจสอบหมายเลขเวอร์ชัน Kubeadm และตรวจสอบการติดตั้งผ่านคำสั่งต่อไปนี้:
kubeadm version
การปรับใช้ Kubernetes
ตอนนี้เพื่อใช้การปรับใช้ Kubernetes ในระบบเราต้องปิดการใช้งานหน่วยความจำ swap (หากกำลังทำงานอยู่) ในทั้งสองโหนด
พวกเขาควรปิดการใช้งานหน่วยความจำ swap บนทั้งสองโหนดเนื่องจาก Kubernetes ทำงานไม่ถูกต้องบนระบบที่ใช้หน่วยความจำสลับ
ในการดำเนินการนี้ให้เรียกใช้:
sudo swapoff -a
ตอนนี้ขั้นตอนต่อไปคือ รันคำสั่งต่อไปนี้บนโหนดหลักเพื่อตั้งชื่อโฮสต์เฉพาะ:
sudo hostnamectl set-hostname master-node
ในขณะที่สำหรับโหนดทาสเราต้องพิมพ์:
sudo hostnamectl set-hostname slave-node
ทำตอนนี้ vมาเริ่มต้นโหนดหลักด้วยคำสั่งต่อไปนี้:
sudo kubeadm init --pod-network-cidr = 10.244.0.0/16
กระบวนการนี้อาจใช้เวลาอย่างน้อยหนึ่งนาทีขึ้นอยู่กับการเชื่อมต่ออินเทอร์เน็ตของคุณ ผลลัพธ์ของคำสั่งนี้มีความสำคัญมากดังนั้นคุณควรจดข้อมูลในเอาต์พุตเนื่องจากมี ip โทเค็นและอื่น ๆ
ในการเริ่มใช้คลัสเตอร์ของคุณพวกเขาจำเป็นต้องเรียกใช้สิ่งต่อไปนี้ในฐานะผู้ใช้ทั่วไป:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
ตอนนี้ พวกเขาสามารถเข้าร่วมเครื่องจำนวนเท่าใดก็ได้โดยรันสิ่งต่อไปนี้บนแต่ละโหนดในฐานะผู้ใช้รูท:
kubeadm join tuip --token tutoken --discovery-token-ca-cert-hash sha256:tuhash
โดยที่พวกเขาจะแทนที่ข้อมูลของ tutoken, tuip และแฮชของคุณด้วยข้อมูลที่ได้กล่าวไว้เมื่อสักครู่ที่พวกเขาจะเขียนลงไป
รับรายชื่อโหนด
คุณจะเห็นว่าสถานะของโหนดหลักยังไม่พร้อม เนื่องจากยังไม่มีการปรับใช้พ็อดบนโหนดหลักดังนั้น Container Network Interface จึงว่างเปล่า
หากต้องการดูรายการเราต้องดำเนินการ:
kubectl get nodes
การปรับใช้เครือข่ายพ็อดผ่านโหนดหลัก
เครือข่ายพ็อดเป็นวิธีการสื่อสารระหว่างโหนดของเครือข่าย ในบทช่วยสอนนี้เรากำลังใช้เครือข่าย Flannel pod ในคลัสเตอร์ของเราผ่านคำสั่งต่อไปนี้:
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
หากต้องการทราบสถานะของเครือข่ายเพียงพิมพ์:
kubectl get pods --all-namespaces sudo kubectl get nodes
เมื่อเสร็จแล้วตอนนี้ก็ถึงเวลาเพิ่มโหนดทาสในเครือข่ายเพื่อสร้างคลัสเตอร์ในลักษณะเดียวกับที่พวกเขาต้องเสริมข้อมูลเช่นเดียวกับในโหนดหลัก
sudo kubeadm join tuip --token tutoken --discovery-token-ca-cert-hash sha256:tuhash
ตอนนี้เมื่อคุณรันคำสั่งต่อไปนี้บนโหนดหลักมันจะยืนยันว่าสองโหนดโหนดหลักและโหนดเซิร์ฟเวอร์กำลังทำงานบนระบบของคุณ
sudo kubectl get nodes
สิ่งนี้แสดงให้เห็นว่าคลัสเตอร์สองโหนดพร้อมทำงานผ่านระบบการจัดการคอนเทนเนอร์ Kubernetes แล้ว