จะติดตั้ง Kubernetes บน Ubuntu และอนุพันธ์และสร้างสองโหนดได้อย่างไร

Kubernetes อูบุนตู

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 แล้ว


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา