Бүтээ, Хуваалц, Хамтран ажилла

Контейнер нь Линукс үйлдлийн системийн хэрэглэгчийн орон зайн хөнгөн хувилбар бөгөөд үнэн хэрэгтээ энэ нь хамгийн бага хэмжээ юм. Гэсэн хэдий ч энэ нь бүрэн хэмжээний үйлдлийн систем хэвээр байгаа тул энэ контейнерийн чанар нь бүрэн үйлдлийн системтэй адил чухал юм. Тийм ч учраас бид удаан хугацааны туршид санал болгож байсан Red Hat Enterprise Linux (RHEL) зургууд, ингэснээр хэрэглэгчид гэрчилгээжсэн, орчин үеийн, хамгийн сүүлийн үеийн аж ахуйн нэгжийн зэрэглэлийн савтай болно. Эхлэх контейнерийн зургууд (контейнерийн зургууд) RHEL контейнер хостууд дээрх RHEL нь орчин хооронд нийцтэй, зөөвөрлөх боломжийг олгодог бөгөөд эдгээр нь аль хэдийн танил болсон хэрэгслүүд гэдгийг дурдахгүй. Гэсэн хэдий ч нэг асуудал байсан. Та Red Hat Enterprise Linux-ийг ажиллуулж байгаа үйлчлүүлэгч эсвэл түнш байсан ч гэсэн тэр зургийг өөр хүнд зүгээр л шилжүүлж болохгүй.

Бүтээ, Хуваалц, Хамтран ажилла

Харин одоо бүх зүйл өөрчлөгдсөн

Red Hat Universal Base Image (UBI) гарснаар та захиалгатай эсэхээс үл хамааран албан ёсны Red Hat чингэлэг зургуудаас хүлээж байсан найдвартай байдал, аюулгүй байдал, гүйцэтгэлийг авах боломжтой боллоо. Энэ нь та UBI дээр чингэлэгжүүлсэн аппликейшн бүтээж, өөрийн сонгосон контейнерийн бүртгэлд оруулж, дэлхийтэй хуваалцах боломжтой гэсэн үг юм. Red Hat Universal Base Image нь танд хүссэн орчинд, ямар ч орчинд контейнержүүлсэн программ үүсгэх, хуваалцах, хамтран ажиллах боломжийг олгоно.

Бүтээ, Хуваалц, Хамтран ажилла

UBI-ийн тусламжтайгаар та бараг ямар ч дэд бүтцэд програмуудаа нийтэлж, ажиллуулж болно. Гэхдээ хэрэв та тэдгээрийг Red Hat OpenShift, Red Hat Enterprise Linux зэрэг Red Hat платформ дээр ажиллуулбал нэмэлт үр өгөөж авах боломжтой (илүү алт!). Мөн бид UBI-ийн дэлгэрэнгүй тайлбар руу шилжихээсээ өмнө RHEL-ийн захиалга яагаад хэрэгтэй вэ гэсэн товч асуултуудыг өгье. Тэгэхээр RHEL/OpenShift платформ дээр UBI дүрсийг ажиллуулахад юу болох вэ?

Бүтээ, Хуваалц, Хамтран ажилла

Одоо бид маркетингдаа сэтгэл хангалуун байгаа тул UBI-ийн талаар илүү дэлгэрэнгүй ярилцъя

UBI ашиглах шалтгаанууд

UBI танд ашигтай гэдгийг мэдэхийн тулд танд ямар санагдах ёстой вэ?

  • Миний хөгжүүлэгчид ямар ч орчинд тарааж, ажиллуулж болох контейнерийн зургийг ашиглахыг хүсч байна
  • Манай баг Үйл ажиллагаа Байгууллагын түвшний амьдралын мөчлөг бүхий дэмжигдсэн үндсэн дүрсийг хүсч байна
  • Миний архитекторууд санал болгохыг хүсч байна Kubernetes оператор миний үйлчлүүлэгчид/эцсийн хэрэглэгчдэд
  • Миний үйлчлүүлэгчид Тэд Red Hat-ийн орчинг бүхэлд нь аж ахуйн нэгжийн түвшний дэмжлэгээр хийсгэхийг хүсэхгүй байна
  • миний нийгэмлэг чингэлэг программуудыг хаа сайгүй хуваалцах, ажиллуулах, нийтлэхийг хүсдэг

Хэрэв хувилбаруудын дор хаяж нэг нь танд тохирсон бол UBI-г заавал үзэх хэрэгтэй.

Энгийн дүр төрхөөс илүү

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

  1. Гурван үндсэн зургийн багц (ubi, ubi-minimal, ubi-init)
  2. Төрөл бүрийн програмчлалын хэл (nodejs, ruby, python, php, perl гэх мэт) ашиглахад бэлэн орчинтой зургууд.
  3. Хамгийн түгээмэл хамаарал бүхий YUM репозитор дахь холбогдох багцуудын багц

Бүтээ, Хуваалц, Хамтран ажилла

