Docker vs Kubernetes: давуу ба сул талууд

Докер ба Кубернетес

La виртуалчлах нь нийтлэг практик болжээ, ялангуяа үүлний үйлчилгээнд дата төвүүдийн серверүүдээс илүү ихийг олж авах боломжтой байх. Гэхдээ сүүлийн үед контейнер дээр суурилсан виртуалчлал нь илүү үр дүнтэй менежмент хийх боломжийг олгодог тул зарим нэг үйл явцыг давтах шаардлагагүй болсон. Яг энэ оргил үед Докер ба Кубернетес нарын тулаанууд эхэлж байна.

Магадгүй та аль хэдийн мэддэг маш алдартай хоёр төсөл. Хоёулаа түүний давуу болон сул талууд, мөн ялгаатай энэ нь таны хэрэгцээнд нийцсэн төсөл сонгоход туслахад чухал түлхүүр байж болох юм ...

Контейнер дээр суурилсан виртуалчлал гэж юу вэ?

контейнерууд болон виртуалчлал

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

  • Виртуал машинууд- Энэ бол хүрэхэд төвлөрсөн виртуалчлалын арга юм. Энэ нь гипервизор, жишээлбэл KVM, Xen эсвэл VMWare, VirtualBox гэх мэт програмууд дээр суурилдаг. Энэхүү програм хангамжийн тусламжтайгаар бүрэн физик машин (vCPU, vRAM, дискний хөтчүүд, виртуал сүлжээ, захын төхөөрөмжүүд гэх мэт) дуурайдаг. Тиймээс энэ виртуал техник хангамж дээр үйлдлийн систем (зочин) суулгаж болох бөгөөд тэндээс програмыг хост үйлдлийн системд хийж байсантай ижил аргаар суулгаж ажиллуулж болно.
  • Савнууд: энэ нь илүү бүрэн гүйцэд бөгөөд зөөврийн болон нэмэлт аюулгүй байдлын зарим давуу талуудтай (энэ нь эмзэг зүйлгүй ч гэсэн) энэхүү иж бүрэн системийн зарим хэсгээс татгалзаж болохуйц нэг төрлийн тор эсвэл элс хайрцгийг нэгтгэсэн өөр технологи юм. . Үнэн хэрэгтээ, гипервизортой байхын оронд эдгээр тохиолдолд Docker, Kubernetes гэх мэт програмууд байдаг бөгөөд энэ нь хост системийг өөрөө тусгаарлагдсан програмуудыг ажиллуулахад ашигладаг. Сул тал бол энэ нь зөвхөн хост үйлдлийн системээс эх програмуудыг ашиглах боломжийг танд олгоно. Жишээлбэл, VM дээр та Linux-ийн дистрибьютер дээр Windows-ийг виртуалчлах боломжтой бөгөөд Windows дээр үүнд зориулж ямар ч төрөлх програмыг ажиллуулж болно, саванд үүнийг зөвхөн хост системийн дэмждэг програмуудаар хийж болно. Linux-тэй холбоотой хэрэг ...

-Ийн өргөтгөл эсвэл дэмжлэг гэдгийг санаарай тоног төхөөрөмжийн виртуалчлал, Intel VT ба AMD-V нь CPU-ийн зөвхөн 2% нэмэгдэл зардлыг тооцож гүйцэтгэлийг нэлээд сайжруулж чадсан тул. Гэхдээ энэ нь бусад виртуалчлалд зориулагдсан санах ой эсвэл хадгалах сан гэх мэт бусад эх үүсвэрүүдэд хамаарахгүй бөгөөд энэ нь нөөцийн хувьд нэлээд шаардагдана гэсэн үг юм.

Энэ бүхэн нь контейнерууд шийдэгдэх зүйл юм тодорхой үйл явцыг хуулбарлах шаардлагагүй програм байрлуулах боломжтой байх. Жишээлбэл, хэрэв та Apache сервер бүхий контейнерыг бүрэн виртуал машинаар бүтээхийг хүсвэл хост үйлдлийн систем, гипервизор, зочин үйлдлийн систем, тухайн үйлчилгээнд зориулсан програм хангамжтай болно. Нөгөөтэйгүүр, контейнерын хувьд та зөвхөн уг үйлчилгээг тусад нь "хайрцагт" ажиллуулж, хост үйлдлийн системийг өөрөө ашиглаж байгаа тул зөвхөн уг програмыг хэрэгжүүлдэг програм хангамжтай байх шаардлагатай. Үүнээс гадна, зочин үйлдлийн системээс хасах замаар програмыг ажиллуулах нь илүү хурдан болно.

Docker гэж юу вэ?

Docker

Docker нь Apache лицензийн дагуу Go програмчлалын хэл дээр бичигдсэн бөгөөд контейнер доторх програмуудыг автоматжуулахад ашигладаг нээлттэй эхийн төсөл юм. Өөрөөр хэлбэл, энэ програм нь хэд хэдэн платформ дээр ажилладаг тул өөр өөр үйлдлийн систем дээрх контейнеруудыг удирдах боломжийг танд олгоно.

Докер гарч ирэхэд олон давуу талтай байсан, мөн энэ нь хурдан тархсан. Үйлдлийн системийн алсын хараа, энгийн байдал нь контейнеруудыг програмаар бүтээх, хэрэгжүүлэх, масштабтай болгох, хурдан гүйцэтгэх боломжийг олгосон. Танд хэрэгтэй бүх програмыг хамгийн бага нөөцийг зарцуулах замаар эхлүүлэх арга.

Дүгнэж хэлэхэд Докер дараахь зүйлийг санал болгож байна боломжууд түлхүүр:

  • Хүрээлэн буй орчноос тусгаарлах.
  • Савны менежмент.
  • Хувилбарын хяналт.
  • Байршил / ойролцоо байдал.
  • Уян хатан байдал.
  • Бүтээмж
  • Үр ашиг.

Гэхдээ тодорхой асуудалгүй байсанЭдгээр чингэлэгүүд хоорондоо харилцан уялдаатай байх хэрэгтэй байсан шиг. Энэ нь Кубернетесийг бий болгоход хүргэсэн нэг шалтгаан байв ...

Дараа нь тайлбар хийх болно Docker SwarmЭнэ нь контейнеруудыг зохион байгуулахаас гадна Docker-ийн цуврал хостуудыг кластерт нэгтгэж, кластеруудыг төвлөрүүлэн удирдах чадвартай байхын тулд ижил Docker хөгжүүлэгчдийн бүтээсэн програм хангамж юм гэж би хэлмээр байна.

Docker-ийн тухай дэлгэрэнгүй

Кубернет гэж юу вэ?

Kubernetes

Анх үүнийг Google бүтээсэн бөгөөд дараа нь Cloud Native Computing санд хандивласан. Kubernetes Энэ нь мөн Docker-тэй төстэй систем бөгөөд нээлттэй эх сурвалжтай, Apache-ийн лицензтэй, Go програмчлалын хэлээр бичигдсэн байдаг. Энэ нь чингэлэгтэй програмуудыг байрлуулах, удирдах ажлыг автоматжуулахад ашиглагддаг. Нэмж дурдахад энэ нь контейнер ажиллуулах өөр орчин, түүний дотор Docker-ийг дэмждэг.

Эцэст нь Кубернетес бол a найруулгын платформ янз бүрийн машинуудын янз бүрийн контейнерууд, тэдгээрийн менежмент, тэдгээрийн хооронд ачаа хуваарилахад туслах үүрэг бүхий контейнер. Ялангуяа энэ төслийг энэ төрлийн хувилбаруудад зайлшгүй чухал хэсэг болгосон байгууллага юм ...

  • Автомат хуваарь.
  • Өөрийгөө эмчлэх чадвар.
  • Автоматжуулалт, байршуулалт.
  • Ачааллын тэнцвэржүүлэлт ба хэвтээ хуваарь.
  • Нөөцийн ашиглалтын өндөр нягтрал.
  • Бизнесийн орчинд чиглэсэн чиг үүрэг.
  • Хэрэглээний төвлөрсөн менежмент.
  • Өөрийгөө өргөтгөх боломжтой дэд бүтэц.
  • Тунхаглалын тохиргоо.
  • Найдвартай байдал.

Кубернетесийн талаар дэлгэрэнгүй

Докер ба Кубернетес

Докер ба Кубернетес

Тодорхойлолтоос харахад хоёулаа олон талаараа хоорондоо маш төстэй боловч танд байгаа тэдгээрийн ялгаа, давуу болон сул талуудтай байх бүх зүйл шиг. Зорилгоосоо хамааран эдгээр нарийн ширийн зүйлийг мэдэхийн тулд алийг нь сонгохоо мэдэх бүх зүйл танд байгаа гэж бодож магадгүй юм.

Гэсэн хэдий ч асуудал энэ нь үүнээс илүү төвөгтэй зүйл юм. Энэ нь Docker vs Kuernetes-ийн тухай биш юм, учир нь энэ нь тэс өөр зүйлүүдийг харьцуулахтай адил байх тул та нэгийг нь сонгоод нэгийг нь сонгох ёстой гэсэн алдаанд орох болно. Docker vs Kubernetes-ийн үр дүн утгагүй юм, харин чингэлэг програмуудыг илүү сайн хүргэх, өргөжүүлэхийн тулд та хоёулаа хоёуланг нь хоёуланг нь холбох хэрэгтэй.

Хамгийн тохиромжтой нь харьцуулах болно Кубернетстэй хамт докерын сүрэг. Docker Swarm бол контейнер кластеруудыг бий болгох Docker оркестр технологи тул илүү амжилттай болох болно. Хэдийгээр тэр үед ч гэсэн энэ нь бүрэн амжилтанд хүрэхгүй байх байсан ... Үнэндээ Кубернетес нь кластерт ажиллахаар зохион бүтээгдсэн бөгөөд үйлдвэрлэлийн хэмжээнд зангилааны кластеруудыг үр дүнтэй зохицуулах чадвартай байсан бол Докер үүнийг нэг горимд хийдэг.

Docker ба Kubernetes-ийн ялгаа

Хэрэв та мэдэхийг хүсвэл өөр өөр зүйлийг хадгалах ялгаа Docker Swarm ба Kubernetes-ийн хооронд тэд дараахь зүйлийг хийх болно.

  • Кубернет нь дараахь олон сонголтыг агуулдаг өөрчлөн тохируулах Docker Swarm-т дутагдаж байна.
  • Docker Swarm бол илүү хялбар хялбар байдлаас шалтгаалан тохируулах. Нэмж дурдахад Docker экосистемд нэгтгэх нь илүү хялбар байдаг.
  • Үүний оронд Алдааг тэсвэрлэх чадвар Kubernetes нь илүү өндөр байдаг бөгөөд энэ нь өндөр боломжтой серверүүд гэх мэт орчинд илүү эерэг нөлөө үзүүлдэг.
  • Docker Swarm бол илүү хурдан чингэлэг байрлуулах, өргөтгөх талаар.
  • Kubernetes нь хэсэгчлэн санал болгодог илүү их баталгаа кластер мужуудад.
  • El ачааллыг тэнцвэржүүлэх Kubernetes-д энэ нь тэнцвэрийг сайжруулах боломжийг олгодог боловч Docker-тэй адил автомат биш юм.
  • Кубернетэс санал болгож байна илүү сайн уян хатан байдал, нарийн төвөгтэй програмуудад ч гэсэн.
  • Docker Swarm нь 2000 оныг хүртэл дэмжих болно зангилаа, Kubernetes дээр 5000 байсан.
  • Кубернет бол оновчтой олон жижиг кластеруудад, харин Dockers бол том кластерт зориулагдсан болно.
  • Кубернет бол төвөгтэй, Энгийн докер.
  • Кубернетс зөвшөөрч болно хадгалах зайг хуваалцах ямар ч савны хооронд, харин Docker нь илүү хязгаарлагдмал бөгөөд зөвхөн нэг хайрцагт байгаа савны хооронд хуваагдана.
  • Docker Swarm нь ашиглах боломжийг олгодог гуравдагч талын програм бүртгэх, хянах зорилгоор Kubernetes нь өөрийн суурилуулсан хэрэгслийг багтаасан болно.
  • Docker Swarm нь 95.000 тоогоор хязгаарлагддаг савнууд, харин Кубернетэс 300.000 хүртэл дэмжих боломжтой.
  • Docker-д a олон нийтийн Кубернетес нь Microsoft, Amazon, Google, IBM зэрэг компаниудын дэмжлэгийг авдаг.
  • Docker ашигладаг компаниуд Spotify, Pinterest, eBay, Twitter гэх мэт. Кубернетс 9GAG, Intuit, Buffer, Evernote гэх мэтийг илүүд үздэг.

Давуу талууд

Зарим зөрөлдөөнийг үзээд одоо ээлж ирлээ давуу талууд тус бүр:

  • Kubernetes:
    • Үйлчилгээний хялбар зохион байгуулалт.
    • Google-ийн боловсруулсан, үүлний салбарт өргөн туршлагатай.
    • Олон нийтийн болон контейнер зохион байгуулах асар том хэрэгсэл.
    • Орон нутгийн SAN ба нийтийн үүл зэргийг багтаасан хадгалах төрөл бүрийн сонголтууд.
  • Docker:
    • Үр дүнтэй бөгөөд хялбар анхны тохиргоо.
    • Өөрчлөлтийг шалгахын тулд контейнерийн хувилбаруудыг дагаж мөрдөнө.
    • Хурд.
    • Маш сайн баримт бичиг.
    • Апп-ийн хоорондох сайн тусгаарлалт.

Сул талууд

