Бағдарламалық жасақтаманы әзірлеуге және орналастыруға арналған заманауи платформа

Бұл жаңа нұсқаға көшуге дайындалуға көмектесетін алдағы Red Hat OpenShift платформасының 4.0 жаңартуындағы өзгерістер, жақсартулар және толықтырулар туралы жазбалар сериясының біріншісі.

Бағдарламалық жасақтаманы әзірлеуге және орналастыруға арналған заманауи платформа

2014 жылдың күзінде жаңадан ашылған Кубернетес қауымдастығы Google компаниясының Сиэтлдегі кеңсесінде алғаш рет жиналған сәттен бастап, Kubernetes жобасы бағдарламалық жасақтаманы әзірлеу және енгізу жолында төңкеріс жасауды мақсат етті. Сонымен қатар, қоғамдық бұлттық қызмет провайдерлері инфрақұрылым мен қызметтерді дамытуға үлкен қаражат салуды жалғастырды, бұл АТ-мен жұмыс істеуді және бағдарламалық жасақтаманы жасауды әлдеқайда жеңіл және қол жетімді етті және оларды керемет қол жетімді етті, бұл туралы аз ғана адам елестете алады. онжылдық.

Әрине, әрбір жаңа бұлттық қызмет туралы хабарландыру Twitter-дегі сарапшылар арасындағы көптеген пікірталастармен қатар жүрді және пікірсайыстар әртүрлі тақырыптарда өткізілді, соның ішінде ашық бастапқы дәуірдің аяқталуы, жергілікті АТ-тың құлдырауы және сөзсіз. бұлттағы жаңа бағдарламалық жасақтама монополиясы және жаңа X парадигмасы барлық басқа парадигмаларды қалай ауыстырады.

Айта кету керек, бұл даулардың бәрі өте ақымақтық болды

Шындық мынада, ештеңе кетпейді және бүгінгі күні біздің өмірімізде жаңа бағдарламалық қамтамасыз етудің үнемі пайда болуына байланысты соңғы өнімдердің экспоненциалды өсуін және олардың жасалу жолын байқауға болады. Және айналадағының бәрі өзгеретініне қарамастан, сонымен бірге, мәні бойынша, бәрі өзгеріссіз қалады. Бағдарламалық жасақтаманы әзірлеушілер әлі де қателері бар код жазады, операциялық инженерлер мен сенімділік бойынша мамандар әлі де пейджерлермен бірге жүреді және Slack жүйесінде автоматты ескертулер алады, менеджерлер OpEx және CapEx шарттарында жұмыс істей береді және сәтсіздік орын алған сайын әзірлеуші ​​аға «Мен саған айттым» деген сөздермен мұңайып күрсінді...

Расында ма талқылануы керек, жақсырақ бағдарламалық өнімдерді жасау үшін қолымызда қандай құралдар болуы мүмкін және олар қауіпсіздікті қалай жақсарта алады және әзірлеуді оңай әрі сенімді етеді. Жобаның күрделілігі артқан сайын жаңа тәуекелдер де артады және бүгінгі күні адамдардың өмірі бағдарламалық жасақтамаға тәуелді болғаны сонша, әзірлеушілер жай ғана жақсы жұмыс істеуге тырысуы керек.

Кубернетес - осындай құралдардың бірі. Red Hat OpenShift-ті басқа құралдармен және қызметтермен бір платформаға біріктіру бойынша жұмыс жүргізілуде, бұл бағдарламалық жасақтаманы сенімдірек, басқаруды жеңілдетеді және пайдаланушылар үшін қауіпсіз етеді.

Осыған байланысты OpenShift командасы бір қарапайым сұрақ қояды:

Kubernetes-пен жұмыс істеуді қалай жеңілдетуге және ыңғайлы етуге болады?

Жауап таң қаларлықтай анық:

  • бұлтта немесе бұлттан тыс орналастырудың күрделі аспектілерін автоматтандыру;
  • күрделілікті жасыра отырып, сенімділікке назар аудару;
  • қарапайым және қауіпсіз жаңартуларды шығару үшін үздіксіз жұмыс істеуді жалғастыру;
  • бақылау және аудиторлық қабілеттілікке қол жеткізу;
  • бастапқыда жоғары қауіпсіздікті қамтамасыз етуге тырысыңыз, бірақ ыңғайлылық есебінен емес.