UBI нь үүлний оригиналь болон вэб программуудын үндэс болгон бүтээгдэж, контейнерт хүргэгдсэн. UBI дахь бүх контент нь RHEL-ийн дэд хэсэг юм. UBI дахь бүх багцуудыг RHEL сувгаар дамжуулдаг бөгөөд OpenShift, RHEL зэрэг Red Hat дэмждэг платформ дээр ажиллах үед RHEL-тэй адилаар дэмжигддэг.

Бүтээ, Хуваалц, Хамтран ажилла

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

Шинэчлэлийн ачааллыг хөнгөвчлөхийн тулд Red Hat нь UBI 7-г RHEL 8 хостууд дээр, UBI 8 нь RHEL 7 хостууд дээр ажиллах боломжтой болгохын тулд идэвхтэй хөгжүүлж, дэмжиж байна. Энэ нь хэрэглэгчдэд уян хатан байдал, өөртөө итгэх итгэл, амар амгаланг өгдөг. Процессын явцад тэдэнд хэрэгтэйг санаарай. жишээлбэл, контейнерийн зураг эсвэл ашигласан хостууд дахь платформын шинэчлэлтүүд. Одоо энэ бүгдийг бие даасан хоёр төсөлд хувааж болно.

Гурван үндсэн зураг

Бүтээ, Хуваалц, Хамтран ажилла

Хамгийн бага – бүх хамаарал бүхий програмуудад зориулагдсан (Python, Node.js, .NET гэх мэт)

  • Урьдчилан суулгасан контентын хамгийн бага багц
  • Гүйцэтгэх файл байхгүй
  • Хамгийн бага багц менежерийн хэрэгслүүд (суулгах, шинэчлэх, устгах)

Платформ – RHEL дээр ажиллаж байгаа аливаа програмд ​​зориулагдсан

  • OpenSSL нэгдсэн криптографийн стек
  • Бүрэн YUM ​​стек
  • Ашигтай үндсэн үйлдлийн системийн хэрэгслүүд (tar, gzip, vi гэх мэт) багтсан болно.

Олон үйлчилгээ – нэг саванд олон үйлчилгээг ажиллуулахад хялбар болгодог

  • Системийг эхлүүлэх үед ажиллуулахаар тохируулсан
  • Үйлчилгээг бүтээх үе шатанд идэвхжүүлэх чадвар

Бэлэн програмчлалын хэлний ажиллах орчин бүхий контейнер зураг

Програмчлалын хэлний дэмжлэгийг суулгах боломжийг олгодог үндсэн зургуудаас гадна UBI-ууд нь хэд хэдэн програмчлалын хэлнүүдэд зориулсан бэлэн ажиллах орчин бүхий урьдчилан бүтээгдсэн зургуудыг агуулдаг. Олон хөгжүүлэгчид зүгээр л зургийг шүүрэн авч, өөрсдийн боловсруулж буй програм дээр ажиллаж эхлэх боломжтой.

UBI-г эхлүүлснээр Red Hat нь RHEL 7 болон RHEL 8 дээр суурилсан хоёр багц зургийг санал болгож байна. Тэдгээр нь Red Hat програм хангамжийн цуглуулга (RHEL 7) болон Хэрэглээний урсгал (RHEL 8) дээр суурилагдсан. Эдгээр ажиллах хугацаа нь шинэчлэгдэж, жилд XNUMX хүртэлх шинэчлэлтийг стандарт болгон хүлээн авдаг тул та үргэлж хамгийн сүүлийн үеийн, хамгийн тогтвортой хувилбаруудыг ажиллуулдаг.

UBI 7 контейнерийн зургийн жагсаалт энд байна:

Бүтээ, Хуваалц, Хамтран ажилла

UBI 8-д зориулсан контейнер зургийн жагсаалт энд байна:

Бүтээ, Хуваалц, Хамтран ажилла

Холбоотой багцууд

Бэлэн зураг ашиглах нь үнэхээр тохиромжтой. Red Hat нь тэдгээрийг шинэчилж, RHEL-ийн шинэ хувилбар гаргах, мөн шинэчлэлтийн бодлогын дагуу чухал CVE шинэчлэлтүүд гарах үед шинэчилдэг. RHEL зургийн бодлого Ингэснээр та эдгээр зургийн аль нэгийг аваад програм дээр ажиллаж эхлэх боломжтой.

Бүтээ, Хуваалц, Хамтран ажилла

Гэхдээ заримдаа програм үүсгэх үед танд нэмэлт багц хэрэгтэй болно. Эсвэл заримдаа програмыг ажиллуулахын тулд нэг эсвэл өөр багцыг шинэчлэх шаардлагатай болдог. Тийм ч учраас UBI зургууд нь yum-аар дамжуулан авах боломжтой, хурдан бөгөөд өндөр хүртээмжтэй контент хүргэх сүлжээг ашиглан түгээдэг RPM-ийн багцтай ирдэг (та багцыг авсан!). Та CI/CD дээрээ yum шинэчлэлтийг тухайн чухал хувилбарын цэг дээр ажиллуулах үед энэ нь ажиллах болно гэдэгт итгэлтэй байж болно.

