Kubernetesти жакшыртуучу 11 курал

Kubernetesти жакшыртуучу 11 курал

Бардык сервердик платформалар, атүгүл эң күчтүү жана масштабдуу платформалар да бардык муктаждыктарды канааттандыра бербейт. Kubernetes өз алдынча сонун иштегени менен, анын толук болушу үчүн туура бөлүктөрү жетишсиз болушу мүмкүн. Сиз ар дайым муктаждыгыңызды эске албаган же Кубернетес демейки орнотууда иштебей турган өзгөчө учурду таба аласыз - мисалы, маалымат базасын колдоо же CD операциясы.

Бул жерде кеңири коомчулук тарабынан колдоого алынган бул контейнер оркестри үчүн толуктоолор, кеңейтүүлөр жана башка жакшы нерселер пайда болот. Бул макалада биз тапкан 11 эң жакшы нерсе чагылдырылат. Өзүбүзгө түштүк көпүрө алар абдан кызыктуу жана биз алар менен иш жүзүндө иштөөнү пландаштырып жатабыз - аларды бурама жана гайкаларга бөлүп, ичинде эмне бар экенин көрөбүз. Алардын айрымдары Kubernetes кластерин эң сонун толуктайт, ал эми башкалары стандарттуу Kubernetes пакетинде ишке ашырылбаган конкреттүү маселелерди чечүүгө жардам берет.

Дарбазачы: саясатты башкаруу

долбоору Ачык саясат агенти (OPA) Кубернетестеги булуттук тиркемелердин стектеринин үстүнө кирүүдөн тартып тейлөө тармагына чейин саясаттарды түзүү мүмкүнчүлүгүн берет. кайтарган Кубернетестин түпкүлүгүнө кластер боюнча автоматтык түрдө саясаттарды ишке ашыруу мүмкүнчүлүгүн берет, ошондой эле саясатты бузган ар кандай окуяларды же ресурстарды текшерүүнү камсыз кылат. Мунун баары ресурстар өзгөргөндө иштей турган Webhooks кабыл алуу менеджери болгон Kubernetesтин салыштырмалуу жаңы механизми тарабынан чечилет. Gatekeeper менен OPA саясаттары дайыма көзөмөлгө муктаж болбостон Kubernetes кластериңиздин ден соолугунун дагы бир бөлүгү болуп калат.

Тартылуу: Portable Kubernetes кластерлери

Эгер сиз Kubernetesке тиркемени жайгаштыргыңыз келсе, көптөгөн колдонмолордо бул процессти жетектеген жана автоматташтырган Helm диаграммасы бар. Бирок Kubernetes кластериңизди ошол бойдон алып, аны башка жерге жайылтууну кааласаңызчы?

олуттуу Кубернетес кластерлеринин абалынын, алардын контейнер сүрөттөрү үчүн реестрлеринин жана "колдонмо топтомдору" деп аталган иштеп жаткан колдонмолордун сүрөттөрүн алат. Кадимки файл болгон мындай пакет .tar, кластерди Kubernetes иштете ала турган бардык жерде кайталай алат.

Gravity ошондой эле максаттуу инфраструктура булак сыяктуу иштээрин жана бутадагы Kubernetes чөйрөсү жеткиликтүү экендигин текшерет. Gravity'тин акы төлөнүүчү версиясы коопсуздук функцияларын, анын ичинде RBAC жана ар кандай кластер жайгаштырууларында коопсуздук жөндөөлөрүн синхрондоштуруу мүмкүнчүлүгүн кошот.

Акыркы негизги версия, Gravity 7, сүрөттөн жаңы кластерди айлантуунун ордуна, Gravity сүрөтүн учурдагы Kubernetes кластерине чыгара алат. Gravity 7 ошондой эле Gravity сүрөтү жок орнотулган кластерлер менен иштей алат. Gravity ошондой эле SELinux'ту колдойт жана Teleport SSH шлюзи менен иштейт.

Канико: Кубернетес кластеринде контейнерлерди куруу

Көпчүлүк контейнер сүрөттөрү контейнер стекинен тышкаркы системаларга курулган. Бирок, кээде сиз сүрөттү контейнер стекинин ичинде, мисалы иштеп жаткан контейнерде же Kubernetes кластеринде куруу керек болот.