OpenShift-тің келесі шығарылымы жасаушылардың тәжірибесін де, әлемдегі ең ірі компанияларда бағдарламалық жасақтаманы кең ауқымда енгізетін басқа әзірлеушілердің тәжірибесін де ескеруі керек. Сонымен қатар, ол қазіргі заманғы әлемнің негізінде жатқан ашық экожүйелердің барлық жинақталған тәжірибесін ескеруі керек. Сонымен бірге әуесқой әзірлеушінің ескі менталитетінен бас тартып, автоматтандырылған болашақтың жаңа философиясына көшу қажет. Ол бағдарламалық жасақтаманы қолданудың ескі және жаңа тәсілдері арасындағы алшақтықты жоюы және ең ірі бұлттық провайдермен орналастырылғанына қарамастан немесе шеттегі шағын жүйелерде жұмыс істейтініне қарамастан, барлық қолжетімді инфрақұрылымды толық пайдалануы керек.

Бұл нәтижеге қалай қол жеткізуге болады?

Red Hat-те қалыптасқан қауымдастықты сақтау және компания қатысатын жобалардың жабылуына жол бермеу үшін ұзақ уақыт бойы қызықсыз және алғыссыз жұмыс жасау әдетке айналған. Ашық коды бар қауымдастықта ең ерекше нәрселерді жасайтын көптеген талантты әзірлеушілер бар - ойын-сауық, білім беру, жаңа мүмкіндіктер ашатын және жай ғана әдемі, бірақ, әрине, ешкім барлық қатысушылардың бір бағытта қозғалатынын немесе ортақ мақсатқа ұмтылатынын күтпейді. мақсаттар. Бұл энергияны пайдалану және оны дұрыс бағытта қайта бағыттау кейде пайдаланушыларымызға пайда әкелетін салаларды дамыту үшін қажет, бірақ сонымен бірге біз қауымдастықтарымыздың дамуын бақылап, олардан үйренуіміз керек.

2018 жылдың басында Red Hat CoreOS жобасын сатып алды, оның болашаққа деген көзқарастары ұқсас болды - қауіпсіз және сенімді, ашық бастапқы принциптерде жасалған. Компания осы идеяларды әрі қарай дамытып, оларды жүзеге асыру үшін жұмыс істеді, біздің философиямызды іс жүзінде қолданады - барлық бағдарламалық жасақтаманың қауіпсіз жұмыс істеуін қамтамасыз етуге тырысады. Бұл жұмыстардың барлығы Kubernetes, Linux, қоғамдық бұлттар, жеке бұлттар және біздің заманауи цифрлық экожүйемізді негіздейтін мыңдаған басқа жобаларға негізделген.

OpenShift 4 жаңа шығарылымы анық, автоматтандырылған және табиғи болады

OpenShift платформасы ең жақсы және ең сенімді Linux операциялық жүйелерімен жұмыс істейтін болады, оның ішінде қарапайым аппараттық қолдауы, ыңғайлы виртуализациясы, автоматты инфрақұрылымдық бағдарламалауы және, әрине, контейнерлер (бұл жай ғана Linux кескіндері).

Платформа басынан қауіпсіз болуы керек, бірақ әлі де әзірлеушілерге оңай қайталауға мүмкіндік береді, яғни әкімшілерге оны оңай тексеруге және басқаруға мүмкіндік бере отырып, жеткілікті икемді және қауіпсіз болуы керек.

Ол бағдарламалық жасақтаманы «қызмет ретінде» іске қосуға мүмкіндік береді және операторлар үшін басқарылмайтын инфрақұрылымның өсуіне әкелмеуі керек.

Бұл әзірлеушілерге пайдаланушылар мен тұтынушылар үшін нақты өнімдерді жасауға назар аударуға мүмкіндік береді. Сізге аппараттық және бағдарламалық жасақтама параметрлерінің джунглиінен өтудің қажеті жоқ және барлық кездейсоқ асқынулар өткен нәрсе болады.

OpenShift 4: техникалық қызмет көрсетуді қажет етпейтін NoOps платформасы