RHEL бол үндэс суурь юм

RHEL бол бүх зүйлийн үндэс гэдгийг бид давтахаас залхдаггүй. Red Hat-ийн аль багууд үндсэн зургийг бүтээхээр ажилладагийг та мэдэх үү? Жишээлбэл, эдгээр:

  • Инженерийн баг нь glibc болон OpenSSL зэрэг үндсэн номын сангууд, мөн Python, Ruby зэрэг хэлний ажиллах хугацаа нь тогтмол гүйцэтгэлийг хангаж, контейнерт ашиглах үед ажлын ачааллыг найдвартай ажиллуулах үүрэгтэй.
  • Бүтээгдэхүүний аюулгүй байдлын баг нь номын сан, хэлний орчин дахь алдаа, аюулгүй байдлын асуудлыг цаг тухайд нь засах үүрэгтэй бөгөөд тэдний ажлын үр нөлөөг тусгай индекс ашиглан үнэлдэг. Контейнерийн эрүүл мэндийн индексийн зэрэг.
  • Бүтээгдэхүүний менежерүүд болон инженерүүдээс бүрдсэн баг шинэ боломжуудыг нэмж, бүтээгдэхүүний урт хугацааны ашиглалтын хугацааг баталгаажуулж, хөрөнгө оруулалтаа үргэлжлүүлэх итгэлийг танд өгөх зорилготой.

Red Hat Enterprise Linux нь чингэлэгт зориулсан маш сайн хост болон дүрсийг бүтээдэг боловч олон хөгжүүлэгчид системтэй олон төрлийн форматаар ажиллах чадварыг үнэлдэг бөгөөд тэдгээрийн зарим нь Линукс системийн дэмжигдсэн хэрэглээнээс гадуур байж болно. Энд бүх нийтийн UBI зургууд аврах ажилд ирдэг.

Яг одоо, энэ үе шатанд та энгийн контейнерт суулгасан програм дээр ажиллаж эхлэх үндсэн зургийг хайж байна гэж бодъё. Эсвэл та ирээдүйдээ аль хэдийн ойртож, чингэлэгийн хөдөлгүүр дээр ажилладаг бие даасан чингэлэгээс OpenShift дээр ажиллаж байгаа Операторуудыг байгуулж, баталгаажуулах замаар үүлд суурилсан түүх рүү шилжиж байна уу? Ямар ч тохиолдолд UBI үүнд маш сайн үндэс суурь өгөх болно.

Бүтээ, Хуваалц, Хамтран ажилла

Контейнерууд нь үйлдлийн системийн хэрэглэгчийн зайны хөнгөн хувилбарыг шинэ савлагааны форматаар агуулдаг. UBI зургуудыг гаргасан нь чингэлэгжүүлсэн хөгжүүлэлтийн салбарын шинэ стандартыг тогтоож, аж ахуйн нэгжийн зэрэглэлийн контейнеруудыг ямар ч хэрэглэгч, бие даасан програм хангамж хөгжүүлэгчид болон нээлттэй эхийн нийгэмлэгүүдэд ашиглах боломжтой болгодог. Ялангуяа, програм хангамж хөгжүүлэгчид өөрсдийн бүх саванд хийсэн хэрэглээнд зориулсан баталгаатай цорын ганц суурийг ашиглан бүтээгдэхүүнээ стандартчилах боломжтой. Kubernetes операторууд. UBI-г ашигладаг хөгжүүлэлтийн компаниуд Red Hat Container Certification болон Red Hat OpenShift Operator Certification-д хамрагдах боломжтой бөгөөд энэ нь эргээд OpenShift зэрэг Red Hat платформ дээр ажиллаж байгаа програм хангамжийг тасралтгүй шалгах боломжийг олгодог.

Бүтээ, Хуваалц, Хамтран ажилла

Зурагтай хэрхэн ажиллаж эхлэх вэ

Товчхондоо, энэ нь маш энгийн. Podman нь зөвхөн RHEL дээр төдийгүй Fedora, CentOS болон бусад хэд хэдэн Linux түгээлтүүд дээр байдаг. Дараах хадгалах сангуудын аль нэгээс зургийг татаж авахад л хангалттай.

UBI 8-ийн хувьд:

podman pull registry.access.redhat.com/ubi8/ubi
podman pull registry.access.redhat.com/ubi8/ubi-minimal
podman pull registry.access.redhat.com/ubi8/ubi-init

UBI 7-ийн хувьд:

podman pull registry.access.redhat.com/ubi7/ubi
podman pull registry.access.redhat.com/ubi7/ubi-minimal
podman pull registry.access.redhat.com/ubi7/ubi-init

За, бүх нийтийн үндсэн зургийн гарын авлагыг үзээрэй

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх