Вземете Kubernetes Ingress Log за отстраняване на грешки

Vzemete Kubernetes Ingress Log Za Otstranavane Na Greski



Знаете ли какво представлява регистрационният файл Get Kubernetes за отстраняване на грешки? Мрежовите проблеми са все по-трудни за диагностициране, тъй като внедряванията стават все по-големи и по-големи. Този урок ви показва как да използвате плъгина ingress-nginx kubectl за отстраняване на грешки в достъпа до вашето приложение чрез входния контролер. Нека първо видим дефиницията на Kubernetes ingress, която е важна, за да разберем по-добре основната тема.

Какво е Kubernetes Ingress?

Определението за вход е „влизане“ в буквалния смисъл.







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




Като роден ресурс на Kubernetes, ingress е сравним с pods, внедрявания и т.н. Можете да поддържате конфигурациите за маршрутизиране на DNS, като използвате ingress. Входящият контролер е това, което извършва маршрутизирането. Той прави това, като чете правилата за маршрутизиране направо от входните обекти, които се съхраняват в etcd. Без навлизането на Kubernetes можете да изложите приложение на външния свят, като включите услуга за балансиране на натоварването в разгръщанията.



Как работи Kubernetes Ingress?

Има две ключови неща, за които трябва да сте наясно. Това са:





Kubernetes Ingress Resource

Този ресурс отговаря за поддържането на всички правила за маршрутизиране на DNS в клъстера. Правилата за маршрутизиране на DNS са посочени в ресурса Kubernetes Ingress, естествен ресурс на Kubernetes. С други думи, вие картографирате външния DNS трафик към вътрешните дестинации на услугата Kubernetes.



Kubernetes Ingress Controller

Чрез получаване на достъп до правилата на DNS, които се изпълняват от входните ресурси, входните контролери на Kubernetes (Nginx/HAProxy и т.н.) отговарят за маршрутизирането.

Внедряването на Ingress Controller не е естествено за Kubernetes. В резултат на това не може да бъде клъстер по подразбиране.

За да функционират входните правила, трябва да конфигурираме входен контролер. На пазара има много контролери с отворен код и бизнес контролери. Версията на клъстера на обратен уеб прокси сървър служи като входящ контролер. Този базиран на Kubernetes обратен прокси сървър е изложен на услуга за балансиране на натоварването.

Какво представлява Ingress Controller?

Програма, работеща в клъстер, наречена Ingress Controller, конфигурира HTTP балансьор на натоварването след ресурсите на Ingress. Устройството за балансиране на натоварването може да бъде външно разгърнат хардуер или облак за балансиране на натоварването или може да функционира като софтуер в рамките на клъстера. Необходими са различни реализации на Ingress Controller за различни балансьори на натоварването.

Когато се използва NGINX, балансьорът на натоварването и входният контролер се разполагат в под.

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

Входящите контролери не се стартират автоматично с клъстер, за разлика от другите типове контролери, които функционират като компонент на двоичния файл kube-controller-manager.

Предпоставки:

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

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

Kubernetes може да бъде достъпен само с една команда, ако имате среда на виртуална машина или Docker (или подобна съвместима) контейнерна среда. Нека започнем процеса стъпка по стъпка сега:

Стъпка 1: Стартирайте Minikube

Използвайки инструмента minikube, можете да стартирате Kubernetes локално. Minikube изпълнява локален Kubernetes клъстер „всичко в едно“ или мулти-възел на вашия компютър за ежедневна развойна работа или за тестване на Kubernetes (включително компютри с Windows, Linux и macOS). Ето командата за стартиране на minikube:

> стартирайте minikube



Стъпка 2: Активирайте Ingress Controller

Ще демонстрираме как да активирате контролера NGINX Ingress в тази стъпка. Изпълнете следната команда:

> minikube добавки активирайте проникване



Стъпка 3: Проверете дали NGINX Ingress Controller работи или не

Сега е важно да проверите дали контролерът NGINX е активен или не. Командата, която следва, може да се използва, за да потвърдите, че:

> kubectl получите подс ingress-nginx



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

Стъпка 4: Създайте приложение Hello World

Тук използваме следната команда, за да създадем внедряване:

> kubectl създаде мрежа за разполагане --образ =gcr.io / google-мостри / здравей-приложение: 1.0



Командата, която се изпълнява и нейните резултати са прикачени в предишното изображение. В изхода може да се види „hello-app“.

Стъпка 5: Разкриване на внедряването

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

> kubectl разкрива внедряване Kalsoom  - -Тип =NodePort --порт = 8080



Можете да видите изхода „service/kalsoom exposed“ в предишното изображение.

Стъпка 6: Посетете услугата чрез NodePort

Това е важна стъпка, в която ви показваме как можете да посетите създадената услуга през NodePort. Командата за постигане на тази цел е дадена в следното:

> minikube услуга Kalsoom  - url



Командата заедно с изхода е приложена в предишното изображение.

Сега IP адресът на Minikube и NodePort улесняват прегледа на примерното приложение. Можете да използвате ресурса на Ingress за достъп до приложението в следващата стъпка.

Стъпка 7: Създайте Ingress

Тук създаваме Ingress, който предава трафика към вашата услуга. Командата се споменава, както следва:

> kubectl се прилага -f https: // k8s.io / примери / обслужване / работа в мрежа / example-ingress.yaml



Както можете да видите, командата е изпълнена успешно.

Стъпка 8: Проверете IP адреса

Проверяваме дали IP адресът е зададен или не. За целта използваме следната дадена команда:

> kubectl получите вход



В изхода трябва да видите IPv4 адрес в колоната АДРЕС.

Заключение

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