В осы жарияланымның компанияның OpenShift 4-ке деген көзқарасын қалыптастыруға көмектескен сол тапсырмаларды сипаттады. Команданың мақсаты бағдарламалық жасақтаманы пайдалану және оған қызмет көрсету бойынша күнделікті тапсырмаларды мүмкіндігінше жеңілдету, бұл процестерді енгізуге қатысатын мамандар үшін де, әзірлеушілер үшін де жеңіл және жеңіл ету. Бірақ бұл мақсатқа қалай жақындауға болады? Ең аз араласуды қажет ететін бағдарламалық жасақтаманы іске қосу үшін платформаны қалай жасауға болады? NoOps бұл контексте нені білдіреді?

Егер сіз абстракциялауға тырыссаңыз, әзірлеушілер үшін «серверсіз» немесе «NoOps» ұғымдары «операциялық» компонентті жасыруға немесе әзірлеушіге бұл жүктемені азайтуға мүмкіндік беретін құралдар мен қызметтерді білдіреді.

  • Жүйелермен емес, қолданбалы интерфейстермен (API) жұмыс жасаңыз.
  • Бағдарламалық құралды енгізуге алаңдамаңыз - провайдер оны сіз үшін жасасын.
  • Бірден үлкен фреймворк құруға секірмеу керек - «құрылыс блоктары» ретінде әрекет ететін шағын бөліктерді жазудан бастаңыз, бұл кодты дискілер мен дерекқорлармен емес, деректермен және оқиғалармен жұмыс істеуге тырысыңыз.

Мақсат, бұрынғыдай, бағдарламалық жасақтаманы әзірлеудегі итерацияларды жылдамдату, жақсырақ өнімдерді жасау мүмкіндігін қамтамасыз ету және әзірлеушіге бағдарламалық жасақтамасы жұмыс істейтін жүйелер туралы алаңдамауы үшін. Тәжірибелі әзірлеуші ​​пайдаланушыларға назар аудару суретті тез өзгертуге болатынын жақсы біледі, сондықтан оның қажет екеніне толық сенімді болмасаңыз, бағдарламалық жасақтаманы жазуға көп күш салудың қажеті жоқ.

Техникалық қызмет көрсету және пайдалану мамандары үшін «NoOps» сөзі аздап қорқынышты болуы мүмкін. Бірақ далалық инженерлермен байланысқан кезде сенімділік пен сенімділікті қамтамасыз етуге бағытталған олар қолданатын үлгілер мен әдістердің (Site Reliability Engineering, SRE) жоғарыда сипатталған үлгілермен көптеген ұқсастықтары бар екені анық болады:

  • Жүйелерді басқармаңыз - олардың басқару процестерін автоматтандырыңыз.
  • Бағдарламалық құралды енгізбеңіз - оны орналастыру үшін құбырды жасаңыз.
  • Барлық қызметтерді біріктіріп, бірінің істен шығуы бүкіл жүйенің істен шығуына жол бермеңіз — автоматтандыру құралдарын пайдаланып оларды бүкіл инфрақұрылымыңызға таратыңыз және оларды бақылауға және бақылауға болатын жолдармен қосыңыз.

SRE бірдеңе дұрыс емес болуы мүмкін екенін біледі және олар мәселені қадағалап, шешуі керек, сондықтан олар күнделікті жұмысты автоматтандырады және қателер бюджетін алдын ала белгілейді, осылайша олар мәселе туындаған кезде басымдықтарды белгілеуге және шешім қабылдауға дайын болады. .

OpenShift-тегі Kubernetes - бұл екі негізгі мәселені шешуге арналған платформа: виртуалды машиналарды немесе жүктемені теңестіретін API интерфейстерін түсінуге мәжбүрлеудің орнына ол жоғары дәрежелі абстракциялармен - орналастыру процестерімен және қызметтерімен жұмыс істейді. Бағдарламалық құрал агенттерін орнатудың орнына контейнерлерді іске қосуға болады және өзіңіздің бақылау стекіңізді жазудың орнына платформада бұрыннан бар құралдарды пайдаланыңыз. Сонымен, OpenShift 4 құпия соусы шын мәнінде құпия емес - бұл SRE принциптері мен серверсіз тұжырымдамаларды қабылдау және әзірлеушілер мен операциялық инженерлерге көмектесу үшін оларды логикалық қорытындыға келтіру мәселесі:

  • Қолданбалар пайдаланатын инфрақұрылымды автоматтандыру және стандарттау
  • Қолдану және әзірлеу процестерін әзірлеушілердің өздерін шектеместен байланыстырыңыз
  • 100-ші қызметті, мүмкіндікті, қолданбаны немесе бүкіл стекті іске қосу, тексеру және қорғау біріншіден қиын емес екеніне көз жеткізу.

Бірақ OpenShift 4 платформасы мен оның предшественниктері арасындағы және мұндай мәселелерді шешудегі «стандартты» тәсілден қандай айырмашылығы бар? Іске асыру және операциялық топтар үшін ауқымды не басқарады? Бұл жағдайда патша кластер болғандықтан. Сонымен,

  • Біз кластерлердің мақсаты анық екеніне көз жеткіземіз (Құрметті бұлт, мен бұл кластерді алдым, өйткені қолымнан келеді)
  • Кластерге қызмет көрсету үшін машиналар мен операциялық жүйелер бар (Мәртебелі)
  • Хосттардың күйін кластерден басқарыңыз, оларды қайта құруды (дрейф) азайтыңыз.
  • Жүйенің әрбір маңызды элементі үшін проблемаларды бақылайтын және жойатын күтуші (механизм) қажет
  • Жүйенің *әрбір* аспектісінің немесе элементінің және онымен байланысты қалпына келтіру механизмдерінің істен шығуы өмірдің қалыпты бөлігі болып табылады
  • Бүкіл инфрақұрылым API арқылы конфигурациялануы керек.
  • Kubernetes бағдарламасын іске қосу үшін Kubernetes пайдаланыңыз. (Иә, иә, бұл қате емес)
  • Жаңартуларды орнату оңай және қиындықсыз болуы керек. Жаңартуды орнату үшін бірнеше рет басу қажет болса, біз дұрыс емес нәрсе жасап жатқанымыз анық.
  • Кез келген құрамдас бөлікті бақылау және жөндеу қиындық тудырмауы керек, сондықтан бүкіл инфрақұрылым бойынша бақылау және есеп беру де оңай және ыңғайлы болуы керек.

Платформаның мүмкіндіктерін іс жүзінде көргіңіз келе ме?

OpenShift 4 алдын ала қарау нұсқасы әзірлеушілерге қолжетімді болды. Пайдалануға оңай орнатушы арқылы Red Had CoreOS үстінен AWS жүйесінде кластерді іске қосуға болады. Алдын ала қарауды пайдалану үшін сізге тек инфрақұрылымды қамтамасыз ететін AWS тіркелгісі және алдын ала қарау кескіндеріне қол жеткізу үшін тіркелгілер жинағы қажет.

  1. Бастау үшін өтіңіз try.openshift.com және «Бастау» түймесін басыңыз.
  2. Red Hat тіркелгіңізге кіріңіз (немесе жаңасын жасаңыз) және бірінші кластерді орнату үшін нұсқауларды орындаңыз.

Сәтті орнатудан кейін оқулықтарымызды қараңыз OpenShift тренингіOpenShift 4 платформасын Kubernetes-ті іске қосудың оңай және ыңғайлы тәсілі ететін жүйелер мен тұжырымдамаларды тереңірек түсіну үшін.

Жаңа OpenShift шығарылымын қолданып көріңіз және өз пікіріңізбен бөлісіңіз. Біз Kumbernetes-пен жұмысты мүмкіндігінше қолжетімді және оңай жасауға дайынбыз — NoOps болашағы бүгіннен басталады.

Енді назар аударыңыз!
Конференцияда DevOpsForum 2019 20 сәуірде OpenShift әзірлеушілерінің бірі Вадим Рутковский шеберлік сабағын өткізеді - ол он кластерді бұзып, оларды түзетуге мәжбүр етеді. Конференция ақылы, бірақ #RedHat промо-коды арқылы сіз 37% жеңілдік аласыз

Мастер-класс 17:15 - 18:15, ал стенд күні бойы ашық. Футболкалар, шляпалар, жапсырмалар - әдеттегідей!

№2 зал
«Бұл жерде бүкіл жүйені өзгерту керек: біз сертификатталған механиктермен бірге бұзылған k8s кластерлерін жөндейміз».


Ақпарат көзі: www.habr.com

пікір қалдыру