Канико контейнер чөйрөсүндө контейнерлерди курат, бирок Docker сыяктуу контейнерлөө кызматына көз каранды эмес. Анын ордуна, Канико файл тутумун базалык сүрөттөлүштөн чыгарып, ар бир буйруктан кийин файл тутумунун сүрөтүн тартып, чыгарылган файл тутумунун үстүндө колдонуучу мейкиндигинде бардык куруу буйруктарын иштетет.

Эскертүү: Канико учурда (май 2020, болжол менен котормочу) Windows контейнерлерин кура албайт.

Kubecost: Kubernetes баштоо наркынын параметрлери

Kubernetes башкаруу куралдарынын көбү колдонуунун оңойлугуна, мониторингге, поддон ичиндеги жүрүм-турумду түшүнүүгө ж.б. Бирок Кубернетести иштетүү менен байланышкан долларлар жана пеннилер менен эсептелген чыгымды карап чыгуу жөнүндө эмне айтууга болот?

Kubecost Kubernetes параметрлерин реалдуу убакытта иштетет, натыйжада негизги булут провайдерлери боюнча кластерлерди иштетүүнүн акыркы наркы маалыматы ар бир кластердин бир айлык баасын көрсөтүүчү панелде көрсөтүлөт. RAM, CPU убактысы, GPU жана диск подсистемасынын баалары Kubernetes компоненти (контейнер, поддон, кызмат ж.б.) тарабынан бөлүнөт.

Kubecost ошондой эле Amazon S3 чакалары сыяктуу кластерден тышкаркы ресурстардын баасын көзөмөлдөйт, бирок бул AWS менен чектелген. Наркы маалыматтары Prometheus'ка жөнөтүлүшү мүмкүн, андыктан сиз аны кластердин жүрүм-турумун программалык түрдө өзгөртүү үчүн колдоно аласыз.

15 күндүк журнал маалыматтары сиз үчүн жетиштүү болсо, Kubecost колдонууга акысыз. Кошумча функциялар үчүн, баалар 199 түйүнгө мониторинг жүргүзүү үчүн ай сайын 50 доллардан башталат.

KubeDB: Kubernetes боюнча согуштук маалымат базаларын иштетүү

Маалымат базаларын Kubernetesте эффективдүү иштетүү да кыйын. MySQL, PostgreSQL, MongoDB жана Redis үчүн Kubernetes операторлорун таба аласыз, бирок алардын бардыгында кемчиликтер бар. Ошондой эле, типтүү Kubernetes өзгөчөлүктөрү топтому түздөн-түз көпчүлүк конкреттүү маалымат базасынын көйгөйлөрүн чечпейт.

KubeDB маалымат базаларын башкаруу үчүн Kubernetes билдирүүлөрүңүздү түзүүгө жардам берет. Камдык көчүрмөлөрдү жүргүзүү, клондоо, мониторинг жүргүзүү, көз ирмемдик сүрөттөр жана декларативдик маалымат базасын түзүү анын компоненттери болуп саналат. Функцияны колдоо маалымат базасына жараша өзгөрүшү мүмкүн экенин эске алыңыз. Мисалы, кластер түзүү PostgreSQL үчүн иштейт, бирок MySQL үчүн эмес (буга чейин бар, туура белгиленгендей dnbstd, болжол менен котормочу).

Кубе-маймыл: Кубернетес үчүн Chaos Monkey

Стресс-тестирлөөнүн эң катасыз ыкмасы кокус бузулуулар болуп эсептелет. Бул Netflix'тин Chaos Monkey'дин артында турган теория, башаламан инженердик курал, ал виртуалдык машиналарды жана өндүрүш контейнерлерин туш келди өчүрүп, иштеп чыгуучуларга туруктуураак системаларды курууга "шыктандырат". Кубе-маймыл — Kubernetes кластерлери үчүн стресс-тестирлөөнүн ошол эле негизги теориясын ишке ашыруу. Ал сиз белгилеген кластердеги капчыктарды туш келди өлтүрүү аркылуу иштейт жана ошондой эле белгилүү бир убакыт аралыгында иштөө үчүн конфигурацияланса болот.

AWS үчүн Kubernetes Ingress Controller

Kubernetes деп аталган кызмат аркылуу тышкы жүк баланстоочу жана кластердик тармак кызматтарын камсыз кылат өтүшү AWS жүктүн тең салмактуулугун камсыз кылат, бирок аны автоматтык түрдө Kubernetesтин ошол эле мүмкүнчүлүктөрү менен байланыштырбайт. AWS үчүн Kubernetes Ingress Controller бул боштукту жабат.

Ал кластердеги ар бир кириш объекти үчүн AWS ресурстарын автоматтык түрдө башкарат, жаңы кирүү ресурстары үчүн жүк баланстоочуларды түзөт жана ресурстар жок кылынганда жүк балансын алып салат. Ал кластердин абалы ырааттуу бойдон калышын камсыздоо үчүн CloudFormation колдонот. Ал ошондой эле CloudWatch Alarm орнотууларын колдойт жана SSL сертификаттары жана EC2 Auto Scaling Groups сыяктуу кластерде колдонулган башка элементтерди автоматтык түрдө башкарат.

Kubespray: Kubernetesти автоматтык түрдө орнотуу

Kubespray өндүрүшкө даяр Kubernetes кластерин орнотууну автоматташтырат, аппараттык серверлерге орнотуудан негизги коомдук булуттарга чейин. Ал Ansible'ди (Vagrant - кошумча) колдонот жана аппараттык серверлерге орнотулганда, сиз тандаган популярдуу Linux дистрибьюторунда сиз тандаган тармактык кошумча (мисалы, Flannel, Calico жана башкалар) менен нөлдөн баштап жогорку жеткиликтүү кластерди түзүү үчүн колдонот.

Skaffold: Kubernetes үчүн итеративдик өнүгүү

Skaffold - Kubernetes'те CD тиркемелерин уюштуруу үчүн колдонулган Google куралдарынын бири. Сиз баштапкы кодго өзгөртүүлөрдү киргизээриңиз менен, skaffold муну автоматтык түрдө аныктап, куруп жана жайылта баштайт жана кандайдыр бир каталар болсо эскертет. Skaffold толугу менен кардар тарабында иштейт, андыктан анча-мынча орнотуу же жаңыртуу көйгөйлөрү болушу мүмкүн. Аны учурдагы CICD түтүктөрү менен колдонсо болот жана ошондой эле кээ бир тышкы куруу куралдары, негизинен Google'дун Bazel менен интерфейси мүмкүн.

Тереза: Kubernetesтеги эң жөнөкөй PaaS

Тереза Kubernetes үстүндө жөнөкөй PaaS иштеткен тиркемени жайылтуу системасы. Командаларга бөлүнгөн колдонуучулар өздөрүнө таандык тиркемелерди жайгаштырып жана башкара алышат. Бул колдонмого ишенген жана Kubernetes жана анын бардык татаалдыктары менен күрөшүүнү каалабаган адамдар үчүн ишти бир аз жеңилдетет.

Тилт: Кубернетес кластерлерине контейнер жаңыртууларынын агымы

тентWindmill Engineering тарабынан иштелип чыккан, ар кандай Докер файлдарына өзгөртүүлөрдү карап, андан кийин бара-бара тиешелүү контейнерлерди Kubernetes кластерине жайгаштырат. Негизи, бул Dockerfiles жаңыртуу менен өндүрүш кластериңизди реалдуу убакытта жаңыртууга мүмкүндүк берет. Кластердин ичинде кыйшаюу түзүлөт, баштапкы кодду өзгөртүү керек. Сиз ошондой эле мүчүлүштүктөрдү оңдоо үчүн топ мүчөлөрү менен бөлүшүү үчүн Тилттен түз эле кластердин ден соолугунун сүрөтүн тартып, ката шарттарын түзө аласыз.

PS Биз бул куралдардын баарын бир нече жолу колдондук түштүк көпүрө биздин кызык колубуз менен изилдеп. Февраль айында офлайн интенсивдүү курстарда реалдуу практикаларды көрсөтүү (умиттенем!). Kubernetes базасы 8–10-февраль, 2021. Жана Kubernetes Mega 12–14-февраль. Чынын айтсам, биз оффлайн режиминде окуунун жылуу жана энергиялуу атмосферасын да сагынабыз. Канчалык өнүккөн технологиялар болбосун, алар адамдардын жандуу баарлашуусун жана пикирлеш адамдар чогулган өзгөчө атмосфераны алмаштыра албайт.

Source: www.habr.com

Комментарий кошуу