Kubernetes Cordon: як це працює та коли його використовувати

Kubernetes дає вам можливість вручну адмініструвати та керувати вузлами. Використовуючи kubectl, ви можете легко створити об’єкт вузла та змінити вузли – наприклад, встановити мітку або позначити його як незапланований. Тут на допомогу приходить шнур Kubernetes. Що таке команда Kubernetes cordon і як нею користуватися? Прочитайте цю статтю, щоб дізнатися.

Kubernetes cordon
Що таке Kubernetes Cord?

Шнур Kubernetes — це операція, яка позначає або псує вузол у вашому існуючому пулі вузлів як такий, що не планується. Використовуючи його на вузлі, ви можете бути впевнені, що для цього вузла не буде заплановано нових модулів. Ця команда не дозволяє планувальнику Kubernetes розміщувати нові модулі на цьому вузлі, але вона не впливає на існуючі пакети на цьому вузлі.

Щоб позначити вузол як незапланований, просто виконайте цю команду:

cord kubectl $NODENAME

Зверніть увагу, що ви можете запускати модулі, які є частиною DaemonSet, на вузлі, який не планується. Це пояснюється тим, що DaemonSets зазвичай надають локальні служби вузла, які повинні працювати на вузлі, навіть якщо він позначений як незапланований і не має робочого навантаження.

Коли ви використовуєте шнур Kubernetes?

Вузли в кластері Kubernetes можуть потребувати технічного обслуговування, незалежно від того, чи потрібно замінити апаратні компоненти в інсталяції, що розміщено самостійно, чи оновити ядро ​​вузла чи змінити розмір його обчислювальних ресурсів із хмарного постачальника.

Kubernetes cordon and drain готує вашу програму до простою вузла, дозволяючи перепланувати робочі навантаження, що виконуються на одному цільовому вузлі, на інших. Потім ви можете безпечно вимкнути вузол і видалити його зі свого кластера, впевнені, що це жодним чином не вплине на доступність служби.

Як працює шнур Kubernetes – покроковий посібник Крок 1: зав’яжіть вузол

Зациклюючи вузол, ви позначаєте його як недоступний для планувальника. Це робить вузол непридатним для розміщення нових пакетів, які буде додано до вашого кластера.

Щоб розмістити шнур навколо названого вузла, скористайтеся цією командою:

$ kubectl-12 вузол шнура

Це не вплине на існуючі модулі на цьому вузлі, і вони залишаться доступними.

Бажаєте перевірити, які вузли зараз закрито? Використовуйте команду get nodes:

$ kubectl отримати вузли НАЗВА СТАТУС РОЛЬ ВІК ВЕРСІЯ node-12 Ready, SchedulingDisabled control-plane, master 22m v1.23.3

Усі вузли кабелю відображатимуться зі статусом SchedulingDisabled.

Крок 2: Очищення вузла

Щоб очистити вузол від решти модулів, його потрібно очистити. Цей процес вилучає модулі, щоб їх можна було перенести на інші вузли у вашому кластері. Ви можете елегантно завершити модулі, перш ніж примусово видалити їх із вузла, який ви плануєте спорожнити.

Щоб розпочати процедуру дренажу, запустіть kubectl drain, вказавши ім’я вузла, який ви дренуєте:

$ kubectl дренажний вузол-12 node/node-12 вже закрито виселити kube-system/storage-provisioner pod викидання за замовчуванням pod/nginx-7c658794b9-zszdd kube-system/coredns-64897985d-dp6lx виселення модуля постачальник пакета/сховища вигнано pod/nginx-7c658794b9-zszdd вигнано pod/coredns-64897985d-dp6lx вигнано вузол/вузол-12 виселений

Примітка. На практиці скидання без пропуску наборів демонов...

Kubernetes Cordon: як це працює та коли його використовувати

Kubernetes дає вам можливість вручну адмініструвати та керувати вузлами. Використовуючи kubectl, ви можете легко створити об’єкт вузла та змінити вузли – наприклад, встановити мітку або позначити його як незапланований. Тут на допомогу приходить шнур Kubernetes. Що таке команда Kubernetes cordon і як нею користуватися? Прочитайте цю статтю, щоб дізнатися.

Kubernetes cordon
Що таке Kubernetes Cord?

Шнур Kubernetes — це операція, яка позначає або псує вузол у вашому існуючому пулі вузлів як такий, що не планується. Використовуючи його на вузлі, ви можете бути впевнені, що для цього вузла не буде заплановано нових модулів. Ця команда не дозволяє планувальнику Kubernetes розміщувати нові модулі на цьому вузлі, але вона не впливає на існуючі пакети на цьому вузлі.

Щоб позначити вузол як незапланований, просто виконайте цю команду:

cord kubectl $NODENAME

Зверніть увагу, що ви можете запускати модулі, які є частиною DaemonSet, на вузлі, який не планується. Це пояснюється тим, що DaemonSets зазвичай надають локальні служби вузла, які повинні працювати на вузлі, навіть якщо він позначений як незапланований і не має робочого навантаження.

Коли ви використовуєте шнур Kubernetes?

Вузли в кластері Kubernetes можуть потребувати технічного обслуговування, незалежно від того, чи потрібно замінити апаратні компоненти в інсталяції, що розміщено самостійно, чи оновити ядро ​​вузла чи змінити розмір його обчислювальних ресурсів із хмарного постачальника.

Kubernetes cordon and drain готує вашу програму до простою вузла, дозволяючи перепланувати робочі навантаження, що виконуються на одному цільовому вузлі, на інших. Потім ви можете безпечно вимкнути вузол і видалити його зі свого кластера, впевнені, що це жодним чином не вплине на доступність служби.

Як працює шнур Kubernetes – покроковий посібник Крок 1: зав’яжіть вузол

Зациклюючи вузол, ви позначаєте його як недоступний для планувальника. Це робить вузол непридатним для розміщення нових пакетів, які буде додано до вашого кластера.

Щоб розмістити шнур навколо названого вузла, скористайтеся цією командою:

$ kubectl-12 вузол шнура

Це не вплине на існуючі модулі на цьому вузлі, і вони залишаться доступними.

Бажаєте перевірити, які вузли зараз закрито? Використовуйте команду get nodes:

$ kubectl отримати вузли НАЗВА СТАТУС РОЛЬ ВІК ВЕРСІЯ node-12 Ready, SchedulingDisabled control-plane, master 22m v1.23.3

Усі вузли кабелю відображатимуться зі статусом SchedulingDisabled.

Крок 2: Очищення вузла

Щоб очистити вузол від решти модулів, його потрібно очистити. Цей процес вилучає модулі, щоб їх можна було перенести на інші вузли у вашому кластері. Ви можете елегантно завершити модулі, перш ніж примусово видалити їх із вузла, який ви плануєте спорожнити.

Щоб розпочати процедуру дренажу, запустіть kubectl drain, вказавши ім’я вузла, який ви дренуєте:

$ kubectl дренажний вузол-12 node/node-12 вже закрито виселити kube-system/storage-provisioner pod викидання за замовчуванням pod/nginx-7c658794b9-zszdd kube-system/coredns-64897985d-dp6lx виселення модуля постачальник пакета/сховища вигнано pod/nginx-7c658794b9-zszdd вигнано pod/coredns-64897985d-dp6lx вигнано вузол/вузол-12 виселений

Примітка. На практиці скидання без пропуску наборів демонов...

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow