Використання інструменту командного рядка Istioctl

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

Інструмент istioctl — це інструмент командного рядка для конфігурації, який дозволяє операторам сервісів налагоджувати та діагностувати свої розгортання сервісної мережі Istio. Проєкт Istio також включає два корисні скрипти для istioctl, які забезпечують автодоповнення для Bash і Zsh. Обидва скрипти підтримують команди, доступні в поточній версії istioctl.

Перед початком

Рекомендуємо використовувати ту ж версію istioctl, що й версія вашої панелі управління Istio. Використання однакових версій допомагає уникнути непередбачуваних проблем.

Встановлення istioctl

Встановіть бінарний файл istioctl за допомогою curl:

  1. Завантажте останній випуск командою:

    $ curl -sL https://istio.io/downloadIstioctl | sh -
  2. Додайте клієнт istioctl до вашого шляху в системі macOS або Linux:

    $ export PATH=$HOME/.istioctl/bin:$PATH
  3. Ви можете опціонально увімкнути опцію автодоповнення під час роботи з консоллю 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"

Увімкнення автодоповнення

Щоб увімкнути автодоповнення для istioctl у вашій системі, виконайте кроки для вашої улюбленої оболонки:

Встановлення файлу автодоповнення для Bash

Якщо ви використовуєте bash, файл автодоповнення для istioctl знаходиться в теці tools. Щоб його використовувати, скопіюйте файл istioctl.bash у вашу домашню теку, а потім додайте наступний рядок до вашого файлу .bashrc, щоб увімкнути автодоповнення:

$ source ~/istioctl.bash

Використання автодоповнення

Якщо файл автодоповнення для istioctl було правильно встановлено, натисніть клавішу Tab під час введення команди istioctl, і ви отримаєте перелік можливих варіантів команд:

$ istioctl proxy-<TAB>
proxy-config proxy-status
Чи була ця інформація корисною?
Чи є у вас пропозиції щодо покращення?

Дякуємо за ваш відгук!