คำถามและคำตอบสัมภาษณ์ Kubernetes 20 อันดับแรกที่คุณต้องการทราบในปี 2022

เผยแพร่แล้ว: 2021-01-04

Kubernetes เป็นหนึ่งในเครื่องมือจัดการคอนเทนเนอร์ที่เป็นที่ต้องการมากที่สุดในตลาดปัจจุบัน Google เป็นโอเพ่นซอร์สในปี 2014 ระบบนี้ได้กลายเป็นระบบที่ได้รับความนิยมจากบริษัทต่างๆ เช่น SoundCloud, SAP, The New York Times, eBay, Huawei และอื่นๆ อีกมากมาย

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

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

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

Kubernetes คำถามและคำตอบสัมภาษณ์ 2022

1. กำหนด Kubernetes

Kubernetes เป็นมากกว่าแพลตฟอร์มคอนเทนเนอร์ มันทำให้งานการปรับใช้ การปรับขนาด และการทำโหลดบาลานซ์ของแอปพลิเคชันเป็นไปโดยอัตโนมัติ นอกจากนี้ เครื่องมือการจัดการหลายคอนเทนเนอร์ยังทำงานได้ดีกับผู้ให้บริการระบบคลาวด์ส่วนใหญ่ และได้รับประโยชน์จากการมีส่วนร่วมของชุมชนโอเพนซอร์สที่เชี่ยวชาญ Kubernetes เขียนด้วยภาษาโปรแกรม Go

2. ระบุคุณสมบัติที่สำคัญของ Kubernetes

    1. การจัดกำหนดการอัตโนมัติ – ตัวกำหนดตารางเวลาขั้นสูงเพื่อเปิดใช้คอนเทนเนอร์บนโหนดคลัสเตอร์
    2. การรักษาตัวเอง – สามารถจัดตารางเวลาใหม่ แทนที่ และรีสตาร์ทคอนเทนเนอร์ที่เสียชีวิตได้
    3. การเปิดตัวและการย้อนกลับอัตโนมัติ – รองรับการเปิดตัวและการย้อนกลับ
    4. การปรับขนาดแนวนอน – ความสามารถในการปรับขนาดแอปพลิเคชันขึ้นหรือลงตามความต้องการ
  1. ระบุความแตกต่างระหว่าง Kubernetes และ Docker Swarms

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

แต่ Kubernetes มีความสามารถอื่นๆ มีเครื่องมือบันทึกและติดตามในตัวพร้อมกับกลไกการย้อนกลับอัตโนมัติ Docker Swarm ไม่สามารถย้อนกลับอัตโนมัติและปรับขนาดอัตโนมัติเช่น Kubernetes

4. การปรับใช้แอปพลิเคชันบนโฮสต์แตกต่างจากการปรับใช้บนคอนเทนเนอร์อย่างไร

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

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

5. คุณเข้าใจอะไรจากการจัดเรียงคอนเทนเนอร์? ทำไมคุณถึงต้องการมัน?

สมมติว่ามีไมโครเซอร์วิส 4-5 ตัวสำหรับแอปพลิเคชัน ตอนนี้ microservices เหล่านี้จะอยู่ในแต่ละคอนเทนเนอร์ ดังนั้นต้องมีการประสานคอนเทนเนอร์เพื่อให้บริการสามารถสื่อสารระหว่างกันและทำงานร่วมกันเพื่อตอบสนองความต้องการของเซิร์ฟเวอร์ได้ กระบวนการนี้เหมือนกับวงดนตรีออร์เคสตราที่บรรเลงเครื่องดนตรีต่างๆ อย่างกลมกลืนเพื่อประกอบเป็นองค์ประกอบ

6. Kubelet คืออะไร?

Kubelet เป็นบริการตัวแทนที่เรียกใช้พ็อด พ็อดไม่ได้เป็นเพียงกลุ่มของคอนเทนเนอร์ที่ใช้งานบนโฮสต์เดียวกันหรือมีทรัพยากรทั่วไปบางอย่าง เช่น IP เดียว วอลุ่ม ฯลฯ kubelet ทำงานบนคำอธิบายของคอนเทนเนอร์เหล่านี้ที่มีให้ใน PodSpec จุดประสงค์หลักคือการรันบนโหนดแต่ละโหนด ตรวจสอบให้แน่ใจว่าคอนเทนเนอร์ทำงานได้ดีและทำงานอยู่ และเปิดใช้งานการสื่อสารระหว่างโหนดหลักและโหนดของผู้ปฏิบัติงาน

