JavaRush /Java блогы /Random-KK /Docker, Kubernetes, OpenShift деген кім және олар бір-бір...
Павел
Деңгей

Docker, Kubernetes, OpenShift деген кім және олар бір-бірімен қалай байланысты?

Топта жарияланған
Барлығы қаптамадан басталады. Өнеркәсіптік дамуда құрастырылған қосымшаны, мысалы, ол жұмыс істейтін serverге, әзірлеуші ​​​​өзінің компьютерінде жинаған пішінде, осындай «қаптамада» тасымалдануы үшін «орау» қажеттілігі туындайды. қорғау түрі ретінде қызмет етуі тиіс. Бұл тосын жағдайларды болдырмайды, мысалы, қолданба сынақ кезінде жұмыс істейді, бірақ өндіріске ауыстырылған кезде үзіледі. Сондай-ақ, «қаптама» бір serverде орналасқан бір қосымшаны екіншісінен оқшаулайды, мұндай оқшаулау бір қолданбаға басқасының жұмысына кедергі жасамауға мүмкіндік береді (мысалы: бір қолданба serverдің барлық жедел жадын ала алмайды, бұл оның тағдырына екінші өтініш). Микросервис архитектурасы бар «қаптаманың» артықшылықтары ерекше байқалады және бұл түсінікті, көптеген микросервистер бар - бір-бірімен байланысуы керек, бірақ сонымен бірге бір-біріне кедергі жасамауы керек көптеген шағын қосымшалар. Мысал ретінде сандықты (serverді) алуға болады, онда әртүрлі жәшіктер бар, біз әртүрлі шұлықтарды бір жәшіктен екіншісіне оңай жылжытамыз, сонымен бірге олар бір-бірімен немесе трусиктермен араласпайды. Docker, Kubernetes, OpenShift деген кім және олар бір-бірімен қалай байланысты?  - 1 Қаптама виртуализация құралдары арқылы жасалады. Бір кездері виртуалды машиналар (VM) «қаптама» ретінде пайдаланылды. Қарт адамдар Windows XP жүйесін Vista жүйесінде виртуалды машинада қалай орнатқанын есіне алады. Енді қолданбаларды орау үшін VM өткен нәрсе. Контейнерлер әлемді жаулап алды. Өйткені олар: жеңілірек, өнімдірек және қауіпсіз. Толығырақ: контейнер виртуалды машинадан қалай ерекшеленеді? Docker, Kubernetes, OpenShift деген кім және олар бір-бірімен қалай байланысты?  - 2 Контейнерлердің кейбір артықшылықтарын есте сақтау қажет: • олар көлемі жағынан кішірек (serverде аз жадты алады); • ортақ server ресурстарына қол жеткізу (RAM, процессордың есептеу уақыты); • басқа орталарға (сынақтан өнеркәсіпке дейін) жақсырақ тасымалдануы; • жоғары ұшыру жылдамдығын қамтамасыз етіңіз (контейнер жеңіл болғандықтан, ол тезірек іске қосылады). Докер - контейнерлердің анасы. Контейнер дегенде олар Docker дегенді білдіреді. Docker - бұл контейнерлік орталарда қолданбаларды орналастыру мен басқаруды автоматтандыруға арналған бағдарламалық құрал. Мысалдарды пайдалана отырып, Docker онлайн-дизайнер мен кранмен 3D принтер арасындағы крест болып табылады. Яғни, ол алдымен контейнерге арналған шаблонды (суретті) құрастыра алады, контейнерді берілген шарттарға (суретке) сәйкес басып шығара алады (жасады), содан кейін оны қажет жерде жылжытады. Тетіктердің орнына докер файлдары қолданылады. Басқару процесі қарапайым: сіз файлдарды, пәрмендерді жазасыз, оларды іске қосасыз және не болатынын көресіз. Docker, Kubernetes, OpenShift деген кім және олар бір-бірімен қалай байланысты?  - 3 Docker Docker Compose-пен алғашқы танысу – жаңартылған Docker Енді бір жерде бірнеше контейнер жұмыс істеуі қажет сценарийді қарастырайық. Бұл үшін пайдаланылатын утorта Docker Compose. Docker Compose - бұл Docker құрамына кіретін құрал. Ол жобаны орналастыруға байланысты мәселелерді шешуге арналған. Docker және Docker Compose арасындағы айырмашылық: Docker жеке контейнерлерді басқару үшін пайдаланылады. Docker Compose бір уақытта бірнеше контейнерлерді басқару үшін қолданылады. Бұл құрал Docker сияқты мүмкіндіктерді ұсынады, бірақ күрделі құрылымдармен жұмыс істеуге мүмкіндік береді. Docker, Kubernetes, OpenShift деген кім және олар бір-бірімен қалай байланысты?  - 4 Docker Compose пайдаланудың әдеттегі сценарийі: Сіз веб-жобаның әзірлеушісі екеніңізді елестетіңіз. Бұл жоба екі веб-сайтты қамтиды. Біріншісі іскер адамдарға бірнеше рет басу арқылы интернет-дүкендер жасауға мүмкіндік береді. Екіншісі тұтынушыларды қолдауға бағытталған. Бұл екі сайт бір дерекқормен өзара әрекеттеседі. Сіздің жобаңыз барған сайын танымал болып келеді және ол жұмыс істейтін serverдің күші енді жеткіліксіз болып шықты. Нәтижесінде сіз бүкіл жобаны басқа құрылғыға жылжытуды шешесіз. Docker Compose сияқты бірдеңені пайдаланбаған болсаңыз, процесте ештеңені ұмытпайсыз деп үміттеніп, контейнерлерді бір-бірден тасымалдауға және қайта конфигурациялауға тура келеді. Docker Compose пайдалансаңыз, жобаңызды жаңа serverге жылжыту бірнеше пәрмендерді орындау арқылы шешілетін мәселе болып табылады. Жобаны жаңа орынға тасымалдауды аяқтау үшін сізге тек кейбір параметрлерді жасап, дерекқордың сақтық көшірмесін жаңа serverге жүктеп салу қажет. Әдеттегі DockerComposer: Docker, Kubernetes, OpenShift деген кім және олар бір-бірімен қалай байланысты?  - 5 Бұл жерде нені есте сақтау керек: Контейнерлер қолданбаларды «орау» үшін негізгі құрал болып табылады. Docker контейнерлерді өңдейді, контейнер кескіндерін жасайды, контейнерлерді алады және жылжытады. Бір уақытта контейнерлер шоғырын басқару үшін Docker құрамына кіретін Docker Compose пайдаланылады. Бұл бағдарламалар тегін бағдарламалық жасақтама (freebies - бір сөзбен айтқанда) Kubernetes (K8s) - Docker automation Осылайша біз контейнерлерді орналастырдық, біз оларды машинадан машинаға «топтамамен» қалай тасымалдау керектігін білеміз. Бірақ кенеттен контейнерлердің бірі құлап кетті! Не істеу? Оны тағы кім көтереді? Docker, Kubernetes, OpenShift деген кім және олар бір-бірімен қалай байланысты?  - 6 Әрине, мұны Docker арқылы қолмен жасауға болады. Бірақ сізге бірдеңе істеу керек, бірдеңе жазу керек, сізге автоматтандыру құралы қажет. Бұл жерде Кубернетес (қысқартылған K8s) суретке түседі, ол сонымен қатар контейнерлерді басқару және ұйымдастырумен (байланысты субъектілерді автоматтандырылған басқару) айналысады. K8 құрылғылары сіздің қолыңызда болғандықтан, контейнерлерді күні-түні бақылаудың қажеті жоқ. Мінез-құлық сценарийін анықтау жеткілікті, ал K8s бәрін өзі жасайды. Kubernetes негізгі мүмкіндіктері 1. Конфигурацияңыздың масштабталуын және басқаруын қамтамасыз етеді. 2. Кластерді орналастыру кезінде нені алғыңыз келетінін сипаттай аласыз және K8s мұны жасайды. Мысалы, тармақтардың санын көрсетіңіз, олар үшін қанша жад бөлу керек, подкасттарда (контейнерлерде) орналастырылған қолданбалардың көшірмелерінің (даналары) санын көрсетіңіз. 3. Жүйені белгілі бір күйде ұстауға жауапты, егер бірдеңе құлап қалса, K8s оны белгіленген конфигурацияға сәйкес көтеріп алады. Мұнда нені есте сақтау керек: Kubernetes - бұл контейнерлік қолданбаларды басқаруға арналған құрал - оларды кластерде орналастыруды, масштабтауды және үйлестіруді автоматтандыру. Негізгі контейнерлік технологияларды, соның ішінде Docker-ді қолдайды. K8s ашық бастапқы бағдарламалық құрал болып табылады. Docker, Kubernetes, OpenShift деген кім және олар бір-бірімен қалай байланысты?  - 7 OpenShift - бұл виртуализация әлеміндегі Ferrari, керемет, жылдам және қымбат Тақырыпты дамыту, OpenShift-ке көшейік. OpenShift - бұл Kubernetes қосымшасы, ол қосымша функцияларды ұсынады.Ол бірден пайдалануға дайын, ол ұзақ және ауыр конфигурацияны қажет етпейді және бірден өндіріске енгізілуі мүмкін. Kubernetes үстінде қанша түрлі белгішелер бар екенін қараңыз. Және олардың әрқайсысы өздерінің керемет істерін жасайды. Docker, Kubernetes, OpenShift деген кім және олар бір-бірімен қалай байланысты?  - 8 OpenShift мыналарды ерекшелейді: • Бұл K8s сияқты ақылы өнім; • Қораптан шыққан DevOps, негізгі көк/жасыл, канареяларды орналастыру сценарийлеріне қолдау көрсету; • Кірістірілген Дженкинс қолдауы; • Кластерді басқару және онымен жұмыс істеу үшін ыңғайлы құралдарды ұсынады; • Қатаң қауіпсіздік үлгісі және кірістірілген мониторингі бар. OpenShift Kubernetes-тен айырмашылығы ақылы өнім екенін тағы бір рет атап өткен жөн. Айырмашылық мынада: егер біз жалаңаш Кубернеттерді алсақ, онда барлық мәселелерді өзіміз шешеміз. Егер OpenShift туралы айтатын болсақ, бұл ақылы қолдаудың бөлігі ретінде пайда болған мәселелерді шешетін Red Hat өнімі. Қорытындылаймыз: Өнеркәсіптік дамуда қолданбаны «пакеттеу» қажеттілігі туындайды, бұл тәсіл әсіресе микросервис архитектурасында өзекті. Контейнерлер орауыш қолданудың негізгі құралы болып табылады. Docker контейнерлерді өңдейді, контейнер кескіндерін жасайды, контейнерлерді алады және жылжытады. Бір уақытта контейнерлер шоғырын басқару үшін Docker құрамына кіретін Docker Compose пайдаланылады. Бұл бағдарламалар тегін бағдарламалық құрал болып табылады. Kubernetes(K8s) - контейнерлік қолданбаларды реттеуге арналған құрал - оларды кластерде орналастыруды, масштабтауды және үйлестіруді автоматтандыру. Негізгі контейнерлік технологияларды, соның ішінде Docker-ді қолдайды. K8s ашық бастапқы бағдарламалық құрал болып табылады. OpenShift - бұл қосымша функцияларды ұсынатын Kubernetes қосымшасы. Бұл ақылы өнім, K8 құрылғыларынан айырмашылығы, корпоративтік пайдалануға арналған. Қораптан тыс DevOps ұсынады: көк/жасыл, канария негізгі орналастыру сценарийлеріне қолдау, Дженкинс үшін кірістірілген қолдау бар және кластерді басқару және жұмыс істеу үшін ыңғайлы құралдармен қамтамасыз етеді. Қатаң қауіпсіздік үлгісі және кірістірілген мониторингі бар. Кодты қышитындар үшін: Spring Boot қолданбасын контейнерге бумалау Docker жүйесінде Postgres қалай орналастыруға және Spring-Boot қолданбасына қосылуға болады Вебинар: Docker - Контейнерлермен қалай жұмыс істеу керек? — Java тіліндегі бэкендті әзірлеу
Пікірлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION