Kubernetes мыкты тажрыйбалары. Ат мейкиндиги менен Kubernetes уюштуруу

Kubernetes мыкты тажрыйбалары. Чакан контейнерлерди түзүү

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

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

Kubernetes мыкты тажрыйбалары. Ат мейкиндиги менен Kubernetes уюштуруу

Көпчүлүк Kubernetes дистрибуцияларында кластер "демейки" деп аталган аттар мейкиндиги менен кутудан чыгат. Чындыгында Kubernetes иштеген үч аттар мейкиндиги бар: демейки, kube-системасы жана kube-public. Учурда Kube-public көп колдонулбайт.

Kubernetes мыкты тажрыйбалары. Ат мейкиндиги менен Kubernetes уюштуруу

Kube аталыш мейкиндигин жалгыз калтыруу жакшы идея, айрыкча Google Kubernetes Engine сыяктуу башкарылуучу тутумда. Ал сиздин кызматтарыңыз жана тиркемелериңиз түзүлгөн жер катары "демейки" аттар мейкиндигин колдонот. Бул жөнүндө эч кандай өзгөчө эч нерсе жок, бирок Kubernetes аны колдонуу үчүн кутудан тышкары конфигурацияланган жана аны өчүрө албайсыз. Бул баштоо үчүн эң сонун жана өндүрүмдүүлүгү төмөн системалар, бирок мен чоң өндүрүш системаларында демейки аттар мейкиндигин колдонууну сунуштабайт элем. Акыркы учурда, бир иштеп чыгуу тобу башка бирөөнүн кодун оңой эле кайра жазып, башка команданын ишин байкабай эле бузуп коюшу мүмкүн.

Ошондуктан, сиз бир нече аталыш мейкиндигин түзүп, аларды кызматтарыңызды башкарылуучу бирдиктерге бөлүү үчүн колдонушуңуз керек. Ат мейкиндигин бир буйрук менен түзсө болот. Эгер сиз тест деп аталган аттар мейкиндигин түзгүңүз келсе, анда $ kubectl аттар мейкиндигин түзүү сынагы буйругун колдонуңуз же жөн гана YAML файлын түзүп, аны башка Kubernetes ресурсу сыяктуу колдонуңуз.

Kubernetes мыкты тажрыйбалары. Ат мейкиндиги менен Kubernetes уюштуруу

Сиз $ kubectl get namespace буйругун колдонуп, бардык аттар мейкиндигин көрө аласыз.

Kubernetes мыкты тажрыйбалары. Ат мейкиндиги менен Kubernetes уюштуруу

Ал бүткөндөн кийин, сиз үч камтылган аттар мейкиндигин жана "сынак" деп аталган жаңы аттар мейкиндигин көрөсүз. Подгон түзүү үчүн жөнөкөй YAML файлын карап көрөлү. Сиз аттар мейкиндиги жөнүндө эч кандай сөз жок экенин байкайсыз.

Kubernetes мыкты тажрыйбалары. Ат мейкиндиги менен Kubernetes уюштуруу

Бул файлды иштетүү үчүн kubectl колдонсоңуз, ал учурда активдүү аттар мейкиндигинде mypod модулун түзөт. Бул сиз аны өзгөртмөйүнчө демейки аттар мейкиндиги болот. Kubernetesке ресурсуңузду кайсы аттар мейкиндигинде түзгүңүз келгенин айтуунун 2 жолу бар. Биринчи жол - бул ресурсту түзүүдө ат мейкиндигинин желегин колдонуу.

Kubernetes мыкты тажрыйбалары. Ат мейкиндиги менен Kubernetes уюштуруу

Экинчи жол - YAML декларациясында аттар мейкиндигин көрсөтүү.

Kubernetes мыкты тажрыйбалары. Ат мейкиндиги менен Kubernetes уюштуруу

YAMLде аттар мейкиндигин көрсөтсөңүз, ресурс дайыма ошол аттар мейкиндигинде түзүлөт. Эгерде сиз аттар мейкиндигинин желегин колдонуп жатканда башка мейкиндикти колдонууга аракет кылсаңыз, буйрук аткарылбай калат. Эми сиз өзүңүздүн капчыгыңызды табууга аракет кылсаңыз, аны таба албайсыз.

Kubernetes мыкты тажрыйбалары. Ат мейкиндиги менен Kubernetes уюштуруу

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

Kubernetes мыкты тажрыйбалары. Ат мейкиндиги менен Kubernetes уюштуруу

Сиздин активдүү аттар мейкиндигиңиз демейки деп аталат. YAML ресурсунда аттар мейкиндигин көрсөтпөсөңүз, анда бардык Kubernetes буйруктары бул активдүү демейки аттар мейкиндигин колдонот. Тилекке каршы, kubectl аркылуу активдүү аттар мейкиндигин башкаруу аракети ишке ашпай калышы мүмкүн. Бирок, бул процессти бир топ жеңилдеткен Kubens деген абдан жакшы курал бар. Сиз kubens буйругун иштеткенде, активдүү аттар мейкиндиги белгиленген бардык аттар мейкиндигин көрөсүз.

Kubernetes мыкты тажрыйбалары. Ат мейкиндиги менен Kubernetes уюштуруу

Активдүү аттар мейкиндигин тесттик аттар мейкиндигине которуу үчүн, сиз жөн гана $kubens сыноо буйругун иштетиңиз. Эгер сиз $kubens буйругун кайра иштетсеңиз, жаңы активдүү аттар мейкиндиги бөлүнгөнүн көрөсүз - тест.

Kubernetes мыкты тажрыйбалары. Ат мейкиндиги менен Kubernetes уюштуруу

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

Kubernetes мыкты тажрыйбалары. Ат мейкиндиги менен Kubernetes уюштуруу

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

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

Kubernetes мыкты тажрыйбалары. Ат мейкиндиги менен Kubernetes уюштуруу

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

Kubernetes мыкты тажрыйбалары. Ат мейкиндиги менен Kubernetes уюштуруу

Адатта, сизге жөн гана кызматтын аталышы керек жана DNS толук даректи автоматтык түрдө аныктайт.

Kubernetes мыкты тажрыйбалары. Ат мейкиндиги менен Kubernetes уюштуруу

Бирок, эгер сизге башка аттар мейкиндигиндеги кызматка кирүү керек болсо, жөн гана кызматтын атын жана аттар мейкиндигинин атын колдонуңуз:

Kubernetes мыкты тажрыйбалары. Ат мейкиндиги менен Kubernetes уюштуруу

Мисалы, эгер сиз тесттик аттар мейкиндигинде кызмат көрсөтүүлөр базасына туташууну кааласаңыз, анда дарек базасы database.test колдоно аласыз.

Kubernetes мыкты тажрыйбалары. Ат мейкиндиги менен Kubernetes уюштуруу

Эгерде сиз прод аттар мейкиндигинде кызмат маалымат базасына туташууну кааласаңыз, анда database.prod колдоносуз.

Kubernetes мыкты тажрыйбалары. Ат мейкиндиги менен Kubernetes уюштуруу

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

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

Эгер сиз өтө көп аттар мейкиндигин түзсөңүз, алар жөн эле жолуңузга тоскоол болот. Алардын саны өтө аз болсо, мындай чечимдин бардык артыкчылыктарын жоготосуз. Менимче, ар бир компания өзүнүн уюштуруу түзүмүн түзүүдө төрт негизги этаптан өтөт. Долбооруңуз же компанияңыз иштеп жаткан өнүгүү стадиясына жараша, сиз тиешелүү аталыш мейкиндигинин стратегиясын кабыл алгыңыз келиши мүмкүн.

Сиз 5-10 микросервистерди иштеп чыгуунун үстүндө иштеп жаткан чакан топтун мүчөсү экениңизди элестетиңиз жана бардык иштеп чыгуучуларды бир бөлмөгө оңой чогулта аласыз. Бул жагдайда, демейки аттар мейкиндигинде бардык прод кызматтарын иштетүү мааниси бар. Албетте, көбүрөөк ийкемдүүлүк үчүн, сиз 2 аталыш мейкиндигин колдоно аласыз - прод жана иштеп чыгуу үчүн өзүнчө. Балким, сиз Minikube сыяктуу нерсени колдонуп, жергиликтүү компьютериңизде иштеп чыгууңузду сынайсыз.