อ่าน: คำถามและคำตอบสัมภาษณ์เต็มกอง

7. บทบาทของคลัสเตอร์ใน Kubernetes คืออะไร?

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

  • ไฟล์การปรับใช้มีการกำหนดค่าทั้งหมดที่จะป้อนเข้าสู่บริการคลัสเตอร์
  • ไฟล์การปรับใช้ถูกป้อนเข้าสู่ API
  • ตอนนี้ บริการคลัสเตอร์กำหนดเวลาพ็อดในสภาพแวดล้อม
  • บริการคลัสเตอร์ยังช่วยให้มั่นใจว่าจำนวนพ็อดกำลังทำงานอยู่

ดังนั้น คลัสเตอร์ Kubernetes จึงประกอบด้วย API, โหนดผู้ปฏิบัติงาน และกระบวนการ Kubelet ของโหนดโดยพื้นฐานแล้ว

8. Kubectl ใช้ทำอะไร?

Kubectl เป็นเครื่องมือสำหรับควบคุมคลัสเตอร์ Kubernetes อันที่จริง "ctl" ย่อมาจากการควบคุม เป็นอินเทอร์เฟซบรรทัดคำสั่งที่ให้คุณส่งคำสั่งไปยังคลัสเตอร์และจัดการคอมโพเนนต์ Kubernetes

9. กำหนด Google Container Engine

Google Container Engine (GKE) เป็นแพลตฟอร์มการจัดการที่รองรับคอนเทนเนอร์ Docker และคลัสเตอร์ที่ทำงานภายในบริการคลาวด์สาธารณะของ Google มันเป็นเอ็นจิ้นโอเพ่นซอร์สที่ใช้ Kubernetes

10. อธิบายการใช้โหนดใน Kubernetes

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

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

11. องค์ประกอบหลักสองประการของสถาปัตยกรรม Kubernetes คืออะไร?

โหนดหลักและโหนดผู้ปฏิบัติงานประกอบขึ้นเป็นสถาปัตยกรรม Kubernetes ส่วนประกอบทั้งสองมีบริการในตัวหลายอย่างในตัว ตัวอย่างเช่น องค์ประกอบหลักมี kube-controller-manager, kube-scheduler, etcd และ kube-apiserver โหนดผู้ปฏิบัติงานมีบริการต่างๆ เช่น คอนเทนเนอร์รันไทม์ kubelet และ kube-proxy ที่ทำงานอยู่บนแต่ละโหนด

อ่าน: ตอบคำถามสัมภาษณ์และคำตอบ

12. กำหนด kube-apiserver และ kube-scheduler

Kube-apiserver คือส่วนหน้าของแผงควบคุมโหนด maser ที่แสดงส่วนประกอบ API ทั้งหมด มันสร้างการสื่อสารระหว่างโหนด Kubernetes และส่วนประกอบหลัก kube-scheduler จัดการปริมาณงานของโหนดผู้ปฏิบัติงาน ติดตามการใช้ทรัพยากรเพื่อให้แน่ใจว่าการจัดกำหนดการเสร็จสิ้นบนโหนดที่เหมาะสม

13. อธิบายสั้นๆ เกี่ยวกับบทบาทของ Kubernetes Controller Manager

ใน Kubernetes กระบวนการต่างๆ กำลังทำงานอยู่บนมาสเตอร์โหนด และถูกคอมไพล์เข้าด้วยกันในรูปแบบของ Kubernetes Controller Manager เป็น daemon ที่ฝังตัวควบคุม รวมถึงสิ่งต่อไปนี้:

  • Node Controller: จัดการสถานะ เช่น การสร้าง การอัปเดต และการลบโหนด
  • Replication Controller: รักษาพ็อดสำหรับออบเจ็กต์การจำลองทั้งหมด
  • บัญชีบริการและตัวควบคุมโทเค็น: เกี่ยวข้องกับบัญชีเริ่มต้นและโทเค็นการเข้าถึง API สำหรับเนมสเปซใหม่
  • ตัวควบคุมปลายทาง: ดูแลวัตถุปลายทาง (พ็อดและบริการ)
  1. ตัวจัดการตัวควบคุมระบบคลาวด์ทำอะไรได้บ้าง

Cloud Controller Manager (CCM) เป็นภูตที่อนุญาตให้ฝังลูปการควบคุมเฉพาะบนคลาวด์ มันสรุปรหัสผู้ขายเฉพาะระบบคลาวด์จากรหัส Kubernetes หลัก นอกจากนี้ยังช่วยจัดการการสื่อสารด้วยบริการคลาวด์พื้นฐาน การออกแบบใช้กลไกปลั๊กอิน ซึ่งหมายความว่าผู้จำหน่ายระบบคลาวด์รวมโค้ดของตนกับ CCM โดยใช้ปลั๊กอิน

15. หน้าที่ของตัวโหลดบาลานซ์คืออะไร?

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

Internal Load Balancer สามารถปรับสมดุลโหลดและจัดสรรการกำหนดค่าที่จำเป็นให้กับพ็อดได้โดยอัตโนมัติ ในทางกลับกัน External Load Balancer จะนำทางการรับส่งข้อมูลภายนอกไปยังแบ็กเอนด์พ็อด ใน Kubernetes วิธีการปรับสมดุลโหลดสองวิธีทำงานผ่านคุณสมบัติ kube-proxy

16. คุณจะเรียกใช้ Kubernetes ในเครื่องได้อย่างไร?

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

17. Heapster คืออะไร?

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

18. ETCD ใน Kubernetes คืออะไร?

Etcd เป็นที่เก็บการกำหนดค่า สถานะ และข้อมูลเมตาของคลัสเตอร์ Kubernetes มันถูกเขียนด้วยภาษาโปรแกรม Go และแสดงถึงสถานะคลัสเตอร์ ณ จุดที่กำหนดในเวลา ที่เก็บข้อมูลนี้ทำหน้าที่เป็นแกนหลักของระบบแบบกระจาย

19. คุณเข้าใจอะไรจากการเฝ้าติดตามทรัพยากรคอนเทนเนอร์

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

  • กราฟานา
  • Heapster
  • InfluxDB
  • CAAdvisor
  • โพรมีธีอุส
  1. คุณจะมั่นใจในความปลอดภัยของสภาพแวดล้อมของคุณในขณะที่ใช้ Kubernetes ได้อย่างไร

คุณสามารถปฏิบัติตามและใช้มาตรการรักษาความปลอดภัยต่อไปนี้ในขณะที่ใช้ Kubernetes:

  • จำกัดการเข้าถึง ETCD
  • จำกัดการเข้าถึงโดยตรงไปยังโหนด
  • กำหนดโควตาทรัพยากร
  • ทุกอย่างควรถูกบันทึกในสภาพแวดล้อมการผลิต
  • ใช้รูปภาพจากที่เก็บที่ได้รับอนุญาต
  • สร้างกฎเกณฑ์และนโยบายที่เข้มงวดสำหรับทรัพยากร
  • ดำเนินการสแกนความปลอดภัยและช่องโหว่อย่างต่อเนื่อง
  • ใช้การอัปเดตความปลอดภัยเป็นประจำ

รับ หลักสูตรการพัฒนาซอฟต์แวร์ จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว

ห่อ

ในบทความนี้ เราได้กล่าวถึง คำถามสัมภาษณ์ที่สำคัญของ Kubernetes เพื่อช่วยให้คุณบรรลุเป้าหมายในอาชีพการงานของคุณ ดังนั้น รับความท้าทายในการเรียนรู้ และอย่าลืมทบทวน!

หากคุณต้องการเรียนรู้และเชี่ยวชาญ Kubernetes, DevOps และอื่นๆ ให้ตรวจสอบ IIIT-B & upGrad's Executive PG Program ใน Full Stack Software Development Program

เตรียมความพร้อมสู่อาชีพแห่งอนาคต

สมัครเลยตอนนี้สำหรับปริญญาโทด้านวิศวกรรมซอฟต์แวร์