istio.io/content/uk/docs/setup/install/istioctl/index.md

13 KiB
Raw Blame History

title description weight keywords owner test
Встановлення за допомогою Istioctl Встановіть та налаштуйте будь-який профіль конфігурації Istio для глибокої оцінки або використання в операційному середовищі. 10
istioctl
kubernetes
istio/wg-environments-maintainers no

Слідуйте цьому посібнику для встановлення та налаштування мережі Istio для глибокої оцінки або використання в операційному середовищі. Якщо ви новачок в Istio і просто хочете спробувати його, слідуйте інструкціям для швидкого старту.

У цьому посібнику з встановлення використовується інструмент командного рядка istioctl для надання широких можливостей налаштування панелі управління Istio та sidecars для панелі даних Istio. У ньому є перевірка введених користувачем даних, щоб запобігти помилкам під час встановлення, а також опції налаштування, які дозволяють замінити будь-який аспект конфігурації.

Завдяки цим інструкціям ви можете вибрати будь-який з вбудованих профілів конфігурації Istio та подальше налаштування конфігурації відповідно до ваших конкретних потреб.

Команда istioctl підтримує повний IstioOperator API через параметри командного рядка для окремих налаштувань або для передачі yaml-файлу, що містить IstioOperator {{}}власний ресурс (CR){{}}.

Передумови

Перед початком перевірте наступні вимоги:

  1. Завантажте реліз Istio.
  2. Виконайте будь-яке необхідне налаштування для вашої платформи.
  3. Перевірте Вимоги до Podʼів та Сервісів.

Встановлення Istio за допомогою стандартного профілю

Найпростіший варіант — це встановити default профіль конфігурації Istio за допомогою наступної команди:

{{< text bash >}} $ istioctl install {{< /text >}}

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

Для зміни інсталяцій можна налаштувати різні параметри. Наприклад, увімкнути журнали доступу:

{{< text bash >}} $ istioctl install --set meshConfig.accessLogFile=/dev/stdout {{< /text >}}

{{< tip >}} Багато прикладів на цій сторінці та в іншій документації написані з використанням --set для зміни параметрів встановлення, а не передачі конфігураційного файлу з -f. Це зроблено для спрощення прикладів. Обидва методи еквівалентні, але -f наполегливо рекомендується для операційного середовища. Вищенаведену команду можна переписати наступним чином, використовуючи -f:

{{< text bash >}} $ cat < ./my-config.yaml apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: accessLogFile: /dev/stdout EOF $ istioctl install -f my-config.yaml {{< /text >}}

{{< /tip >}}

{{< tip >}} Повний API документовано в довідці IstioOperator API. Загалом, ви можете використовувати прапорець --set в istioctl, як це робиться в Helm, а API Helm values.yaml наразі підтримується для зворотної сумісності. Єдина відмінність у тому, що ви повинні додавати values. до застарілих шляхів values.yaml, оскільки це префікс для API передачі Helm. {{< /tip >}}

Встановлення з зовнішніх чартів

Стандартно, istioctl використовує вбудовані чарти для генерації маніфесту встановлення. Ці чарти випускаються разом з istioctl для аудиту та налаштувань, їх можна знайти в архіві релізу в теці manifests. istioctl також може використовувати зовнішні чарти замість вбудованих. Щоб вибрати зовнішні чарти, встановіть в прапорець manifests шлях до локальної файлової системи:

{{< text bash >}} $ istioctl install --manifests=manifests/ {{< /text >}}

Якщо використовувати бінарний файл istioctl {{< istio_full_version >}}, ця команда призведе до тієї ж установки, що й istioctl install самостійно, оскільки вона вказує на ті ж чарти, що й вбудовані. Окрім експериментування або тестування нових функцій, рекомендується використовувати вбудовані чарти, а не зовнішні, для забезпечення сумісності бінарного файлу istioctl з чартами.

Встановлення іншого профілю

Інші профілі конфігурації Istio можна встановити в кластер, передавши назву профілю в командному рядку. Наприклад, для встановлення профілю demo можна використовувати наступну команду:

{{< text bash >}} $ istioctl install --set profile=demo {{< /text >}}

Створення маніфесту перед встановленням

Ви можете згенерувати маніфест перед встановленням Istio, використовуючи підкоманду manifest generate. Наприклад, використовуйте наступну команду для генерації маніфесту для профілю default:

{{< text bash >}} $ istioctl manifest generate > $HOME/generated-manifest.yaml {{< /text >}}

Згенерований маніфест можна використовувати для перевірки того, що саме буде встановлено, а також для відстеження змін у маніфесті з часом. Хоча IstioOperator CR представляє повну конфігурацію користувача і достатній для її відстеження, вихідні дані з manifest generate також відображають можливі зміни в основних чартах і тому можуть бути використані для відстеження фактично встановлених ресурсів.

{{< tip >}} Будь-які додаткові прапорці або перевизначення власних значень, які ви зазвичай використовуєте для встановлення, також слід вказати у команді istioctl manifest generate. {{< /tip >}}

{{< warning >}} Якщо ви намагаєтеся встановити та управляти Istio за допомогою istioctl manifest generate, зверніть увагу на наступні застереження:

  1. Простір імен Istio (istio-system стандартний) повинен бути створений вручну.

  2. Перевірка Istio не буде стандартно увімкнена. На відміну від istioctl install, команда manifest generate не створює конфігурацію валідуючого вебхука istiod-default-validator, якщо не встановлено values.defaultRevision:

    {{< text bash >}} $ istioctl manifest generate --set values.defaultRevision=default {{< /text >}}

  3. Ресурси можуть не встановлюватися з тією ж послідовністю залежностей, як в istioctl install.

  4. Цей метод не тестується як частина випусків Istio.

  5. Хоча istioctl install автоматично виявляє специфічні налаштування середовища з вашого контексту Kubernetes, manifest generate не може цього зробити, оскільки вона працює офлайн, що може призвести до неочікуваних результатів. Особливо, ви повинні переконатися, що дотримуєтеся цих кроків, якщо ваше середовище Kubernetes не підтримує токени облікових записів сервісів третьої сторони. Рекомендується додати --cluster-specific до команди istio manifest generate для визначення середовища цільового кластера, що дозволить вбудувати ці налаштування середовища до згенерованих маніфестів. Для цього потрібен мережевий доступ до кластера, на якому ви працюєте.

  6. kubectl apply зі згенерованим маніфестом може показувати тимчасові помилки через недоступність ресурсів у кластері в правильному порядку.

  7. istioctl install автоматично очищає будь-які ресурси, які повинні бути видалені при зміні конфігурації (наприклад, якщо ви видаляєте шлюз). Це не відбувається при використанні istio manifest generate з kubectl, і ці ресурси повинні бути видалені вручну.

{{< /warning >}}

Дивіться Налаштування конфігурації встановлення для отримання додаткової інформації про налаштування встановлення.

Видалення Istio

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

{{< text bash >}} $ istioctl uninstall --purge {{< /text >}}

{{< warning >}} Необовʼязковий прапорець --purge видалить всі ресурси Istio, включаючи ресурси, які можуть бути спільними з іншими панелями управління Istio. {{< /warning >}}

Альтернативно, щоб видалити тільки певну панель управління Istio, виконайте наступну команду:

{{< text bash >}} $ istioctl uninstall <ваші початкові параметри встановлення> {{< /text >}}

або

{{< text bash >}} $ istioctl manifest generate <ваші початкові параметри встановлення> | kubectl delete --ignore-not-found=true -f - {{< /text >}}

Простір імен панелі управління (наприклад, istio-system) стандартно не видаляється. Якщо більше не потрібен, використовуйте наступну команду для його видалення:

{{< text bash >}} $ kubectl delete namespace istio-system {{< /text >}}