Анхаарна уу. орчуулга.: Анхны нийтлэлийн зохиогч нь Google Cloud Solutions Architect-ийн Тео Чамли юм. Google Cloud блогт зориулсан энэ нийтлэлд тэрээр өөрийн компаний "гэж нэрлэсэн дэлгэрэнгүй гарын авлагын хураангуйг өгдөг.
Энэ нийтлэлд бид Кубернетес дээр савыг үр дүнтэй ажиллуулахын тулд таны мэдэж байх ёстой зүйлсийн жагсаалтыг авч үзэх болно. Нарийвчилсан мэдээлэл авахыг хүсч буй хүмүүс материалыг унших хэрэгтэй
1. Төрөлхийн чингэлэг мод бэлтгэх механизмыг ашиглах
Хэрэв програм нь Kubernetes кластер дээр ажиллаж байгаа бол бүртгэлд тийм ч их зүйл хэрэггүй. Төвлөрсөн бүртгэлийн систем нь таны ашиглаж буй кластерт аль хэдийн суурилагдсан байх магадлалтай. Kubernetes Engine ашиглах тохиолдолд энэ нь хариуцлага хүлээх болно
Хэрэв хүсвэл лог бичиж болно
2. Контейнер нь харьяалалгүй, өөрчлөгдөх боломжгүй эсэхийг шалгаарай
Кубернетес кластерт контейнерууд зөв ажиллахын тулд тэдгээр нь харьяалалгүй, өөрчлөгдөх боломжгүй байх ёстой. Эдгээр нөхцөл хангагдсаны дараа Кубернетес ажлаа хийж, шаардлагатай үед, шаардлагатай үед програмын нэгжүүдийг үүсгэж устгах боломжтой.
Харьяалалгүй аливаа төлөв (ямар ч төрлийн байнгын өгөгдөл) нь савнаас гадуур хадгалагдана гэсэн үг. Үүний тулд хэрэгцээ шаардлагаас хамааран өөр өөр төрлийн гадаад санах ойг ашиглаж болно.
Хувиршгүй Энэ нь ашиглалтын хугацаанд савыг өөрчлөхгүй гэсэн үг юм: шинэчлэлт, засвар, тохиргооны өөрчлөлт байхгүй. Хэрэв та програмын кодыг шинэчлэх эсвэл засвар хийх шаардлагатай бол шинэ зураг үүсгээд байрлуулна уу. Контейнерийн тохиргоог (сонсох порт, ажиллах цагийн орчны сонголтууд гэх мэт) гаднаас шилжүүлэхийг зөвлөж байна.
Pod-д тохиргоо болгон суурилуулсан ConfigMap ашиглан Kubernetes-ийн Байршуулах тохиргоог шинэчлэх жишээ
3. Давуу эрхтэй савнаас зайлсхий
Та сервер дээрээ програмуудыг root хэлбэрээр ажиллуулдаггүй, тийм үү? Хэрэв халдагч програм руу орвол root хандалт авах болно. Давуу эрхтэй чингэлэг ажиллуулахгүй байх асуудалд мөн адил анхаарал хандуулдаг. Хэрэв та хост дээрх тохиргоог өөрчлөх шаардлагатай бол тухайн контейнерийг зааж өгч болно Боломжууд сонголтыг ашиглан securityContext
Хэрэв та кластер удирдаж байгаа бол ашиглаж болно
4. Root байдлаар ажиллахаас зайлсхий
Давуу эрхтэй контейнеруудыг аль хэдийн хэлэлцсэн боловч үүнээс гадна та контейнер доторх програмуудыг root хэлбэрээр ажиллуулахгүй бол илүү дээр байх болно. Хэрэв халдагчид код гүйцэтгэх боломжийг олгодог root эрхтэй программаас алсаас эмзэг байдлыг олсон бөгөөд үүний дараа тэр хараахан тодорхойгүй байгаа эмзэг байдлаас дамжин контейнерийг орхих боломжтой бол тэр хост дээр үндэслэгдэх болно.
Үүнээс зайлсхийх хамгийн сайн арга бол юуг ч эхэнд root болгон ажиллуулахгүй байх явдал юм. Үүнийг хийхийн тулд та удирдамжийг ашиглаж болно USER
в Dockerfile
буюу runAsUser
Кубернетес хотод. Кластерын администратор мөн ашиглан хэрэгжүүлэх үйлдлийг тохируулах боломжтой
5. Програмыг хянахад хялбар болгох
Бүртгэлийн нэгэн адил хяналт нь програмын удирдлагын салшгүй хэсэг юм. Кубернетес нийгэмлэгт түгээмэл хэрэглэгддэг хяналтын шийдэл юм
Stackdriver дээрх Kubernetes хяналтын самбар
Prometheus програм нь хэмжигдэхүүнийг HTTP төгсгөлийн цэг рүү дамжуулахыг хүлээж байна. Үүний тулд ашиглах боломжтой
6. Програмын эрүүл мэндийн байдлыг боломжтой болгох
Үйлдвэрлэл дэх хэрэглээний менежмент нь түүний төлөв байдлыг бүхэлд нь системд дамжуулах чадвараар тусалдаг. Аппликейшн ажиллаж байна уу? Зүгээр үү? Та замын хөдөлгөөнийг хүлээн авахад бэлэн үү? Тэр яаж биеэ авч яваа вэ? Энэ асуудлыг шийдэх хамгийн түгээмэл арга бол эрүүл мэндийн үзлэгт хамрагдах явдал юм (эрүүл мэндийн үзлэг). Kubernetes хоёр төрөлтэй:
Амьдрах датчикийн хувьд (амьдрах чадварыг шалгах) Програм нь ажиллагаатай бөгөөд үндсэн хамаарлууд нь хангагдсан тохиолдолд "200 OK" хариултыг буцаадаг HTTP төгсгөлийн цэгтэй байх ёстой. Бэлэн байдлыг шалгах зорилгоор (үйлчилгээний бэлэн байдлыг шалгах) Програм нь эрүүл төлөвт байгаа, эхлүүлэх алхмууд дууссан ба аливаа хүчинтэй хүсэлт алдаа гаргахгүй бол "200 OK" хариултыг буцаадаг өөр HTTP төгсгөлийн цэгтэй байх ёстой. Кубернетес эдгээр шалгалтын дагуу програм бэлэн болсон тохиолдолд л контейнер руу урсгалыг чиглүүлнэ. Амьдрах болон бэлэн байдлын төлөвийн хооронд ялгаа байхгүй бол хоёр төгсгөлийн цэгийг нэгтгэж болно.
Та энэ талаар Google-ийн хөгжүүлэгчийн өмгөөлөгч Сандип Динешийн холбогдох нийтлэлээс уншиж болно: "
7. Зургийн хувилбараа анхааралтай сонгох хэрэгтэй
Ихэнх нийтийн болон хувийн зургууд дээр тайлбарласантай төстэй шошгын системийг ашигладаг latest
зурагнаас зураг руу ойр ойрхон шилжих боломжтой - хэрэв танд урьдчилан таамаглах боломжтой, давтагдах боломжтой бүтээц, суурилуулалт шаардлагатай бол найдах боломжгүй.
Та шошгыг ашиглаж болно X.Y.Z
(тэдгээр нь бараг үргэлж өөрчлөгддөггүй), гэхдээ энэ тохиолдолд зурган дээрх бүх засварууд болон шинэчлэлтүүдийг хянаж байгаарай. Хэрэв таны хэрэглэж буй зураг шошготой бол X.Y
, энэ нь алтан дунджийн хувьд сайн сонголт юм. Үүнийг сонгосноор та засваруудыг автоматаар хүлээн авах бөгөөд нэгэн зэрэг програмын тогтвортой хувилбарт найдаж болно.
Орчуулагчийн жич
Мөн манай блог дээрээс уншина уу:
- «
Контейнер, үүлний уугуул болон Kubernetes-ийн шинэ CNCF статистик "; - «
7 Контейнерт суурилсан хэрэглээг төлөвлөх зарчим "; - «
Kubernetes-ийн хакердалтын хохирогч болох (биш) 11 арга "; - «
Жижиг төслүүдэд Кубернетестэй хийсэн бидний туршлага » (хяналт болон видео тайлан); - «
Хяналт ба Kubernetes » (хяналт болон видео тайлан); - «
Бид CI/CD-д зориулсан Docker дүрсийг dapp ашиглан хурдан бөгөөд тохиромжтой байдлаар бүтээдэг » (хяналт болон видео тайлан); - «
Docker-тэй тасралтгүй хүргэх практик » (хяналт болон видео тайлан); - «
2018 онд микро үйлчилгээний галзуугийн үхэл ".
Эх сурвалж: www.habr.com