Урок за Kubernetes - изчерпателно ръководство за Kubernetes



Този блог в Kubernetes Tutorial ще ви преведе през всички концепции за система за оркестрация на контейнери с практически ръце.

Kubernetes е платформа, която елиминира ръчните процеси, свързани с внедряването на контейнерирани приложения. В този блог на Kubernetes Tutorial ще преминете през всички концепции, свързани с това решение за управление на няколко контейнера.

Следните теми ще бъдат разгледани в този урок:





Сега, преди да продължа напред в този блог, позволете ми само накратко да ви запозная с контейнеризирането.

Така че, преди да се появят контейнери, разработчиците и тестерите винаги са имали разминаване между тях. Това обикновено се случва, защото това, което работи от страна на разработчика, няма да работи от страна на тестването. И двамата съществували в различни среди. Сега, за да се избегнат подобни сценарии, бяха въведени контейнери, така че както разработчиците, така и тестерите бяха на една и съща страница.



Работата с голям брой контейнери заедно е също проблем. Понякога при пускането на контейнери, от страна на продукта, се повдигаха няколко въпроса, които не присъстваха на етапа на разработване. Този тип сценарии въведоха системата за оркестрация на контейнери.

Преди да се задълбоча в системата за оркестрация, позволете ми само бързо да изброя предизвикателствата, пред които е изправена без тази система.



конвертиране на double в int в java

Урок на Kubernetes: Предизвикателства без оркестрация на контейнери

Предизвикателства без оркестрация на контейнери - Урок по Kubernetes - Edureka

Както можете да видите на горната диаграма, когато множество услуги се изпълняват в контейнери, може да искате да мащабирате тези контейнери. В големите индустрии това е наистина трудно да се направи. Това е така, защото това би увеличило разходите за поддръжка на услугите и сложността да ги управлявате рамо до рамо.

Сега, за да се избегне настройването на услугите ръчно и да се преодолеят предизвикателствата, беше необходимо нещо голямо. Това е мястото, където Container Orchestration Engine влиза в картината.

Този двигател ни позволява да организираме множество контейнери по такъв начин, че всички базови машини да бъдат стартирани, контейнерите да са здрави и да се разпространяват в клъстеризирана среда. В днешния свят има главно два такива двигателя: Управители & Докер рояк .

Урок за Kubernetes: Kubernetes срещу Docker Swarm

Управители и Докер рояк са водещи инструменти за оркестрация на контейнери на днешния пазар. Така че, преди да ги използвате в прод, трябва да знаете какви точно са и как работят.

Освен това в блога ще се потопя дълбоко в Kubernetes, но за да разберете за Docker, можете да кликнете .

Както можете да се обърнете към горното изображение, Kubernetes, в сравнение с Docker Swarm, притежава страхотна активна общност и дава възможност за автоматично мащабиране в много организации. По същия начин Docker Swarm има лесен за стартиране клъстер в сравнение с Kubernetes, но е ограничен до възможностите на Docker API.

Е, хора, това не са единствените разлики между тези най-добри инструменти. Ако искате да знаете подробните разлики между двата инструмента за оркестрация на контейнери, можете да щракнете

Интересувате ли се да научите повече за Kubernetes?

Ако можех да избера своя избор между двете, тогава щеше да е Kubernetes, тъй като контейнерите трябва да се управляват и да се свързват с външния свят за задачи като планиране, балансиране на товара и разпределение.

Но ако мислите логично, Docker Swarm би направил по-добър вариант, тъй като работи върху Docker, нали? Ако бях на ваше място, определено щях да се объркам кой инструмент да използвам. Хей, Kubernetes е безспорен лидер на пазара, а също така работи върху контейнери на Docker с по-добри функционалности.

Сега, след като разбрахте нуждата от Kubernetes, сега е подходящо време да ви кажа Какво представлява Kubernetes?

Урок за Kubernetes: Какво представлява Kubernetes?

е с отворен код система, която обработва работата по планиране на контейнери върху изчислителен клъстер и управлява работните натоварвания, за да гарантира, че те се изпълняват по предназначение на потребителя. Като идея на Google, той предлага отлична общност и работи блестящо с всички доставчици на облак, за да се превърне в решение за управление на няколко контейнера.

Урок за Kubernetes: Характеристики на Kubernetes

Характеристиките на Kubernetes са както следва:

  • Автоматизирано планиране: Kubernetes предоставя усъвършенстван планировчик за стартиране на контейнер на клъстерни възли въз основа на техните изисквания за ресурси и други ограничения, като същевременно не жертва наличността.
  • Способности за самолечение: Kubernetes позволява да замества и преназначава контейнери, когато възлите умрат. Той също така убива контейнери, които не отговарят на дефинираната от потребителя проверка на състоянието и не ги рекламира на клиенти, докато не са готови за обслужване.
  • Автоматизирано пускане и връщане: Kubernetes пуска промени в приложението или неговата конфигурация, като същевременно следи състоянието на приложението, за да гарантира, че не унищожава всичките ви копия едновременно. Ако нещо се обърка, с Kubernetes можете да върнете промяната.
  • Хоризонтално мащабиране и балансиране на натоварването: Kubernetes може да мащабира и намалява приложението според изискванията с проста команда, използвайки потребителски интерфейс или автоматично въз основа на използването на процесора.

Урок за Kubernetes: Архитектура Kubernetes

Kubernetes Architecture има следните основни компоненти:

  • Главни възли
  • Работни / подчинени възли

Ще обсъдя всеки един от тях един по един. И така, първоначално нека започнем с разбирането на Главен възел .

Главен възел

Главният възел е отговорен за управлението на клъстера Kubernetes. Това е главно входната точка за всички административни задачи. В клъстера може да има повече от един главен възел за проверка на устойчивост на грешки.

Както можете да видите в горната диаграма, главният възел има различни компоненти като API Server, Controller Manager, Scheduler и ETCD.

  • API сървър: API сървърът е входна точка за всички REST команди, използвани за управление на клъстера.
  • Мениджър на контролера: Това е демон, който регулира клъстера Kubernetes и управлява различни неприключващи контури за управление.
  • Планировчик: Планировчикът планира задачите към подчинени възли. Той съхранява информацията за използването на ресурсите за всеки подчинен възел.
  • ETCD: ETCD е просто, разпределено, последователно хранилище ключ-стойност. Използва се главно за споделена конфигурация и откриване на услуги.

Работни / подчинени възли

Работните възли съдържат всички необходими услуги за управление на мрежата между контейнерите, комуникация с главния възел и присвояване на ресурси към планираните контейнери.

Както можете да видите в горната диаграма, работният възел има различни компоненти като Docker Container, Kubelet, Kube-proxy и Pods.

  • Докер контейнер: Docker работи на всеки от работните възли и изпълнява конфигурираните под
  • Кубелет: Kubelet получава конфигурацията на Pod от API сървъра и гарантира, че описаните контейнери работят и работят.
  • Куби прокси: Kube-proxy действа като мрежов прокси и балансиращ товар за услуга на един работен възел
  • Подс: Под е един или повече контейнери, които логически се изпълняват заедно на възли.

Ако искате подробно обяснение на всички компоненти на Kubernetes Architecture, тогава можете да се обърнете към нашата блог на

Искате да получите сертификат в Kubernetes?

Урок за Kubernetes: Кубернетес - казус

Y. ахау! ЯПОНИЯ е доставчик на уеб услуги със седалище в Сънивейл, Калифорния. Тъй като компанията се стреми да виртуализира хардуера, компанията започва да използва OpenStack през 2012 г. Вътрешната им среда се промени много бързо. Поради напредъка на облачната и контейнерната технология обаче компанията искаше капацитетае необходимо да се стартират услуги на различни платформи.

Проблем: Как да създам изображения за всички необходими платформи от един код на приложението и да ги разположа на всяка платформа?

За по-добро разбиране вижте изображението по-долу. Когато кодът се промени в регистъра на кодовете, голите метални изображения, контейнерите на Docker и VM изображенията се създават чрез инструменти за непрекъсната интеграция, избутват се в регистъра на изображенията и след това се разполагат във всяка инфраструктурна платформа.


Сега, нека се съсредоточим върху работния процес на контейнера, за да разберем как те са използвали Kubernetes като платформа за внедряване. Вижте изображението по-долу, за да надникнете в архитектурата на платформата.

Използват се екземпляри на OpenStack, с Docker, Kubernetes, Calico и т.н. върху него за извършване на различни операции като Container Networking, Container Registry и т.н.

Когато имате редица клъстери, тогава става трудно да ги управлявате, нали?

И така, те просто искаха да създадат прост, основен клъстер OpenStack, за да предоставят основната функционалност, необходима за Kubernetes и да направят средата на OpenStack по-лесна за управление.

Чрез комбинацията от работен поток за създаване на изображения и Kubernetes, те изградиха долната верига от инструменти, която улеснява от натискането на кода до внедряването.

изпълнение на свързан списък в c


Този тип инструментариум се увери, че са взети предвид всички фактори за внедряване на продукцията, като мулти-наемане, удостоверяване, съхранение, работа в мрежа, откриване на услуги.

Ето как хора, Yahoo! ЯПОНИЯ изгради верига от инструменти за автоматизация за разполагане на код с едно щракване в Kubernetes, работещ на OpenStack, с помощта на Google и Солинея .

Урок за управители: Практически

В този Hands-On ще ви покажа как да създадете внедряване и услуга. Използвам екземпляр на Amazon EC2, за да използвам Kubernetes. Е, Amazon измисли Amazon Elastic Container Service за Управители (Amazon EKS) , което им позволява да създават Kubernetes клъстери в облака много бързо и лесно. Ако искате да научите повече за това, можете да се обърнете към блога

Етап 1: Първо създайте папка в който ще създадете своето внедряване и услуга. След това използвайте редактор и отворете файл за внедряване .

mkdir handsOn cd handsOn vi Разполагане.yaml

Стъпка 2: След като отворите файла за внедряване, споменете всички спецификации за приложението, което искате да внедрите. Тук се опитвам да разположа httpd приложение.

apiVersion: apps / v1 # Определя вида на версията на API: Параметърът за внедряване #Kinds дефинира за какъв тип файл става дума, тук е Метаданни за разполагане: name: dep1 # Съхранява името на спецификацията за внедряване: # Под Спецификации, вие споменавате всички спецификациите за разполагане на реплики: 3 # Броят на репликите ще бъде 3 селектор: matchLabels: app: httpd # Името на етикета, което ще се търси, е httpd шаблон: метаданни: етикети: приложение: httpd # Име на шаблон ще бъде httpd spec: # Под Спецификации, споменавате всички спецификации за контейнерите на контейнерите: - име: httpd # Името на контейнерите ще бъде httpd изображение: httpd: най-ново # Изображението, което трябва да бъде изтеглено, е httpd: най-новите портове: - containerPort: 80 # Приложението ще бъдат изложени на порт 80

Стъпка 3: След като напишете вашия файл за внедряване, приложете разполагането, като използвате следната команда.

kubectl приложи -f Deploy.yaml

Тук -f е името на флага, използвано заттой досиеиме.

Стъпка 4: Сега, след като разгръщането е приложено, вземете списъка на изпълняваните шушулки.

kubectl получи шушулки -o широк

Тук се използват -o wide, за да се знае на кой възел се изпълнява разгръщането.

Стъпка 5: След като сте създали разполагане, сега трябва да създадете услуга. За това отново използвайте редактор и отворете празно място обслужване. yaml файл .

vi услуга.yaml

Стъпка 6: След като отворите файл за услуга, споменете всички спецификации за услугата.

apiVersion: v1 # Определя вида на версията на API: параметърът Service #Kinds определя кой тип файл е, тук е метаданни на услугата: name: netsvc # Съхранява името на спецификацията на услугата: # Под Спецификации споменавате всички спецификации за тип услуга: NodePort селектор: app: httpd ports: -protocol: TCP port: 80 targetPort: 8084 # Номер на целевия порт е 8084

Стъпка 7: След като напишете вашия сервизен файл, приложете сервизния файл, като използвате следната команда.

kubectl се прилага -f услуга.yaml

Стъпка 8: Сега, след като услугата ви е приложена, за да проверите дали услугата работи или не, използвайте следната команда.

kubectl получи svc

Стъпка 9: Сега, за да видите спецификациите на услугата и да проверите коя е крайната точкаобвързан с, използвайте следната команда.

kubectl описва svc

Стъпка 10: Сега, тъй като използваме екземпляр amazon ec2, за да извлечем уеб страницата и да проверим изхода, използвайте следната команда.

curl ip-адрес

Ако сте намерили този блог с уроци по Kubernetes подходящ, разгледайте от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят.

Имате въпрос към нас? Моля, споменете го в раздела за коментари на ” Урок за Kubernetes ”И ще се свържа с вас.