fbpx

Та “Container” (Контейнер) технологийн талаар сонсож байсан уу? Орчин үед програмуудыг (apps) ажиллуулахдаа зөөврийн хайрцаг буюу Контейнер дотор багцалдаг болсон. Гэхдээ хэрэв танд ганц биш, харин 1,000 ширхэг контейнер байгаа бол яах вэ? Тэдгээрийг хэн асааж, хэн унтрааж, хэн хянах вэ?

Энд л Kubernetes (Кубернетес) буюу товчоор K8s тайзнаа гарч ирнэ.

Kubernetes гэж юу вэ?

Kubernetes (грекээр “Усан онгоцны жолоодогч” эсвэл “Удирдаач” гэсэн утгатай) нь олон зуун, мянган контейнерыг автоматаар удирдах, хуваарилах зориулалттай нээлттэй эхийн систем (open-source system) юм.

Түүхэн баримт: Kubernetes-ийг анх Google компанийн инженерүүд бүтээсэн. Google нь 10 гаруй жилийн турш өөрсдийн асар том системийг удирдахдаа “Borg” хэмээх нууц төслийг ашиглаж байсан бөгөөд үүн дээрээ суурилан Kubernetes-ийг хөгжүүлж, 2014 онд дэлхий нийтэд нээлттэй болгосон юм. Одоо үүнийг Cloud Native Computing Foundation (CNCF) хөгжүүлж байна.

Сонирхолтой нь: “K8s” гэдэг товчлол нь “K” болон “s” үсгийн хооронд 8 үсэг (ubernete) байгааг илэрхийлдэг.

Яагаад бидэнд хэрэгтэй вэ? (Асуудал ба Шийдэл)

Жишээгээр тайлбарлая:

  • Хуучин арга: Та нэг компьютер дээр програм суулгаад, тэр нь гацвал өөрөө очиж “Restart” хийх хэрэгтэй болдог байв.
  • Орчин үеийн асуудал: Facebook, Netflix шиг том компаниуд секундэд сая сая хэрэглэгчдэд үйлчилдэг. Тэдэнд нэг сервер биш, мянга мянган сервер, сая сая контейнер хэрэгтэй. Үүнийг хүн гараар удирдах боломжгүй.
  • Kubernetes-ийн шийдэл: Тэр яг л Найрал хөгжмийн удирдаач (Conductor) шиг ажилладаг. Тэр хөгжимчин бүрийг (контейнер) хэзээ тоглох, хэзээ зогсох, хэр чанга дуугарахыг удирддаг. Хэрэв нэг хөгжимчин гэнэт өвдвөл (гацвал), Удирдаач тэр даруй өөр хөгжимчнөөр сольдог.

Үндсэн бүрэлдэхүүн хэсгүүд (Core Concepts)

Kubernetes нь хэд хэдэн чухал хэсгээс бүрдэнэ. Эдгээрийг ойлгоход хялбар болгох үүднээс зүйрлэл ашиглая:

Нэр томьёоМонгол орчуулгаЗүйрлэл (Analogy)Үүрэг
ClusterКластер (Бүлэг)Бүхэл бүтэн “Хөгжмийн хамтлаг”Kubernetes-ийн удирдаж буй бүх компьютерүүдийн нэгдэл.
NodeЗангилаа (Node)Нэг “Хөгжимчин”Програмыг ажиллуулж буй бодит компьютер (Server) эсвэл Виртуал машин.
PodПод (Pod)“Хөгжмийн зэмсэг”Kubernetes-ийн хамгийн бага нэгж. Нэг Под дотор нэг эсвэл хэд хэдэн Container байрлана.
Control PlaneУдирдлагын хэсэг“Удирдаачийн тархи”Кластерт юу болж байгааг хянаж, шийдвэр гаргадаг төв хэсэг.

Kubernetes-ийн “Шид” (Key Features)

Энэ систем яагаад дэлхийн стандар болсон бэ? Учир нь тэр дараах хоёр супер чадвартай:

1. Self-healing (Өөрөө өөрийгөө эмчлэх)

Хэрэв таны програм (Pod) гацах, эсвэл ажиллаж буй сервер (Node) нь эвдэрвэл Kubernetes үүнийг шууд мэдэрнэ. Тэр автоматаар шинэ Под үүсгэж, өөр эрүүл сервер рүү нүүлгэнэ.

  • Үр дүн: Систем хэзээ ч зогсохгүй, 24/7 ажиллана.

2. Auto-scaling (Автомат өргөтгэл)

Таны вэбсайт руу гэнэт маш олон хүн хандаж эхэллээ гэж бодъё (Жишээ нь: Элсэлтийн шалгалтын дүн гарах үед). Ачаалал ихсэх үед Kubernetes автоматаар нэмэлт Подуудыг хувилж (clones), ачааллыг хуваарилна. Хүмүүс сайтаас гарах үед буцаагаад цөөлнө.

  • Үр дүн: Серверийн нөөцийг хэмнэж, хэрэглэгчдэд гацахгүй үйлчилнэ.

Дүгнэлт

Kubernetes бол зүгээр нэг програм биш, энэ бол орчин үеийн үүлэн тооцооллын (Cloud Computing) “Үйлдлийн систем” юм. Та ирээдүйд DevOps инженер, Backend хөгжүүлэгч, эсвэл Cloud архитектор болохыг хүсэж байвал Kubernetes-ийг ойлгох нь зайлшгүй шаардлагатай чадвар юм.

Таны бичсэн код зүгээр нэг компьютер дээр биш, дэлхий даяар тархсан мянга мянган сервер дээр зэрэг ажиллах боломжийг Kubernetes л олгодог.

Leave a Reply