Встановлення за допомогою Istioctl
Слідуйте цьому посібнику для встановлення та налаштування мережі Istio для глибокої оцінки або використання в операційному середовищі. Якщо ви новачок в Istio і просто хочете спробувати його, слідуйте інструкціям для швидкого старту.
У цьому посібнику з встановлення використовується інструмент командного рядка istioctl для надання широких можливостей налаштування панелі управління Istio та sidecars для панелі даних Istio. У ньому є перевірка введених користувачем даних, щоб запобігти помилкам під час встановлення, а також опції налаштування, які дозволяють замінити будь-який аспект конфігурації.
Завдяки цим інструкціям ви можете вибрати будь-який з вбудованих профілів конфігурації Istio та подальше налаштування конфігурації відповідно до ваших конкретних потреб.
Команда istioctl
підтримує повний IstioOperator
API через параметри командного рядка для окремих налаштувань або для передачі yaml-файлу, що містить IstioOperator
власний ресурс (CR).
Передумови
Перед початком перевірте наступні вимоги:
- Завантажте реліз Istio.
- Виконайте будь-яке необхідне налаштування для вашої платформи.
- Перевірте Вимоги до Podʼів та Сервісів.
Встановлення Istio за допомогою стандартного профілю
Найпростіший варіант — це встановити default
профіль конфігурації Istio за допомогою наступної команди:
$ istioctl install
Ця команда встановлює профіль default
в кластер, визначений вашою конфігурацією Kubernetes. Профіль default
є хорошою відправною точкою для створення операційного середовища, на відміну від більшого профілю demo
, який призначений для оцінки широкого набору можливостей Istio.
Для зміни інсталяцій можна налаштувати різні параметри. Наприклад, увімкнути журнали доступу:
$ istioctl install --set meshConfig.accessLogFile=/dev/stdout
Встановлення з зовнішніх чартів
Стандартно, istioctl
використовує вбудовані чарти для генерації маніфесту встановлення. Ці чарти випускаються разом з istioctl
для аудиту та налаштувань, їх можна знайти в архіві релізу в теці manifests
. istioctl
також може використовувати зовнішні чарти замість вбудованих. Щоб вибрати зовнішні чарти, встановіть в прапорець manifests
шлях до локальної файлової системи:
$ istioctl install --manifests=manifests/
Якщо використовувати бінарний файл istioctl
1.25.1, ця команда призведе до тієї ж установки, що й istioctl install
самостійно, оскільки вона вказує на ті ж чарти, що й вбудовані. Окрім експериментування або тестування нових функцій, рекомендується використовувати вбудовані чарти, а не зовнішні, для забезпечення сумісності бінарного файлу istioctl
з чартами.
Встановлення іншого профілю
Інші профілі конфігурації Istio можна встановити в кластер, передавши назву профілю в командному рядку. Наприклад, для встановлення профілю demo
можна використовувати наступну команду:
$ istioctl install --set profile=demo
Створення маніфесту перед встановленням
Ви можете згенерувати маніфест перед встановленням Istio, використовуючи підкоманду manifest generate
. Наприклад, використовуйте наступну команду для генерації маніфесту для профілю default
:
$ istioctl manifest generate > $HOME/generated-manifest.yaml
Згенерований маніфест можна використовувати для перевірки того, що саме буде встановлено, а також для відстеження змін у маніфесті з часом. Хоча IstioOperator
CR представляє повну конфігурацію користувача і достатній для її відстеження, вихідні дані з manifest generate
також відображають можливі зміни в основних чартах і тому можуть бути використані для відстеження фактично встановлених ресурсів.
Дивіться Налаштування конфігурації встановлення для отримання додаткової інформації про налаштування встановлення.
Видалення Istio
Щоб повністю видалити Istio з кластера, виконайте наступну команду:
$ istioctl uninstall --purge
Альтернативно, щоб видалити тільки певну панель управління Istio, виконайте наступну команду:
$ istioctl uninstall <ваші початкові параметри встановлення>
або
$ istioctl manifest generate <ваші початкові параметри встановлення> | kubectl delete --ignore-not-found=true -f -
Простір імен панелі управління (наприклад, istio-system
) стандартно не видаляється. Якщо більше не потрібен, використовуйте наступну команду для його видалення:
$ kubectl delete namespace istio-system