Використання інструменту командного рядка 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