วิธีการปรับใช้ NGINX ในคลัสเตอร์ Kubernetes

รูปภาพ: Jack Wallen

Kubernetes เป็นหนึ่งในวิธีที่ทรงพลังที่สุดในการปรับใช้คลัสเตอร์สำหรับการจัดการและการปรับใช้คอนเทนเนอร์ NGINX เป็นหนึ่งในเว็บเซิร์ฟเวอร์ที่ได้รับความนิยมมากที่สุดในโลกและเป็นหนึ่งในวิธีที่ดีที่สุดในการแสดงวิธีปรับใช้คอนเทนเนอร์ รวมสองสิ่งนี้เข้าด้วยกันและคุณสามารถเพลิดเพลินกับเว็บเซิร์ฟเวอร์ที่ปรับขนาดได้สูงพร้อมที่จะช่วยให้ธุรกิจของคุณเติบโต

แต่คุณจะปรับใช้คอนเทนเนอร์ NGINX นั้นในคลัสเตอร์ Kubernetes ได้อย่างไร ฉันจะแสดงให้คุณ คำเตือนฉันกำลังใช้เซิร์ฟเวอร์คลาวด์ Antsle ซึ่งทำให้การปรับใช้แพลตฟอร์ม Kubernetes ง่ายอย่างไม่น่าเชื่อ ระบบปฏิบัติการที่โฮสต์ Kubernetes คือ Ubuntu Server 16.04 ฉันจะถือว่าคุณมี Kubernetes แล้วและทำงานอยู่ สำหรับผู้ที่ไม่มี Antsle และต้องติดตั้ง Kubernetes ก่อนตรวจสอบที่นี่ สำหรับการสาธิตนี้ฉันจะติดตั้งบนเครื่องเสมือนสามเครื่อง:

  • kubernetes ที่ 192.168.1.190
  • kubernetes2 ที่ 192.168.1.191
  • kubernetes3 ที่ 192.168.1.192

เครื่องที่มีชื่อโฮสต์ kubernetes จะทำหน้าที่เป็นเจ้านายของฉันในขณะที่ kubernetes2 / 3 จะทำหน้าที่เป็นโหนด

ด้วยวิธีนี้เรามาปรับใช้

การตั้งค่าชื่อโฮสต์

สิ่งแรกที่เราต้องทำคือแมปชื่อโฮสต์ในแต่ละเครื่อง ดังนั้นสำหรับแต่ละเครื่องเราจะออกคำสั่ง sudo nano / etc / hosts และแมปที่อยู่ IP ของเครื่องอื่นกับชื่อโฮสต์ ดังนั้นใน kubernetes การเพิ่มโฮสต์ของฉันจะเป็น:

 192.168.1.191 kubernetes2 192.168.1.192 kubernetes3 

บน kubernetes2 ส่วนเพิ่มเติมจะเป็น:

 192.168.1.190 kubernetes 192.168.1.192 kubernetes3 

ใน kubernetes3 ส่วนเพิ่มเติมจะเป็น:

 192.168.1.190 kubernetes 192.168.1.191 kubernetes2 

เมื่อคุณทำการเพิ่มเติมให้บันทึกและปิดไฟล์ ตรวจสอบให้แน่ใจว่าคุณสามารถ ping แต่ละเซิร์ฟเวอร์ผ่านชื่อโฮสต์

เตรียมข้อมูลเบื้องต้นให้กับโหนดหลัก

เมื่อทุกอย่างเข้าใกล้ก็ถึงเวลาที่จะกำหนดค่าเริ่มต้นให้กับโหนดหลัก ล็อกอินเข้าสู่ kubernetes (โหนดหลักของฉัน) และใช้คำสั่ง:

 sudo kubeadm init --pod-network-cidr = 192.168.1.0 / 16 --apiserver-ads-address-192 = 192.168.1.190 

คำสั่งนี้อาจใช้เวลาหนึ่งหรือสองนาทีจึงจะเสร็จสมบูรณ์เนื่องจากอาจจำเป็นต้องดึงภาพ เมื่อเสร็จสิ้นคุณควรเห็นผลลัพธ์ที่คล้ายกันแสดงใน รูปที่ A

รูปที่

โหนดหลักของเราถูกปรับใช้

พร้อมกับเอาต์พุตจะเป็นโทเค็นและโทเค็นการค้นพบของคุณ ตรวจสอบให้แน่ใจว่าคุณคัดลอกสิ่งเหล่านั้นลง (หรือเพียงแค่คัดลอกคำสั่งเข้าร่วมทั้งหมด) เนื่องจากคุณจะต้องใช้ข้อมูลนั้นเพื่อเข้าร่วมโหนดไปยังคลัสเตอร์

ขั้นตอนต่อไปได้อธิบายไว้อย่างชัดเจนในผลลัพธ์ของคำสั่งการเตรียมใช้งาน อย่างมีประสิทธิภาพคุณต้องใช้คำสั่งต่อไปนี้:

 mkdir -p ~ / .kube sudo cp -i /etc/kubernetes/admin.conf ~ / .kube / config sudo chown $ (id -u): $ (id -g) ~ / .kube / config 

เมื่อคุณออกคำสั่งข้างต้นแล้วให้ตรวจสอบสถานะของโหนด (จะมีเพียงคำสั่งเดียวในตอนนี้) พร้อมคำสั่ง:

 kubectl รับโหนด 

