Використання інструменту командного рядка Istioctl
Ви можете отримати уявлення про те, що роблять окремі компоненти, переглядаючи їх журнали або заглядаючи всередину за допомогою інтроспекції. Якщо цього недостатньо, нижче описано, як заглянути під капот.
Інструмент istioctl — це інструмент командного рядка для конфігурації, який дозволяє операторам сервісів налагоджувати та діагностувати свої розгортання сервісної мережі Istio. Проєкт Istio також включає два корисні скрипти для istioctl, які забезпечують автодоповнення для Bash і Zsh. Обидва скрипти підтримують команди, доступні в поточній версії istioctl.
Перед початком
Рекомендуємо використовувати ту ж версію istioctl, що й версія вашої панелі управління Istio. Використання однакових версій допомагає уникнути непередбачуваних проблем.
Встановлення istioctl
Встановіть бінарний файл istioctl за допомогою curl:
Завантажте останній випуск командою:
$ curl -sL https://istio.io/downloadIstioctl | sh -Додайте клієнт
istioctlдо вашого шляху в системі macOS або Linux:$ export PATH=$HOME/.istioctl/bin:$PATHВи можете опціонально увімкнути опцію автодоповнення під час роботи з консоллю bash або Zsh.
Огляд вашої мережі
Ви можете отримати огляд вашої мережі за допомогою команди proxy-status або ps:
$ istioctl proxy-statusЯкщо у виведеному списку відсутній проксі, це означає, що він наразі не підключений до екземпляра istiod і тому не отримає жодної конфігурації. Крім того, якщо він позначений як застарілий, це, ймовірно, свідчить про проблеми з мережею або необхідність масштабування istiod.
Отримання конфігурації проксі
Інструмент istioctl дозволяє отримати інформацію про конфігурацію проксі за допомогою команди proxy-config або pc.
Наприклад, щоб отримати інформацію про конфігурацію кластерів для екземпляра Envoy у конкретному podʼі:
$ istioctl proxy-config cluster <pod-name> [flags]Щоб отримати інформацію про початкову конфігурацію для екземпляра Envoy у конкретному podʼі:
$ istioctl proxy-config bootstrap <pod-name> [flags]Щоб отримати інформацію про конфігурацію слухачів для екземпляра Envoy у конкретному podʼі:
$ istioctl proxy-config listener <pod-name> [flags]Щоб отримати інформацію про конфігурацію маршрутів для екземпляра Envoy у конкретному podʼі:
$ istioctl proxy-config route <pod-name> [flags]Щоб отримати інформацію про конфігурацію кінцевих точок для екземпляра Envoy у конкретному podʼі:
$ istioctl proxy-config endpoints <pod-name> [flags]Дивіться Налагодження Envoy та Istiod для отримання порад щодо інтерпретації цієї інформації.
Автодоповнення istioctl
Якщо ви використовуєте операційну систему macOS з оболонкою термінала Zsh, переконайтеся, що пакет zsh-completions встановлено. За допомогою менеджера пакетів brew для macOS, ви можете перевірити, чи встановлено пакет zsh-completions, за допомогою наступної команди:
$ brew list zsh-completions
/usr/local/Cellar/zsh-completions/0.34.0/share/zsh-completions/ (147 files)Якщо ви отримуєте повідомлення Error: No such keg: /usr/local/Cellar/zsh-completion, встановіть пакет zsh-completions за допомогою наступної команди:
$ brew install zsh-completionsПісля того, як пакет zsh-completions буде встановлено на вашій системі macOS, додайте наступне до вашого файлу ~/.zshrc:
if type brew &>/dev/null; then
FPATH=$(brew --prefix)/share/zsh-completions:$FPATH
autoload -Uz compinit
compinit
fiМожливо, вам також потрібно буде примусово перебудувати zcompdump:
$ rm -f ~/.zcompdump; compinitКрім того, якщо ви отримуєте попередження Zsh compinit: insecure directories під час спроби завантажити ці доповнення, можливо, потрібно виконати наступну команду:
$ chmod -R go-w "$(brew --prefix)/share"Якщо ви використовуєте операційну систему на основі Linux, ви можете встановити пакет автодоповнення Bash за допомогою команди apt-get install bash-completion для дистрибутивів Linux на основі Debian або yum install bash-completion для дистрибутивів на основі RPM, що є двома найбільш поширеними випадками.
Після встановлення пакету bash-completion на вашій системі Linux, додайте наступний рядок до вашого файлу ~/.bash_profile:
[[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && . "/usr/local/etc/profile.d/bash_completion.sh"Увімкнення автодоповнення
Щоб увімкнути автодоповнення для istioctl у вашій системі, виконайте кроки для вашої улюбленої оболонки:
Встановлення файлу автодоповнення для Bash
Якщо ви використовуєте bash, файл автодоповнення для istioctl знаходиться в теці tools. Щоб його використовувати, скопіюйте файл istioctl.bash у вашу домашню теку, а потім додайте наступний рядок до вашого файлу .bashrc, щоб увімкнути автодоповнення:
$ source ~/istioctl.bashВстановлення файлу автодоповнення для Zsh
Для користувачів Zsh файл автодоповнення для istioctl знаходиться в теці tools. Скопіюйте файл _istioctl у вашу домашню теку або будь-яку іншу теку на ваш вибір (оновіть шлях до файлу в наведеному нижче прикладі), а потім увімкніть файл автодоповнення для istioctl у файлі .zshrc, додавши такий рядок:
source ~/_istioctlТакож можна додати файл _istioctl до теки, зазначеного в змінній fpath. Щоб це зробити, помістіть файл _istioctl в наявну теку зі змінної fpath або створіть нову теку і додайте її до змінної fpath у вашому файлі ~/.zshrc.
Використання автодоповнення
Якщо файл автодоповнення для istioctl було правильно встановлено, натисніть клавішу Tab під час введення команди istioctl, і ви отримаєте перелік можливих варіантів команд:
$ istioctl proxy-<TAB>
proxy-config proxy-status