Келгиле, нерселер өзгөрдү дейли жана сизде азыр бир эле учурда 10дон ашык микросервистерде иштеген тездик менен өсүп жаткан командаңыз бар. Прод жана иштеп чыгуу үчүн өзүнчө бир нече кластерлерди же аттар мейкиндигин колдонуу зарыл болгон учур келет. Ар биринин өзүнүн микросервистерине ээ болушу үчүн жана бул командалардын ар бири программалык камсыздоону иштеп чыгуу жана чыгаруу процессин башкаруу процессин жеңилдетүү үчүн өзүнүн аталыш мейкиндигин тандап алышы үчүн, сиз команданы бир нече суб-командаларга бөлсөңүз болот.

Kubernetes мыкты тажрыйбалары. Ат мейкиндиги менен Kubernetes уюштуруу

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

Ири компанияларда иштеп чыгуучулар көбүнчө ким эмненин үстүндө иштеп жатканын билишпейт. Командалар кызматтык контракттарды колдонуу менен байланышат же Istio конфигурациялоо куралы сыяктуу тармак аркылуу абстракция катмарын кошо турган кызматтык тор технологиясын колдонушат. Толук стекти жергиликтүү түрдө иштетүү мүмкүн эмес. Мен Kubernetesтеги Spinnaker сыяктуу үзгүлтүксүз жеткирүү (CD) платформасын колдонууну сунуштайм. Ошентип, ар бир буйрук сөзсүз түрдө өзүнүн аталыш мейкиндигине муктаж болгон учур келет. Ар бир команда иштеп чыгуучу чөйрө жана өндүрүш чөйрөсү үчүн бир нече аталыш мейкиндигин тандай алат.

Акыр-аягы, иштеп чыгуучулардын бир тобу башка топтордун бар экендигин билбеген ири ишкердик компаниялары бар. Мындай компания жалпысынан аны менен жакшы документтештирилген API аркылуу өз ара аракеттенген үчүнчү тараптын иштеп чыгуучуларын жалдай алат. Ар бир мындай топ бир нече командаларды жана бир нече микросервистерди камтыйт. Бул учурда, мен мурда айткан бардык куралдарды колдонуу керек.

Kubernetes мыкты тажрыйбалары. Ат мейкиндиги менен Kubernetes уюштуруу

Программисттер кызматтарды кол менен жайгаштырбашы керек жана аларга тиешеси жок аттар мейкиндигине кирүү мүмкүнчүлүгү болбошу керек. Бул этапта начар конфигурацияланган тиркемелердин “жардыруу радиусун” азайтуу, эсеп коюу процесстерин жана ресурстарды башкарууну жөнөкөйлөтүү үчүн бир нече кластерлердин болушу максатка ылайыктуу.

Ошентип, уюмуңуз тарабынан аттар мейкиндиктерин туура колдонуу Kubernetes'ти башкара алгыдай, башкарылуучу, коопсуз жана ийкемдүү кылууга мүмкүндүк берет.

Kubernetes мыкты тажрыйбалары. Даярдык жана жандуу тесттер менен Кубернеттин жандуулугун текшерүү

Play Video

Кээ бир жарнамалар 🙂

Биз менен болгонуңуз үчүн рахмат. Биздин макалалар сизге жагабы? Көбүрөөк кызыктуу мазмунду көргүңүз келеби? Буйрутма берүү же досторуңузга сунуштоо менен бизди колдоңуз, иштеп чыгуучулар үчүн булут VPS 4.99 доллардан, биз сиз үчүн ойлоп тапкан баштапкы деңгээлдеги серверлердин уникалдуу аналогу: VPS (KVM) E5-2697 v3 (6 өзөктүү) 10 ГБ DDR4 480 ГБ SSD 1 Гбит/с 19 доллардан же серверди кантип бөлүшүү керектиги жөнүндө бардык чындык? (RAID1 жана RAID10 менен жеткиликтүү, 24 өзөккө чейин жана 40 ГБ DDR4 чейин).

Dell R730xd Амстердамдагы Equinix Tier IV маалымат борборунда 2 эсе арзанбы? Бул жерде гана 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ТВ 199 доллардан баштап Нидерландыда! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - 99 доллардан! Жөнүндө окуу Инфраструктураны кантип куруу керек. бир тыйынга 730 евро турган Dell R5xd E2650-4 v9000 серверлерин колдонуу менен класс?

Source: www.habr.com

DDoS коргоосу, VPS VDS серверлери бар сайттар үчүн ишенимдүү хостинг сатып алыңыз 🔥 DDoS коргоосу, VPS VDS серверлери бар ишенимдүү веб-сайт хостингин сатып алыңыз | ProHoster