คุณควรเห็นรายการโหนดหลัก ( รูปที่ B )

รูปที่ B

โหนดหลักของเราอยู่ในรายการ

เหตุผลที่โหนดมาสเตอร์ของเราถูกแสดงว่ายังไม่พร้อมเป็นเพราะมันยังไม่ได้มี Container Networking Interface (CNI) มาปรับใช้ Calico CNI สำหรับต้นแบบด้วยคำสั่ง:

 sudo kubectl ใช้ -f https://docs.projectcalico.org/v2.6/getting-started/kubernetes/installation/hosted/kubeadm/1.6/calico.yaml 

มาตรวจสอบให้แน่ใจว่าปรับใช้ Calico อย่างถูกต้องด้วยคำสั่ง kubectl รับ pods - all-namespaces

ผลลัพธ์ของคำสั่งด้านบน ( รูป C ) ควรแสดงการเรียกใช้ Calico

รูปที่ C

ในความเป็นจริง Calico กำลังทำงานอยู่

รัน kubectl รับโหนด อีกครั้งและคุณควรเห็น Master Node แสดงรายการเป็น Ready

การเพิ่มโหนดให้กับคลัสเตอร์

ต่อไปเราจะไปที่โหนดของเราเพื่อเพิ่มไปยังคลัสเตอร์ จำคำสั่ง join ในผลลัพธ์จากคำสั่งการกำหนดค่าเริ่มต้นของ Master Node หรือไม่ ตรงไปที่ kubernetes2 และออกคำสั่งนั้นซึ่งจะมีลักษณะดังนี้:

 sudo kubeadm เข้าร่วม - โตเค็น 6779e1.164c5515cf412fdf 192.168.1.1909066443 - ค้นพบ token-ca-cert-hash sha256: c3e413050e40675280bbf8e37a99c53a1481f714805180880 

เมื่อคำสั่งนั้นเสร็จสิ้นให้ทำเช่นเดียวกันกับ kubernetes3 หลังจากที่คุณได้ออกคำสั่ง join บนโหนดของคุณให้กลับไปที่ Master Node และออกคำสั่ง kubectl รับโหนด และคุณควรเห็นโหนดทั้งหมดพร้อม ( รูปที่ D )

รูป D

โหนดทั้งหมดของเราพร้อมที่จะทำงาน

ปรับใช้คอนเทนเนอร์ NGINX กับคลัสเตอร์

ถึงเวลาที่จะปรับใช้คอนเทนเนอร์ NGINX จากโหนดหลักออกคำสั่ง:

 sudo kubectl สร้างการปรับใช้ nginx --image = nginx 

ต่อไปเราจะทำให้คอนเทนเนอร์ NGINX พร้อมใช้งานสำหรับเครือข่ายด้วยคำสั่ง:

 sudo kubectl สร้างบริการ nodeport nginx --tcp = 80: 80 

ออกคำสั่ง kubectl รับ svc เพื่อดูรายชื่อ NGINX ของคุณ (เช่นเดียวกับพอร์ตที่กำหนดโดย Kubernetes - รูป E )

รูปที่ E

บริการ NGINX ของเรากำลังทำงาน

ลองทดสอบด้วยคำสั่ง:

 curl kubernetes3: 30655 

หมายเหตุ: พอร์ต 30655 ได้รับมอบหมายระหว่างคำสั่งสร้างบริการ มันจะไม่ซ้ำกับการใช้งานของคุณ

ผลลัพธ์ของคำสั่ง curl ควรแสดง HTML ของหน้า NGINX index.html ถ้าคุณเห็นว่าแสดงความยินดีภาชนะ NGINX ของคุณถูกปรับใช้ในคลัสเตอร์ Kubernetes ของคุณ หากคุณชี้เว็บเบราว์เซอร์ไปที่ http: // IP_OF_NODE: ASSIGNED_PORT (โดยที่ IP_OF_NODE เป็นที่อยู่ IP ของโหนดใดโหนดหนึ่งของคุณและ ASSIGNED_PORT เป็นพอร์ตที่กำหนดระหว่างคำสั่งสร้างบริการ) คุณควรเห็นหน้ายินดีต้อนรับ NGINX!

การปรับใช้ขั้นพื้นฐาน

สิ่งที่เราทำคือการติดตั้ง Kubernetes ขั้นพื้นฐานสำหรับ NGINX ในคลัสเตอร์ มีอะไรอีกมากมายให้เรียนรู้เกี่ยวกับการใช้ Kubernetes อย่างไรก็ตามสิ่งนี้จะช่วยให้คุณเริ่มต้นได้ดีรวมถึงช่วยให้คุณปรับใช้ NGINX ในคลัสเตอร์ Kubernetes ของคุณได้อย่างง่ายดาย

จดหมายข่าวแนวโน้มศูนย์ข้อมูล

DevOps, การจำลองเสมือน, ไฮบริดคลาวด์, พื้นที่จัดเก็บและประสิทธิภาพการดำเนินงานเป็นเพียงหัวข้อบางส่วนของศูนย์ข้อมูลที่เราจะเน้น จัดส่งวันจันทร์และวันพุธ

สมัครวันนี้

© Copyright 2020 | mobilegn.com