Хувьд нь сул талууд:

  • Kubernetes:
    • Илүү төвөгтэй нүүдэл.
    • Суурилуулалт, тохиргооны цогц үйл явц.
    • Одоо байгаа Docker хэрэгслүүдтэй нийцэхгүй байна.
    • Гарын авлагын кластерийг хэрэгжүүлэх нь төвөгтэй юм.
  • Docker:
    • Энэ нь хадгалах сонголтыг өгдөггүй.
    • Муу хяналт.
    • Идэвхгүй зангилааны автоматаар дахин програмчлах боломжгүй.
    • Үйлдлийг CLI-д гүйцэтгэх ёстой.
    • Олон тохиолдлыг гар аргаар удирдах.
    • Танд бусад хэрэгслийг дэмжих шаардлагатай байна.
    • Гар аргаар кластер байрлуулахад хэцүү.
    • Эрүүл мэндийн үзлэгт дэмжлэг үзүүлэхгүй.
    • Docker нь ашгийн төлөө компани бөгөөд түүний чухал бүрэлдэхүүн хэсэг болох Docker Engine, Docker Desktop зэрэг нь нээлттэй эх сурвалж биш юм.

Докер ба Кубернетес: Дүгнэлт

Таны төсөөлж байгаагаар үүнийг сонгох нь тийм ч амар биш юм нэг эсвэл нөгөө хооронд. Docker vs Kubernetes-ийн тулаан нь харагдаж байгаагаас илүү төвөгтэй юм. Бүх зүйл таны тавьсан зорилгоос хамаарна. Нэг эсвэл нөгөө нь илүү тохирох бөгөөд энэ нь таны сонголт байх ёстой.

Бусад олон тохиолдолд Kubernetes-ийг Docker ашиглан ашиглах нь хамгийн сайн байх болно бүх сонголтуудаас. Хоёр төсөл хоёулаа сайн ажилладаг. Энэ нь дэд бүтцийн аюулгүй байдал, програмын хүртээмжийг сайжруулах боломжтой юм. Та програмыг илүү өргөтгөх боломжтой болгож болно.


Нийтлэлийн агуулга нь бидний зарчмуудыг баримталдаг редакцийн ёс зүй. Алдааны талаар мэдээлэхийн тулд товшино уу энд байна.

3 сэтгэгдэл, үлдээгээрэй

Сэтгэгдэлээ үлдээгээрэй

Таны и-мэйл хаяг хэвлэгдсэн байх болно. Шаардлагатай талбарууд нь тэмдэглэгдсэн байна *

*

*

  1. Мэдээллийг хариуцах: Мигель Анхель Гатан
  2. Мэдээллийн зорилго: СПАМ-ыг хянах, сэтгэгдлийн менежмент.
  3. Хууль ёсны байдал: Таны зөвшөөрөл
  4. Мэдээллийн харилцаа холбоо: Хуулийн үүргээс бусад тохиолдолд мэдээллийг гуравдагч этгээдэд дамжуулахгүй.
  5. Өгөгдөл хадгалах: Occentus Networks (ЕХ) -с зохион байгуулсан мэдээллийн сан
  6. Эрх: Та хүссэн үедээ мэдээллээ хязгаарлаж, сэргээж, устгаж болно.

  1.   хуурт гэж хэлэв

    Маш их баярлалаа ! Ихэнх тохиолдолд хамгийн тохиромжтой, сайныг сонгох нь хамаагүй илүү сайн, муу зүйл байдаггүй гэдгийг ойлгох нь надад илүү тодорхой болж байна.
    Аль хувилбарын аль нь илүү үр дүнтэй болохыг, энэ тохиолдолд тэдгээрийг хамтад нь ашиглахын тулд надад илүү тодорхой жишээ хэрэгтэй байж болох юм.
    Түүнчлэн, энэ төрлийн програм хангамжаас өөр сонголт бидэнд байгаа юу?

  2.   хуурт гэж хэлэв

    Контейнерийн талаар мэддэг болсон бид томоохон компаниудад ажиллахаа хүлээлгүйгээр бодит хэргүүдийг үзэхийн тулд юу ашиглаж болох вэ?

  3.   Эриксон Мелгарехо гэж хэлэв

    Энд ямар нэг зүйлийг буруу тодорхойлсон гэж бодож байна, докер бол контейнерийн менежер, үүнийг Оркестратортой харьцуулах боломжгүй юм.

    Харьцуулалт нь Docker Swarm vs Kubernetes-ийн хооронд байх болно.

    Энэхүү гайхамшигтай бичлэгийг хийх явцад (миний бодлоор үнэхээр сонирхолтой) бололтой, зарим нэр томъёог даван туулсан.