istioctl

Istio 組態命令列工具,供服務營運商偵錯和診斷其 Istio 網格。

旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

istioctl admin

用於管理 istiod 組態的一組命令

istioctl admin [flags]
istioctl istiod [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--selector <字串>-l標籤選取器(預設 `app=istiod`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Retrieve information about istiod configuration.
  istioctl admin log

istioctl admin log

擷取或更新 istiod 元件的日誌層級。

istioctl admin log [<pod-name>]|[-r|--revision] [--level <scope>:<level>][--stack-trace-level <scope>:<level>]|[--reset]|[--output|-o short|json|yaml] [flags]
istioctl admin l [<pod-name>]|[-r|--revision] [--level <scope>:<level>][--stack-trace-level <scope>:<level>]|[--reset]|[--output|-o short|json|yaml] [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--ctrlz_port <整數>ControlZ 連接埠(預設 `9876`)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--level <字串>以 <scope>:<level>[,<scope>:<level>,...] 格式表示的範圍輸出日誌層級逗號分隔清單。<level> 的可能值:none、error、warn、info、debug(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--output <字串>-o輸出格式:json|yaml|short 其中之一(預設 `short`)
--reset將層級重設為預設值。(資訊)
--revision <字串>-r控制平面修訂版本(預設 ``)
--selector <字串>-l標籤選取器(預設 `app=istiod`)
--stack-trace-level <字串>以 <scope>:<stack-trace-level>[,<scope>:<stack-trace-level>,...] 格式表示的範圍堆疊追蹤層級逗號分隔清單。<stack-trace-level> 的可能值:none、error、warn、info、debug(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Retrieve information about istiod logging levels.
  istioctl admin log

  # Retrieve information about istiod logging levels on a specific control plane pod.
  istioctl admin l istiod-5c868d8bdd-pmvgg

  # Update levels of the specified loggers.
  istioctl admin log --level ads:debug,authorization:debug

  # Retrieve information about istiod logging levels for a specified revision.
  istioctl admin log --revision v1

  # Reset levels of all the loggers to default value (info).
  istioctl admin log --reset

istioctl analyze

分析 Istio 組態並列印驗證訊息

istioctl analyze <file>... [flags]
旗標簡寫描述
--all-namespaces-A分析所有命名空間
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--color預設為 true。使用 '=false' 停用或將 $TERM 設定為 dumb
--context <字串>Kubernetes 組態內容(預設 ``)
--failure-threshold <層級>設定非零結束代碼的分析嚴重性層級。有效值:[資訊 警告 錯誤](預設 `錯誤`)
--ignore-unknown不要抱怨無法剖析的輸入文件,適用於僅應對符合 k8s 的輸入執行分析的情況。
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--list-analyzers-L列出可供執行的分析器。抑制正常執行。
--meshConfigFile <字串>覆寫用於分析的網格組態值。(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--output <字串>-o輸出格式:[log json yaml] 其中之一(預設 `log`)
--output-threshold <層級>顯示訊息的分析嚴重性層級。有效值:[資訊 警告 錯誤](預設 `資訊`)
--recursive-R遞迴處理目錄引數。當您想要分析組織在同一目錄中的相關清單時非常有用。
--remote-contexts <字串陣列>用於多叢集分析的遠端叢集 Kubernetes 組態內容。不要與 '--context' 混淆。如果未指定,則會從叢集中的遠端密鑰讀取內容。(預設 `[]`)
--revision <字串>分析部署的特定修訂版本。(預設 `default`)
--suppress <字串陣列>-S抑制在特定資源上報告訊息代碼。值以 <代碼>=<資源> 的形式提供(例如「--suppress "IST0102=DestinationRule primary-dr.default"」)。可以重複使用。您可以包含萬用字元 '*' 來支援部分比對(例如「--suppress "IST0102=DestinationRule *.default"」)。(預設 `[]`)
--timeout <持續時間>失敗前等待的時間長度(預設 `30 秒`)
--use-kube-k使用即時 Kubernetes 叢集進行分析。設定 --use-kube=false 以僅分析檔案。
--verbose-v啟用詳細輸出
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Analyze the current live cluster
  istioctl analyze

  # Analyze the current live cluster for a specific revision
  istioctl analyze --revision 1-16

  # Analyze the current live cluster, simulating the effect of applying additional yaml files
  istioctl analyze a.yaml b.yaml my-app-config/

  # Analyze the current live cluster, simulating the effect of applying a directory of config recursively
  istioctl analyze --recursive my-istio-config/

  # Analyze yaml files without connecting to a live cluster
  istioctl analyze --use-kube=false a.yaml b.yaml my-app-config/

  # Analyze the current live cluster and suppress PodMissingProxy for pod mypod in namespace 'testing'.
  istioctl analyze -S "IST0103=Pod mypod.testing"

  # Analyze the current live cluster and suppress PodMissingProxy for all pods in namespace 'testing',
  # and suppress MisplacedAnnotation on deployment foobar in namespace default.
  istioctl analyze -S "IST0103=Pod *.testing" -S "IST0107=Deployment foobar.default"

  # List available analyzers
  istioctl analyze -L

istioctl authz

(authz 是實驗性的。使用 `istioctl experimental authz`)

istioctl authz [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

istioctl bug-report

錯誤報告有選擇地擷取叢集資訊並將日誌記錄到封存檔中,以協助診斷問題。可以使用以下項目篩選 Proxy 日誌:--include|--exclude ns1,ns2.../dep1,dep2.../pod1,pod2.../lbl1=val1,lbl2=val2.../ann1=val1,ann2=val2.../cntr1,cntr...,其中 ns=命名空間、dep=部署、lbl=標籤、ann=註解、cntr=容器

篩選規格會解譯為「必須在 (ns1 或 ns2) 且 (dep1 或 dep2) 且 (cntr1 或 cntr2)...」。只有在容器至少符合一個包含篩選器且不符合任何排除篩選器時,才會包含日誌。篩選器的所有部分都是選用的,可以省略,例如 ns1//pod1 僅篩選命名空間 ns1 和 pod1。除了標籤和註解金鑰之外的所有名稱都支援 '*' 全域比對模式。

例如:--include ns1,ns2(僅命名空間 ns1 和 ns2) --include n*//p*/l=v* (在以「n」開頭的命名空間中且名稱以「p」開頭,並具有值以「v」開頭的標籤「l」的 Pod。)

istioctl bug-report [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>要使用的 kubeconfig 內容名稱。(預設 ``)
--critical-errs <字串切片>以逗號分隔的 glob 模式清單,以比對日誌錯誤字串。如果任何模式比對到日誌中的錯誤,則日誌會被賦予封存檔包含的最高優先順序。(預設 `[]`)
--dir <字串>設定用於暫時成品儲存的特定目錄。(預設 ``)
--dry-run僅記錄將會執行的命令,不要擷取或寫入。
--duration <持續時間>從結束時間往回推移以包含在封存檔中的日誌項目的時間長度。預設為無限大。如果設定,則必須取消設定 --start-time。(預設 `0 秒`)
--end-time <字串>包含在封存檔中的日誌項目的範圍結束時間。預設為現在。(預設 ``)
--exclude <字串切片>在處理包含規格之後,要從封存檔中排除哪些 Pod 的 Proxy 日誌的規格。請參閱以上內容以取得格式和範例。(預設 `["kube-node-lease,kube-public,kube-system,local-path-storage"]`)
--filename <字串>-fYAML 格式組態的檔案路徑。檔案內容會以 JSON 合併語意套用於預設值和旗標設定,而清單會被取代。(預設 ``)
--full-secrets如果設定,則輸出中會包含密鑰內容。
--ignore-errs <字串切片>以逗號分隔的 glob 模式清單,以比對日誌錯誤字串。當計算日誌重要性啟發式時,會忽略任何符合這些模式的錯誤。(預設 `[]`)
--include <字串切片>要包含在封存檔中哪些 Pod 的 Proxy 日誌的規格。請參閱以上內容以取得格式和範例。(預設 `[]`)
--istio-namespace <字串>安裝 Istio 控制平面的命名空間。(預設 `istio-system`)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-ckube 組態的路徑。(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--output-dir <字串>設定輸出封存檔的特定目錄。(預設 ``)
--rq-concurrency <整數>設定對 Kubernetes API 伺服器的要求並行限制,預設為 32。(預設 `0`)
--start-time <字串>包含在封存檔中的日誌項目的範圍開始時間。預設為無限過去。如果設定,則必須取消設定 --duration。(預設 ``)
--timeout <持續時間>用於擷取日誌的最長時間。當達到逾時時,只會將到目前為止擷取的日誌儲存到封存檔。(預設 `30 分鐘 0 秒`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

istioctl bug-report version

列印出建置版本資訊

istioctl bug-report version [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>要使用的 kubeconfig 內容名稱。(預設 ``)
--critical-errs <字串切片>以逗號分隔的 glob 模式清單,以比對日誌錯誤字串。如果任何模式比對到日誌中的錯誤,則日誌會被賦予封存檔包含的最高優先順序。(預設 `[]`)
--dir <字串>設定用於暫時成品儲存的特定目錄。(預設 ``)
--dry-run僅記錄將會執行的命令,不要擷取或寫入。
--duration <持續時間>從結束時間往回推移以包含在封存檔中的日誌項目的時間長度。預設為無限大。如果設定,則必須取消設定 --start-time。(預設 `0 秒`)
--end-time <字串>包含在封存檔中的日誌項目的範圍結束時間。預設為現在。(預設 ``)
--exclude <字串切片>在處理包含規格之後,要從封存檔中排除哪些 Pod 的 Proxy 日誌的規格。請參閱以上內容以取得格式和範例。(預設 `["kube-node-lease,kube-public,kube-system,local-path-storage"]`)
--filename <字串>-fYAML 格式組態的檔案路徑。檔案內容會以 JSON 合併語意套用於預設值和旗標設定,而清單會被取代。(預設 ``)
--full-secrets如果設定,則輸出中會包含密鑰內容。
--ignore-errs <字串切片>以逗號分隔的 glob 模式清單,以比對日誌錯誤字串。當計算日誌重要性啟發式時,會忽略任何符合這些模式的錯誤。(預設 `[]`)
--include <字串切片>要包含在封存檔中哪些 Pod 的 Proxy 日誌的規格。請參閱以上內容以取得格式和範例。(預設 `[]`)
--istio-namespace <字串>安裝 Istio 控制平面的命名空間。(預設 `istio-system`)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-ckube 組態的路徑。(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--output <字串>-o「yaml」或「json」其中之一。(預設 ``)
--output-dir <字串>設定輸出封存檔的特定目錄。(預設 ``)
--rq-concurrency <整數>設定對 Kubernetes API 伺服器的要求並行限制,預設為 32。(預設 `0`)
--short-s使用 --short=false 以產生完整版本資訊
--start-time <字串>包含在封存檔中的日誌項目的範圍開始時間。預設為無限過去。如果設定,則必須取消設定 --duration。(預設 ``)
--timeout <持續時間>用於擷取日誌的最長時間。當達到逾時時,只會將到目前為止擷取的日誌儲存到封存檔。(預設 `30 分鐘 0 秒`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

istioctl completion

為指定的 Shell 產生 istioctl 的自動完成指令碼。請參閱每個子命令的說明以取得如何使用產生的指令碼的詳細資料。

旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

istioctl completion bash

為 bash shell 產生自動完成指令碼。

此指令碼取決於 'bash-completion' 套件。如果尚未安裝,您可以透過您的作業系統套件管理員安裝。

在您目前的 Shell 會話中載入完成

source <(istioctl completion bash)

若要為每個新的會話載入完成,請執行一次

Linux

istioctl completion bash > /etc/bash_completion.d/istioctl

macOS

istioctl completion bash > /usr/local/etc/bash_completion.d/istioctl

您需要啟動新的 shell,此設定才會生效。

istioctl completion bash
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--no-descriptions停用完成描述
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

istioctl completion fish

為 fish shell 產生自動完成指令碼。

在您目前的 Shell 會話中載入完成

istioctl completion fish | source

若要為每個新的會話載入完成,請執行一次

istioctl completion bash > ~/.config/fish/completions/istioctl.fish

您需要啟動新的 shell,此設定才會生效。

istioctl completion fish [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--no-descriptions停用完成描述
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

istioctl completion powershell

為 PowerShell 產生自動完成指令碼。

在您目前的 Shell 會話中載入完成

istioctl completion powershell | Out-String | Invoke-Expression

若要為每個新的會話載入完成,請將上述命令的輸出新增至您的 powershell 設定檔。

istioctl completion powershell [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--no-descriptions停用完成描述
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

istioctl completion zsh

為 zsh shell 產生自動完成指令碼。

如果您的環境中尚未啟用 shell 完成,您需要啟用它。您可以執行以下一次

echo "autoload -U compinit; compinit" >> ~/.zshrc

在您目前的 Shell 會話中載入完成

source <(istioctl completion zsh)

若要為每個新的會話載入完成,請執行一次

Linux

istioctl completion zsh > "${fpath[1]}/_istioctl"

macOS

istioctl completion zsh > $(brew --prefix)/share/zsh/site-functions/_istioctl

您需要啟動新的 shell,此設定才會生效。

istioctl completion zsh [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--no-descriptions停用完成描述
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

istioctl create-remote-secret

建立包含憑證的密鑰,以允許 Istio 存取遠端 Kubernetes API 伺服器

istioctl create-remote-secret [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--auth-plugin-config <字串對字串>驗證器外掛程式組態。必須使用此選項設定 --auth-type=plugin(預設 `[]`)
--auth-plugin-name <字串>驗證器外掛程式名稱。必須使用此選項設定 --auth-type=plugin(預設 ``)
--auth-type <遠端密鑰驗證類型>要使用的驗證類型。支援的值 = [bearer-token plugin](預設 `bearer-token`)
--context <字串>Kubernetes 組態內容(預設 ``)
--create-service-account如果為 true,則如果建立遠端密鑰所需服務帳戶不存在,將會建立該服務帳戶。
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--manifests <字串>-d指定圖表和設定檔目錄的路徑(例如 ~/Downloads/istio-1.24.0/manifests)。(預設 ``)
--name <字串>密鑰中儲存其憑證的本機叢集名稱。如果未指定名稱,則會使用本機叢集的 kube-system 命名空間 UUID。(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--secret-name <字串>要從服務帳戶使用的特定密鑰名稱。當服務帳戶中有多個密鑰時是必需的。(預設 ``)
--server <字串>Kubernetes API 伺服器的位址和連接埠。(預設 ``)
--service-account <字串>使用此服務帳戶的憑證建立密鑰。如果 --type 為「remote」,則預設值為「istio-reader-service-account」;如果 --type 為「config」,則為「istiod」。(預設 ``)
--type <密鑰類型>產生的密鑰類型。支援的值 = [remote config](預設 `remote`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Create a secret to access cluster c0's apiserver and install it in cluster c1.
  istioctl --kubeconfig=c0.yaml create-remote-secret --name c0 \
    | kubectl --kubeconfig=c1.yaml apply -f -

  # Delete a secret that was previously installed in c1
  istioctl --kubeconfig=c0.yaml create-remote-secret --name c0 \
    | kubectl --kubeconfig=c1.yaml delete -f -

  # Create a secret access a remote cluster with an auth plugin
  istioctl --kubeconfig=c0.yaml create-remote-secret --name c0 --auth-type=plugin --auth-plugin-name=gcp \
    | kubectl --kubeconfig=c1.yaml apply -f -

istioctl dashboard

存取 Istio Web UI

istioctl dashboard [flags]
istioctl dash [flags]
istioctl d [flags]
旗標簡寫描述
--address <字串>監聽的位址。僅接受 IP 位址或 localhost 作為值。當提供 localhost 時,istioctl 會嘗試繫結到 127.0.0.1 和 ::1,如果這兩個位址都無法繫結,則會失敗。(預設值:`localhost`)
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--browser當 --browser 設定為 false 時,istioctl dashboard 將不會開啟瀏覽器。預設值為 true,表示 istioctl dashboard 永遠會開啟瀏覽器來檢視儀表板。
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--port <int>-p要監聽的本機連接埠 (預設值:`0`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

istioctl dashboard controlz

開啟 Istio 控制平面中 pod 的 ControlZ 網頁 UI

istioctl dashboard controlz [<type>/]<name>[.<namespace>] [flags]
旗標簡寫描述
--address <字串>監聽的位址。僅接受 IP 位址或 localhost 作為值。當提供 localhost 時,istioctl 會嘗試繫結到 127.0.0.1 和 ::1,如果這兩個位址都無法繫結,則會失敗。(預設值:`localhost`)
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--browser當 --browser 設定為 false 時,istioctl dashboard 將不會開啟瀏覽器。預設值為 true,表示 istioctl dashboard 永遠會開啟瀏覽器來檢視儀表板。
--context <字串>Kubernetes 組態內容(預設 ``)
--ctrlz_port <整數>ControlZ 連接埠(預設 `9876`)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--port <int>-p要監聽的本機連接埠 (預設值:`0`)
--selector <字串>-l標籤選擇器 (預設值:``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Open ControlZ web UI for the istiod-123-456.istio-system pod
  istioctl dashboard controlz istiod-123-456.istio-system

  # Open ControlZ web UI for the istiod-56dd66799-jfdvs pod in a custom namespace
  istioctl dashboard controlz istiod-123-456 -n custom-ns

  # Open ControlZ web UI for any Istiod pod
  istioctl dashboard controlz deployment/istiod.istio-system

  # with short syntax
  istioctl dash controlz pilot-123-456.istio-system
  istioctl d controlz pilot-123-456.istio-system

istioctl dashboard envoy

開啟 sidecar 的 Envoy 管理儀表板

注意:envoy 命令已棄用,可以用 proxy 命令取代,例如 `istioctl dashboard proxy --help`

istioctl dashboard envoy [<type>/]<name>[.<namespace>] [flags]
旗標簡寫描述
--address <字串>監聽的位址。僅接受 IP 位址或 localhost 作為值。當提供 localhost 時,istioctl 會嘗試繫結到 127.0.0.1 和 ::1,如果這兩個位址都無法繫結,則會失敗。(預設值:`localhost`)
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--browser當 --browser 設定為 false 時,istioctl dashboard 將不會開啟瀏覽器。預設值為 true,表示 istioctl dashboard 永遠會開啟瀏覽器來檢視儀表板。
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--port <int>-p要監聽的本機連接埠 (預設值:`0`)
--selector <字串>-l標籤選擇器 (預設值:``)
--ui-port <int>元件儀表板 UI 連接埠。(預設值:`15000`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Open Envoy dashboard for the productpage-123-456.default pod
  istioctl dashboard envoy productpage-123-456.default

  # Open Envoy dashboard for one pod under a deployment
  istioctl dashboard envoy deployment/productpage-v1

  # with short syntax
  istioctl dash envoy productpage-123-456.default
  istioctl d envoy productpage-123-456.default

istioctl dashboard grafana

開啟 Istio 的 Grafana 儀表板

istioctl dashboard grafana [flags]
旗標簡寫描述
--address <字串>監聽的位址。僅接受 IP 位址或 localhost 作為值。當提供 localhost 時,istioctl 會嘗試繫結到 127.0.0.1 和 ::1,如果這兩個位址都無法繫結,則會失敗。(預設值:`localhost`)
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--browser當 --browser 設定為 false 時,istioctl dashboard 將不會開啟瀏覽器。預設值為 true,表示 istioctl dashboard 永遠會開啟瀏覽器來檢視儀表板。
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--port <int>-p要監聽的本機連接埠 (預設值:`0`)
--ui-port <int>元件儀表板 UI 連接埠。(預設值:`3000`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  istioctl dashboard grafana

  # with short syntax
  istioctl dash grafana
  istioctl d grafana

istioctl dashboard istiod-debug

開啟 Istio 控制平面 pod 的除錯網頁 UI

istioctl dashboard istiod-debug [<type>/]<name>[.<namespace>] [flags]
旗標簡寫描述
--address <字串>監聽的位址。僅接受 IP 位址或 localhost 作為值。當提供 localhost 時,istioctl 會嘗試繫結到 127.0.0.1 和 ::1,如果這兩個位址都無法繫結,則會失敗。(預設值:`localhost`)
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--browser當 --browser 設定為 false 時,istioctl dashboard 將不會開啟瀏覽器。預設值為 true,表示 istioctl dashboard 永遠會開啟瀏覽器來檢視儀表板。
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--port <int>-p要監聽的本機連接埠 (預設值:`0`)
--selector <字串>-l標籤選擇器 (預設值:``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Open Istio debug web UI for the istiod-123-456.istio-system pod
  istioctl dashboard istiod-debug istiod-123-456.istio-system

  # Open Istio debug web UI for the istiod-56dd66799-jfdvs pod in a custom namespace
  istioctl dashboard istiod-debug istiod-123-456 -n custom-ns

  # Open Istio debug web UI for any Istiod pod
  istioctl dashboard istiod-debug deployment/istiod.istio-system

  # with short syntax
  istioctl dash istiod-debug pilot-123-456.istio-system
  istioctl d istiod-debug pilot-123-456.istio-system

istioctl dashboard jaeger

開啟 Istio 的 Jaeger 儀表板

istioctl dashboard jaeger [flags]
旗標簡寫描述
--address <字串>監聽的位址。僅接受 IP 位址或 localhost 作為值。當提供 localhost 時,istioctl 會嘗試繫結到 127.0.0.1 和 ::1,如果這兩個位址都無法繫結,則會失敗。(預設值:`localhost`)
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--browser當 --browser 設定為 false 時,istioctl dashboard 將不會開啟瀏覽器。預設值為 true,表示 istioctl dashboard 永遠會開啟瀏覽器來檢視儀表板。
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--port <int>-p要監聽的本機連接埠 (預設值:`0`)
--ui-port <int>元件儀表板 UI 連接埠。(預設值:`16686`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  istioctl dashboard jaeger

  # with short syntax
  istioctl dash jaeger
  istioctl d jaeger

istioctl dashboard kiali

開啟 Istio 的 Kiali 儀表板

istioctl dashboard kiali [flags]
旗標簡寫描述
--address <字串>監聽的位址。僅接受 IP 位址或 localhost 作為值。當提供 localhost 時,istioctl 會嘗試繫結到 127.0.0.1 和 ::1,如果這兩個位址都無法繫結,則會失敗。(預設值:`localhost`)
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--browser當 --browser 設定為 false 時,istioctl dashboard 將不會開啟瀏覽器。預設值為 true,表示 istioctl dashboard 永遠會開啟瀏覽器來檢視儀表板。
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--port <int>-p要監聽的本機連接埠 (預設值:`0`)
--ui-port <int>元件儀表板 UI 連接埠。(預設值:`20001`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  istioctl dashboard kiali

  # with short syntax
  istioctl dash kiali
  istioctl d kiali

istioctl dashboard prometheus

開啟 Istio 的 Prometheus 儀表板

istioctl dashboard prometheus [flags]
旗標簡寫描述
--address <字串>監聽的位址。僅接受 IP 位址或 localhost 作為值。當提供 localhost 時,istioctl 會嘗試繫結到 127.0.0.1 和 ::1,如果這兩個位址都無法繫結,則會失敗。(預設值:`localhost`)
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--browser當 --browser 設定為 false 時,istioctl dashboard 將不會開啟瀏覽器。預設值為 true,表示 istioctl dashboard 永遠會開啟瀏覽器來檢視儀表板。
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--port <int>-p要監聽的本機連接埠 (預設值:`0`)
--ui-port <int>元件儀表板 UI 連接埠。(預設值:`9090`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  istioctl dashboard prometheus

  # with short syntax
  istioctl dash prometheus
  istioctl d prometheus

istioctl dashboard proxy

開啟 proxy 的管理儀表板,例如 envoy 和 ztunnel pod

istioctl dashboard proxy [<type>/]<name>[.<namespace>] [flags]
旗標簡寫描述
--address <字串>監聽的位址。僅接受 IP 位址或 localhost 作為值。當提供 localhost 時,istioctl 會嘗試繫結到 127.0.0.1 和 ::1,如果這兩個位址都無法繫結,則會失敗。(預設值:`localhost`)
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--browser當 --browser 設定為 false 時,istioctl dashboard 將不會開啟瀏覽器。預設值為 true,表示 istioctl dashboard 永遠會開啟瀏覽器來檢視儀表板。
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--port <int>-p要監聽的本機連接埠 (預設值:`0`)
--selector <字串>-l標籤選擇器 (預設值:``)
--ui-port <int>元件儀表板 UI 連接埠。(預設值:`15000`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Open envoy admin dashboard for the productpage-123-456.default pod
  istioctl dashboard proxy productpage-123-456.default

  # Open envoy admin dashboard for one pod under a deployment
  istioctl dashboard proxy deployment/productpage-v1

  # Open dashboard for the ztunnel-bwh89.istio-system pod
  istioctl dashboard proxy ztunnel-bwh89.istio-system

  # Open dashboard for a waypoint pod
  istioctl dashboard proxy namespace-istio-waypoint-869b56b69c-7khz4

  # with short syntax
  istioctl dash proxy ztunnel-bwh89.istio-system
  istioctl d proxy ztunnel-bwh89.istio-system

istioctl dashboard skywalking

在 SkyWalking UI 中開啟 Istio 儀表板

istioctl dashboard skywalking [flags]
旗標簡寫描述
--address <字串>監聽的位址。僅接受 IP 位址或 localhost 作為值。當提供 localhost 時,istioctl 會嘗試繫結到 127.0.0.1 和 ::1,如果這兩個位址都無法繫結,則會失敗。(預設值:`localhost`)
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--browser當 --browser 設定為 false 時,istioctl dashboard 將不會開啟瀏覽器。預設值為 true,表示 istioctl dashboard 永遠會開啟瀏覽器來檢視儀表板。
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--port <int>-p要監聽的本機連接埠 (預設值:`0`)
--ui-port <int>元件儀表板 UI 連接埠。(預設值:`8080`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  istioctl dashboard skywalking

  # with short syntax
  istioctl dash skywalking
  istioctl d skywalking

istioctl dashboard zipkin

開啟 Istio 的 Zipkin 儀表板

istioctl dashboard zipkin [flags]
旗標簡寫描述
--address <字串>監聽的位址。僅接受 IP 位址或 localhost 作為值。當提供 localhost 時,istioctl 會嘗試繫結到 127.0.0.1 和 ::1,如果這兩個位址都無法繫結,則會失敗。(預設值:`localhost`)
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--browser當 --browser 設定為 false 時,istioctl dashboard 將不會開啟瀏覽器。預設值為 true,表示 istioctl dashboard 永遠會開啟瀏覽器來檢視儀表板。
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--port <int>-p要監聽的本機連接埠 (預設值:`0`)
--ui-port <int>元件儀表板 UI 連接埠。(預設值:`9411`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  istioctl dashboard zipkin

  # with short syntax
  istioctl dash zipkin
  istioctl d zipkin

istioctl experimental

可能被修改或棄用的實驗性命令

旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

istioctl experimental authz

此命令正在積極開發中,尚未準備好用於生產環境。

旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

istioctl experimental authz check

檢查透過直接檢查 pod 的 Envoy 設定檔套用到 pod 的 AuthorizationPolicy。此命令特別適用於檢查從 Istiod 到 Envoy 的政策傳播,以及從多個來源(網格層級、命名空間層級和工作負載層級)合併的最終 AuthorizationPolicy 清單。

此命令也支援使用旗標 -f 從獨立的組態傾印檔案讀取。

istioctl experimental authz check [<type>/]<name>[.<namespace>] [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--file <string>-f要檢查的 Envoy 設定傾印的 json 檔案 (預設值:``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Check AuthorizationPolicy applied to pod httpbin-88ddbcfdd-nt5jb:
  istioctl x authz check httpbin-88ddbcfdd-nt5jb

  # Check AuthorizationPolicy applied to one pod under a deployment
  istioctl x authz check deployment/productpage-v1

  # Check AuthorizationPolicy from Envoy config dump file:
  istioctl x authz check -f httpbin_config_dump.json

istioctl experimental check-inject

檢查給定資源的相關資源,並執行 webhook 以檢查 pod 是否可以或將被注入。

istioctl experimental check-inject [<type>/]<name>[.<namespace>] [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--labels <string>-l檢查命名空間和標籤配對的注入狀態,以逗號分隔多個標籤 (預設值:``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Check the injection status of a pod
  istioctl experimental check-inject details-v1-fcff6c49c-kqnfk.test
	
  # Check the injection status of a pod under a deployment
  istioctl x check-inject deployment/details-v1

  # Check the injection status of a pod under a deployment in namespace test
  istioctl x check-inject deployment/details-v1 -n test

  # Check the injection status of label pairs in a specific namespace before actual injection 
  istioctl x check-inject -n test -l app=helloworld,version=v1

istioctl experimental config

設定 istioctl 預設值

旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # list configuration parameters
  istioctl experimental config list

istioctl experimental config list

列出 istio 可設定的預設值

istioctl experimental config list [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

istioctl experimental describe

描述資源和相關的 Istio 設定

istioctl experimental describe [flags]
istioctl experimental des [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

istioctl experimental describe pod

分析 pod、其服務、DestinationRules 和 VirtualServices,並報告影響該 pod 的組態物件。

此命令正在積極開發中,尚未準備好用於生產環境。

istioctl experimental describe pod <pod> [flags]
istioctl experimental describe po <pod> [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--ignoreUnmeshed抑制未網格化 pod 的警告
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  istioctl experimental describe pod productpage-v1-c7765c886-7zzd4

istioctl experimental describe service

分析服務、pod、DestinationRules 和 VirtualServices,並報告影響該服務的組態物件。

此命令正在積極開發中,尚未準備好用於生產環境。

istioctl experimental describe service <svc> [flags]
istioctl experimental describe svc <svc> [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--ignoreUnmeshed抑制未網格化 pod 的警告
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  istioctl experimental describe service productpage

istioctl experimental envoy-stats

擷取指定 pod 發出的 Envoy 指標。

istioctl experimental envoy-stats [<type>/]<name>[.<namespace>] [flags]
istioctl experimental es [<type>/]<name>[.<namespace>] [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--output <字串>-o輸出格式:json|yaml|short|prom|prom-merged 其中一種 (預設值:`short`)
--proxy-admin-port <int>Envoy proxy 管理連接埠 (預設值:`15000`)
--selector <字串>-l標籤選擇器 (預設值:``)
--type <string>-t從哪裡獲取統計資料:server|clusters 其中一種 (預設值:`server`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Retrieve Envoy emitted metrics for the specified pod.
  istioctl experimental envoy-stats <pod-name[.namespace]>

  # Retrieve Envoy server metrics in prometheus format
  istioctl experimental envoy-stats <pod-name[.namespace]> --output prom

  # Retrieve Envoy server metrics in prometheus format with custom proxy admin port
  istioctl experimental envoy-stats <pod-name[.namespace]> --output prom --proxy-admin-port 15000

  # Retrieve Envoy server metrics in prometheus format with merged application metrics
  istioctl experimental envoy-stats <pod-name[.namespace]> --output prom-merged

  # Retrieve Envoy cluster metrics
  istioctl experimental envoy-stats <pod-name[.namespace]> --type clusters

istioctl experimental injector

列出 sidecar injector 和 sidecar 版本

istioctl experimental injector [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  istioctl experimental injector list

istioctl experimental injector list

列出 sidecar injector 和 sidecar 版本

istioctl experimental injector list [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  istioctl experimental injector list

istioctl experimental internal-debug

如果 --cert-dir 為空,則從 Istiod 或網格中的 Pod 擷取除錯資訊,使用 pod 的服務帳戶。預設情況下,如果未指定 pod,則它將使用 (istio-system) 命名空間的預設 serviceAccount。

此命令正在積極開發中,尚未準備好用於生產環境。

istioctl experimental internal-debug [<type>/]<name>[.<namespace>] [flags]
旗標簡寫描述
--all將相同的請求傳送到 Istiod 的所有執行個體。僅適用於叢集內部署。
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--authority <string>XDS 主體替代名稱(例如 istiod.istio-system.svc)(預設值:``)
--cert-dir <string>XDS 端點憑證目錄 (預設值:``)
--context <字串>Kubernetes 組態內容(預設 ``)
--insecure跳過伺服器憑證和網域驗證。(不安全!)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--plaintext連線到伺服器時使用純文字 HTTP/2 (沒有 TLS)。
--revision <字串>-r控制平面修訂版本(預設 ``)
--timeout <持續時間>失敗前等待的時間長度(預設 `30 秒`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)
--xds-address <string>XDS 端點 (預設值:``)
--xds-label <string>Istiod pod 標籤選擇器 (預設值:``)
--xds-port <int>Istiod pod 連接埠 (預設值:`15012`)

範例

  # Retrieve sync status for all Envoys in a mesh
  istioctl x internal-debug syncz

  # Retrieve sync diff for a single Envoy and Istiod
  istioctl x internal-debug syncz istio-egressgateway-59585c5b9c-ndc59.istio-system

  # SECURITY OPTIONS

  # Retrieve syncz debug information directly from the control plane, using token security
  # (This is the usual way to get the debug information with an out-of-cluster control plane.)
  istioctl x internal-debug syncz --xds-address istio.cloudprovider.example.com:15012

  # Retrieve syncz debug information via Kubernetes config, using token security
  # (This is the usual way to get the debug information with an in-cluster control plane.)
  istioctl x internal-debug syncz

  # Retrieve syncz debug information directly from the control plane, using RSA certificate security
  # (Certificates must be obtained before this step.  The --cert-dir flag lets istioctl bypass the Kubernetes API server.)
  istioctl x internal-debug syncz --xds-address istio.example.com:15012 --cert-dir ~/.istio-certs

  # Retrieve syncz information via XDS from specific control plane in multi-control plane in-cluster configuration
  # (Select a specific control plane in an in-cluster canary Istio configuration.)
  istioctl x internal-debug syncz --xds-label istio.io/rev=default

istioctl experimental metrics

在 Kubernetes 中執行時,列印指定服務的指標。

此命令會尋找在指定的 istio 系統命名空間中執行的 Prometheus pod。然後,它會針對每個請求的工作負載執行一系列查詢,以尋找以下頂層工作負載指標:每秒總請求數、錯誤率以及 p50、p90 和 p99 百分位數的請求延遲。查詢結果會列印到主控台,依工作負載名稱組織。

所有傳回的指標都來自伺服器端報告。這表示延遲和錯誤率是從服務本身的角度來看,而不是從個別用戶端(或用戶端彙總集合)的角度來看。速率和延遲是在 1 分鐘的時間間隔內計算得出的。

istioctl experimental metrics <workload name>...
istioctl experimental m <workload name>...
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--duration <持續時間>-d查詢指標的持續時間,預設值為 1m。(預設值:`1m0s`)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Retrieve workload metrics for productpage-v1 workload
  istioctl experimental metrics productpage-v1

  # Retrieve workload metrics for various services with custom duration
  istioctl experimental metrics productpage-v1 -d 2m

  # Retrieve workload metrics for various services in the different namespaces
  istioctl experimental metrics productpage-v1.foo reviews-v1.bar ratings-v1.baz

istioctl experimental precheck

precheck 會檢查 Kubernetes 叢集是否符合 Istio 安裝和升級需求。

istioctl experimental precheck [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--from-version <string>-f檢查自提供的版本以來所做的變更 (預設值:``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--output <字串>-o輸出格式:[log json yaml] 其中之一(預設 `log`)
--output-threshold <層級>要顯示訊息的 precheck 嚴重性層級。有效值:[Info Warning Error] (預設值:`Warning`)
--revision <字串>-r控制平面修訂版本(預設 ``)
--skip-controlplane略過檢查控制平面
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Verify that Istio can be installed or upgraded
  istioctl x precheck

  # Check only a single namespace
  istioctl x precheck --namespace default

  # Check for behavioral changes since a specific version
  istioctl x precheck --from-version 1.10

istioctl experimental proxy-status

擷取從 Istiod 到網格中每個 Envoy 的最後一次傳送和最後一次確認的 xDS 同步

istioctl experimental proxy-status [<type>/]<name>[.<namespace>] [flags]
istioctl experimental ps [<type>/]<name>[.<namespace>] [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--authority <string>XDS 主體替代名稱(例如 istiod.istio-system.svc)(預設值:``)
--cert-dir <string>XDS 端點憑證目錄 (預設值:``)
--context <字串>Kubernetes 組態內容(預設 ``)
--file <string>-fEnvoy 設定傾印 JSON 檔案 (預設值:``)
--insecure跳過伺服器憑證和網域驗證。(不安全!)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--plaintext連線到伺服器時使用純文字 HTTP/2 (沒有 TLS)。
--revision <字串>-r控制平面修訂版本(預設 ``)
--timeout <持續時間>失敗前等待的時間長度(預設 `30 秒`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)
--xds-address <string>XDS 端點 (預設值:``)
--xds-label <string>Istiod pod 標籤選擇器 (預設值:``)
--xds-port <int>Istiod pod 連接埠 (預設值:`15012`)
--xds-via-agents透過每個代理程式的 tap 服務存取 Istiod
--xds-via-agents-limit <xds-via-agent>當 xds-via-agent 旗標為 true 時,istioctl 造訪的 pod 最大數量。若要逐一查看所有代理程式 pod 而沒有限制,請設定為 0 (預設值:`100`)

範例

  # Retrieve sync status for all Envoys in a mesh
  istioctl proxy-status

  # Retrieve sync status for Envoys in a specific namespace
  istioctl proxy-status --namespace foo

  # Retrieve sync diff for a single Envoy and Istiod
  istioctl proxy-status istio-egressgateway-59585c5b9c-ndc59.istio-system

  # SECURITY OPTIONS

  # Retrieve proxy status information directly from the control plane, using token security
  # (This is the usual way to get the proxy-status with an out-of-cluster control plane.)
  istioctl ps --xds-address istio.cloudprovider.example.com:15012

  # Retrieve proxy status information via Kubernetes config, using token security
  # (This is the usual way to get the proxy-status with an in-cluster control plane.)
  istioctl proxy-status

  # Retrieve proxy status information directly from the control plane, using RSA certificate security
  # (Certificates must be obtained before this step.  The --cert-dir flag lets istioctl bypass the Kubernetes API server.)
  istioctl ps --xds-address istio.example.com:15012 --cert-dir ~/.istio-certs

  # Retrieve proxy status information via XDS from specific control plane in multi-control plane in-cluster configuration
  # (Select a specific control plane in an in-cluster canary Istio configuration.)
  istioctl ps --xds-label istio.io/rev=default

istioctl experimental version

列印出建置版本資訊

istioctl experimental version [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--authority <string>XDS 主體替代名稱(例如 istiod.istio-system.svc)(預設值:``)
--cert-dir <string>XDS 端點憑證目錄 (預設值:``)
--context <字串>Kubernetes 組態內容(預設 ``)
--insecure跳過伺服器憑證和網域驗證。(不安全!)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--output <字串>-o「yaml」或「json」其中之一。(預設 ``)
--plaintext連線到伺服器時使用純文字 HTTP/2 (沒有 TLS)。
--remote使用 --remote=false 來抑制控制平面檢查
--revision <字串>-r控制平面修訂版本(預設 ``)
--short-s使用 --short=false 以產生完整版本資訊
--timeout <持續時間>失敗前等待的時間長度(預設 `30 秒`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)
--xds-address <string>XDS 端點 (預設值:``)
--xds-label <string>Istiod pod 標籤選擇器 (預設值:``)
--xds-port <int>Istiod pod 連接埠 (預設值:`15012`)

範例

  # Retrieve version information directly from the control plane, using token security
  # (This is the usual way to get the control plane version with an out-of-cluster control plane.)
  istioctl x version --xds-address istio.cloudprovider.example.com:15012

  # Retrieve version information via Kubernetes config, using token security
  # (This is the usual way to get the control plane version with an in-cluster control plane.)
  istioctl x version

  # Retrieve version information directly from the control plane, using RSA certificate security
  # (Certificates must be obtained before this step.  The --cert-dir flag lets istioctl bypass the Kubernetes API server.)
  istioctl x version --xds-address istio.example.com:15012 --cert-dir ~/.istio-certs

  # Retrieve version information via XDS from specific control plane in multi-control plane in-cluster configuration
  # (Select a specific control plane in an in-cluster canary Istio configuration.)
  istioctl x version --xds-label istio.io/rev=default

istioctl experimental workload

協助設定和部署在 VM 和其他非 Kubernetes 環境中執行的工作負載的命令

旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # workload group yaml generation
  istioctl x workload group create

  # workload entry configuration generation
  istioctl x workload entry configure

istioctl experimental workload entry

處理 WorkloadEntry 資源的命令

旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  istioctl x workload entry configure -f workloadgroup.yaml -o outputDir

istioctl experimental workload entry configure

從 WorkloadGroup 成品為 VM 或非 Kubernetes 環境中的工作負載執行個體產生所有必要的組態檔案。這包括 MeshConfig 資源、cluster.env 檔案,以及必要的憑證和安全權杖。Configure 需要 WorkloadGroup 成品路徑或其在 API 伺服器上的位置。

istioctl experimental workload entry configure [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--autoregister在連線到 istiod 時建立 WorkloadEntry (如果在 pilot 中啟用)。
--capture-dns啟用擷取連接埠 53 上的外寄 DNS 資料包,並重新導向至 istio-agent
--clusterID <string>用於識別叢集的 ID (預設值:``)
--context <字串>Kubernetes 組態內容(預設 ``)
--externalIP <string>工作負載的外部 IP 位址 (預設值:``)
--file <string>-fWorkloadGroup 成品的檔案名稱。如果使用 API 伺服器,請將此欄位留空 (預設值:``)
--ingressIP <string>輸入閘道的 IP 位址 (預設值:``)
--ingressService <string>要用作輸入閘道的服務名稱,格式為 <service>.<namespace>。如果未提供命名空間,將會使用預設的 istio-system 命名空間。(預設值:`istio-eastwestgateway`)
--internalIP <string>工作負載的內部 IP 位址 (預設值:``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--name <字串>工作負載群組的名稱 (預設值:``)
--namespace <字串>-n工作負載執行個體所屬的命名空間 (預設值:``)
--output <字串>-o產生檔案的輸出目錄 (預設值:``)
--revision <字串>-r控制平面修訂版本(預設 ``)
--tokenDuration <int>權杖持續時間,以秒為單位 (預設值:1 小時) (預設值:`3600`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # configure example using a local WorkloadGroup artifact
  istioctl x workload entry configure -f workloadgroup.yaml -o config

  # configure example using the API server
  istioctl x workload entry configure --name foo --namespace bar -o config

istioctl experimental workload group

處理 WorkloadGroup 資源的命令

旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  istioctl x workload group create --name foo --namespace bar --labels app=foobar

istioctl experimental workload group create

建立 WorkloadGroup 資源,該資源為相關的 WorkloadEntry 提供範本。預設輸出是序列化 YAML,可以管道傳送到 'kubectl apply -f -' 以將成品傳送到 API 伺服器。

istioctl experimental workload group create [flags]
旗標簡寫描述
--annotations <stringSlice>-a要套用到工作負載執行個體的註解 (預設值:`[]`)
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--labels <stringSlice>-l要套用到工作負載執行個體的標籤;例如 -l env=prod,vers=2 (預設值:`[]`)
--name <字串>工作負載群組的名稱 (預設值:``)
--namespace <字串>-n工作負載執行個體將屬於的命名空間 (預設值:``)
--ports <stringSlice>-p工作負載執行個體公開的傳入連接埠 (預設值:`[]`)
--serviceAccount <string>-s要與工作負載執行個體關聯的服務身分 (預設值:`default`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  istioctl x workload group create --name foo --namespace bar --labels app=foo,bar=baz --ports grpc=3550,http=8080 --annotations annotation=foobar --serviceAccount sa

istioctl install

install 命令會產生 Istio 安裝資訊清單並將其套用至叢集。

istioctl install [flags]
istioctl apply [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--charts <string>已棄用,請改用 --manifests。(預設值:``)
--context <字串>Kubernetes 組態內容(預設 ``)
--dry-run僅限主控台/記錄輸出,不做任何變更。
--filename <stringSlice>-f包含 IstioOperator 自訂資源的檔案路徑。此旗標可以多次指定,以覆蓋多個檔案。多個檔案會以從左到右的順序覆蓋。(預設值:`[]`)
--force即使發生驗證錯誤也繼續進行。
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--manifests <字串>-d指定圖表和設定檔目錄的路徑(例如 ~/Downloads/istio-1.24.0/manifests)。(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--readiness-timeout <duration>等待每個元件中的 Istio 資源準備就緒的最長時間。(預設值:`5m0s`)
--revision <字串>-r命令的目標控制平面修訂版本。(預設值:``)
--set <stringArray>-s覆寫 IstioOperator 值,例如選擇設定檔 (--set profile=demo)、啟用或停用元件 (--set components.cni.enabled=true) 或覆寫 Istio 設定 (--set meshConfig.enableTracing=true)。請參閱文件以瞭解更多資訊:https://istio.dev.org.tw/v1.24/docs/reference/config/istio.operator.v1alpha1/#IstioOperatorSpec (預設值:`[]`)
--skip-confirmation-yskipConfirmation 決定是否提示使用者確認。如果設定為 true,則不會提示使用者,並且在所有情況下都會假設回答為 Yes。
--verify在安裝/就地升級後驗證 Istio 控制平面
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Apply a default Istio installation
  istioctl install

  # Enable Tracing
  istioctl install --set meshConfig.enableTracing=true

  # Generate the demo profile and don't wait for confirmation
  istioctl install --set profile=demo --skip-confirmation

  # To override a setting that includes dots, escape them with a backslash (\).  Your shell may require enclosing quotes.
  istioctl install --set "values.sidecarInjectorWebhook.injectedAnnotations.container\.apparmor\.security\.beta\.kubernetes\.io/istio-proxy=runtime/default"

istioctl kube-inject

kube-inject 手動將 Istio Sidecar 注入 Kubernetes 工作負載。不支援的資源將保持不修改,因此可以安全地在包含複雜應用程式的多個 Service、ConfigMap、Deployment 等定義的單一檔案上執行 kube-inject。如有疑問,請在部署上重新執行 istioctl kube-inject 以取得最新的變更。

最好在資源初始建立時執行 kube-inject。

istioctl kube-inject [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--authority <string>XDS 主體替代名稱(例如 istiod.istio-system.svc)(預設值:``)
--cert-dir <string>XDS 端點憑證目錄 (預設值:``)
--context <字串>Kubernetes 組態內容(預設 ``)
--filename <字串>-f輸入 Kubernetes 資源檔名(預設為 ``)
--injectConfigFile <string>注入設定檔名。不能與 --injectConfigMapName 一起使用(預設為 ``)
--insecure跳過伺服器憑證和網域驗證。(不安全!)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--meshConfigFile <字串>網格設定檔名。如果已設定,則優先於 --meshConfigMapName(預設為 ``)
--meshConfigMapName <string>Istio 網格設定的 ConfigMap 名稱,金鑰應為 "mesh"(預設為 `istio`)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--operatorFileName <string>包含 IstioOperator 自訂資源的檔案路徑。如果提供了來自 meshConfigFile、valuesFile 等檔案的設定,它們將被 iop 設定值覆寫。(預設為 ``)
--output <字串>-o修改後的輸出 Kubernetes 資源檔名(預設為 ``)
--plaintext連線到伺服器時使用純文字 HTTP/2 (沒有 TLS)。
--revision <字串>-r控制平面修訂版本(預設 ``)
--timeout <持續時間>失敗前等待的時間長度(預設 `30 秒`)
--valuesFile <string>注入值設定檔名。(預設為 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)
--webhookConfig <string>Istio 的 MutatingWebhookConfiguration 名稱(預設為 `istio-sidecar-injector`)
--xds-address <string>XDS 端點 (預設值:``)
--xds-label <string>Istiod pod 標籤選擇器 (預設值:``)
--xds-port <int>Istiod pod 連接埠 (預設值:`15012`)

範例

  # Update resources on the fly before applying.
  kubectl apply -f <(istioctl kube-inject -f <resource.yaml>)

  # Create a persistent version of the deployment with Istio sidecar injected.
  istioctl kube-inject -f deployment.yaml -o deployment-injected.yaml

  # Update an existing deployment.
  kubectl get deployment -o yaml | istioctl kube-inject -f - | kubectl apply -f -

  # Capture cluster configuration for later use with kube-inject
  kubectl -n istio-system get cm istio-sidecar-injector  -o jsonpath="{.data.config}" > /tmp/inj-template.tmpl
  kubectl -n istio-system get cm istio -o jsonpath="{.data.mesh}" > /tmp/mesh.yaml
  kubectl -n istio-system get cm istio-sidecar-injector -o jsonpath="{.data.values}" > /tmp/values.json

  # Use kube-inject based on captured configuration
  istioctl kube-inject -f samples/bookinfo/platform/kube/bookinfo.yaml \
    --injectConfigFile /tmp/inj-template.tmpl \
    --meshConfigFile /tmp/mesh.yaml \
    --valuesFile /tmp/values.json

istioctl manifest

manifest 命令會產生並比較 Istio 的 manifest。

旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--dry-run僅限主控台/記錄輸出,不做任何變更。
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

istioctl manifest generate

generate 子命令會產生 Istio 安裝 manifest,並預設輸出到主控台。

istioctl manifest generate [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--charts <string>已棄用,請改用 --manifests。(預設值:``)
--cluster-specific如果啟用,將會檢查目前的叢集是否有特定於叢集的設定。
--context <字串>Kubernetes 組態內容(預設 ``)
--dry-run僅限主控台/記錄輸出,不做任何變更。
--filename <stringSlice>-f包含 IstioOperator 自訂資源的檔案路徑。此旗標可以多次指定,以覆蓋多個檔案。多個檔案會以從左到右的順序覆蓋。(預設值:`[]`)
--force即使發生驗證錯誤也繼續進行。
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--manifests <字串>-d指定圖表和設定檔目錄的路徑(例如 ~/Downloads/istio-1.24.0/manifests)。(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--revision <字串>-r命令的目標控制平面修訂版本。(預設值:``)
--set <stringArray>-s覆寫 IstioOperator 值,例如選擇設定檔 (--set profile=demo)、啟用或停用元件 (--set components.cni.enabled=true) 或覆寫 Istio 設定 (--set meshConfig.enableTracing=true)。請參閱文件以瞭解更多資訊:https://istio.dev.org.tw/v1.24/docs/reference/config/istio.operator.v1alpha1/#IstioOperatorSpec (預設值:`[]`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Generate a default Istio installation
  istioctl manifest generate

  # Enable Tracing
  istioctl manifest generate --set meshConfig.enableTracing=true

  # Generate the demo profile
  istioctl manifest generate --set profile=demo

  # To override a setting that includes dots, escape them with a backslash (\).  Your shell may require enclosing quotes.
  istioctl manifest generate --set "values.sidecarInjectorWebhook.injectedAnnotations.container\.apparmor\.security\.beta\.kubernetes\.io/istio-proxy=runtime/default"

istioctl manifest install

install 命令會產生 Istio 安裝資訊清單並將其套用至叢集。

istioctl manifest install [flags]
istioctl manifest apply [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--charts <string>已棄用,請改用 --manifests。(預設值:``)
--context <字串>Kubernetes 組態內容(預設 ``)
--dry-run僅限主控台/記錄輸出,不做任何變更。
--filename <stringSlice>-f包含 IstioOperator 自訂資源的檔案路徑。此旗標可以多次指定,以覆蓋多個檔案。多個檔案會以從左到右的順序覆蓋。(預設值:`[]`)
--force即使發生驗證錯誤也繼續進行。
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--manifests <字串>-d指定圖表和設定檔目錄的路徑(例如 ~/Downloads/istio-1.24.0/manifests)。(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--readiness-timeout <duration>等待每個元件中的 Istio 資源準備就緒的最長時間。(預設值:`5m0s`)
--revision <字串>-r命令的目標控制平面修訂版本。(預設值:``)
--set <stringArray>-s覆寫 IstioOperator 值,例如選擇設定檔 (--set profile=demo)、啟用或停用元件 (--set components.cni.enabled=true) 或覆寫 Istio 設定 (--set meshConfig.enableTracing=true)。請參閱文件以瞭解更多資訊:https://istio.dev.org.tw/v1.24/docs/reference/config/istio.operator.v1alpha1/#IstioOperatorSpec (預設值:`[]`)
--skip-confirmation-yskipConfirmation 決定是否提示使用者確認。如果設定為 true,則不會提示使用者,並且在所有情況下都會假設回答為 Yes。
--verify在安裝/就地升級後驗證 Istio 控制平面
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Apply a default Istio installation
  istioctl install

  # Enable Tracing
  istioctl install --set meshConfig.enableTracing=true

  # Generate the demo profile and don't wait for confirmation
  istioctl install --set profile=demo --skip-confirmation

  # To override a setting that includes dots, escape them with a backslash (\).  Your shell may require enclosing quotes.
  istioctl install --set "values.sidecarInjectorWebhook.injectedAnnotations.container\.apparmor\.security\.beta\.kubernetes\.io/istio-proxy=runtime/default"

istioctl manifest translate

translate 子命令會轉換 Istio 安裝 manifest,並預設輸出到主控台。

istioctl manifest translate [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--dry-run僅限主控台/記錄輸出,不做任何變更。
--filename <stringSlice>-f包含 IstioOperator 自訂資源的檔案路徑。此旗標可以多次指定,以覆蓋多個檔案。多個檔案會以從左到右的順序覆蓋。(預設值:`[]`)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--manifests <字串>-d指定圖表和設定檔目錄的路徑(例如 ~/Downloads/istio-1.24.0/manifests)。(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--output <字串>-o翻譯輸出的放置位置(預設為 ``)
--revision <字串>-r命令的目標控制平面修訂版本。(預設值:``)
--set <stringArray>-s覆寫 IstioOperator 值,例如選擇設定檔 (--set profile=demo)、啟用或停用元件 (--set components.cni.enabled=true) 或覆寫 Istio 設定 (--set meshConfig.enableTracing=true)。請參閱文件以瞭解更多資訊:https://istio.dev.org.tw/v1.24/docs/reference/config/istio.operator.v1alpha1/#IstioOperatorSpec (預設值:`[]`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Translate an IstioOperator yaml file into helm values
  istioctl manifest translate -f istio.yaml

  # Translate a default Istio installation
  istioctl manifest translate

  # Enable Tracing
  istioctl manifest translate --set meshConfig.enableTracing=true

  # Translate the demo profile
  istioctl manifest translate --set profile=demo

  # To override a setting that includes dots, escape them with a backslash (\).  Your shell may require enclosing quotes.
  istioctl manifest translate --set "values.sidecarInjectorWebhook.injectedAnnotations.container\.apparmor\.security\.beta\.kubernetes\.io/istio-proxy=runtime/default"

istioctl options

顯示 istioctl 全域選項

旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

istioctl proxy-config

一組用於從 Envoy 設定傾印檔擷取 Proxy 設定資訊的命令

旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--output <字串>-o輸出格式:json|yaml|short 其中之一(預設 `short`)
--proxy-admin-port <int>Envoy proxy 管理連接埠 (預設值:`15000`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Retrieve information about proxy configuration from an Envoy instance.
  istioctl proxy-config <clusters|listeners|routes|endpoints|ecds|bootstrap|log|secret> <pod-name[.namespace]>

istioctl proxy-config all

擷取指定 Pod 中 Envoy 執行個體的所有設定資訊。

istioctl proxy-config all [<type>/]<name>[.<namespace>] [flags]
istioctl proxy-config a [<type>/]<name>[.<namespace>] [flags]
旗標簡寫描述
--address <字串>依位址欄位篩選接聽程式(預設為 ``)
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--direction <string>依方向欄位篩選叢集(預設為 ``)
--file <string>-fEnvoy 設定傾印檔(預設為 ``)
--fqdn <string>依服務 FQDN 欄位的子字串篩選叢集(預設為 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--name <字串>依路由名稱欄位篩選路由(預設為 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--output <字串>-o輸出格式:json|yaml|short 其中之一(預設 `short`)
--port <int>依埠欄位篩選叢集和接聽程式(預設為 `0`)
--proxy-admin-port <int>Envoy proxy 管理連接埠 (預設值:`15000`)
--subset <string>依子集欄位的子字串篩選叢集(預設為 ``)
--type <string>依類型欄位篩選接聽程式(預設為 ``)
--verbose輸出更多資訊
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Retrieve summary about all configuration for a given pod from Envoy.
  istioctl proxy-config all <pod-name[.namespace]>

  # Retrieve summary about all configuration for a pod under a deployment from Envoy.
  istioctl proxy-config all deployment/<deployment-name[.namespace]>

  # Retrieve full cluster dump as JSON
  istioctl proxy-config all <pod-name[.namespace]> -o json

  # Retrieve full cluster dump with short syntax
  istioctl pc a <pod-name[.namespace]>

  # Retrieve cluster summary without using Kubernetes API
  ssh <user@hostname> 'curl localhost:15000/config_dump' > envoy-config.json
  istioctl proxy-config all --file envoy-config.json

istioctl proxy-config bootstrap

擷取指定 Pod 中 Envoy 執行個體的引導設定資訊。

istioctl proxy-config bootstrap [<type>/]<name>[.<namespace>] [flags]
istioctl proxy-config b [<type>/]<name>[.<namespace>] [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--file <string>-fEnvoy 設定傾印 JSON 檔案 (預設值:``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--output <字串>-o輸出格式:json|yaml|short 其中一種(預設為 `json`)
--proxy-admin-port <int>Envoy proxy 管理連接埠 (預設值:`15000`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Retrieve full bootstrap configuration for a given pod from Envoy.
  istioctl proxy-config bootstrap <pod-name[.namespace]>

  # Retrieve full bootstrap configuration for a pod under a deployment from Envoy.
  istioctl proxy-config bootstrap deployment/<deployment-name[.namespace]>

  # Retrieve full bootstrap without using Kubernetes API
  ssh <user@hostname> 'curl localhost:15000/config_dump' > envoy-config.json
  istioctl proxy-config bootstrap --file envoy-config.json

  # Show a human-readable Istio and Envoy version summary
  istioctl proxy-config bootstrap <pod-name[.namespace]> -o short

istioctl proxy-config cluster

擷取指定 Pod 中 Envoy 執行個體的叢集設定資訊。

istioctl proxy-config cluster [<type>/]<name>[.<namespace>] [flags]
istioctl proxy-config clusters [<type>/]<name>[.<namespace>] [flags]
istioctl proxy-config c [<type>/]<name>[.<namespace>] [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--direction <string>依方向欄位篩選叢集(預設為 ``)
--file <string>-fEnvoy 設定傾印 JSON 檔案 (預設值:``)
--fqdn <string>依服務 FQDN 欄位的子字串篩選叢集(預設為 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--output <字串>-o輸出格式:json|yaml|short 其中之一(預設 `short`)
--port <int>依埠欄位篩選叢集(預設為 `0`)
--proxy-admin-port <int>Envoy proxy 管理連接埠 (預設值:`15000`)
--subset <string>依子集欄位的子字串篩選叢集(預設為 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Retrieve summary about cluster configuration for a given pod from Envoy.
  istioctl proxy-config clusters <pod-name[.namespace]>

  # Retrieve summary about cluster configuration for a pod under a deployment from Envoy.
  istioctl proxy-config clusters deployment/<deployment-name[.namespace]>

  # Retrieve cluster summary for clusters with port 9080.
  istioctl proxy-config clusters <pod-name[.namespace]> --port 9080

  # Retrieve full cluster dump for clusters that are inbound with a FQDN of details.default.svc.cluster.local.
  istioctl proxy-config clusters <pod-name[.namespace]> --fqdn details.default.svc.cluster.local --direction inbound -o json

  # Retrieve cluster summary without using Kubernetes API
  ssh <user@hostname> 'curl localhost:15000/config_dump' > envoy-config.json
  istioctl proxy-config clusters --file envoy-config.json

istioctl proxy-config ecds

擷取指定 Pod 中 Envoy 執行個體的類型擴充設定資訊。

istioctl proxy-config ecds [<type>/]<name>[.<namespace>] [flags]
istioctl proxy-config ec [<type>/]<name>[.<namespace>] [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--file <string>-fEnvoy 設定傾印 JSON 檔案 (預設值:``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--output <字串>-o輸出格式:json|yaml|short 其中之一(預設 `short`)
--proxy-admin-port <int>Envoy proxy 管理連接埠 (預設值:`15000`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Retrieve full typed extension configuration for a given pod from Envoy.
  istioctl proxy-config ecds <pod-name[.namespace]>

  # Retrieve full typed extension configuration for a pod under a deployment from Envoy.
  istioctl proxy-config ecds deployment/<deployment-name[.namespace]>

  # Retrieve endpoint summary without using Kubernetes API
  ssh <user@hostname> 'curl localhost:15000/config_dump' > envoy-config.json
  istioctl proxy-config ecds --file envoy-config.json

istioctl proxy-config endpoint

擷取指定 Pod 中 Envoy 執行個體的端點設定資訊。

istioctl proxy-config endpoint [<type>/]<name>[.<namespace>] [flags]
istioctl proxy-config endpoints [<type>/]<name>[.<namespace>] [flags]
istioctl proxy-config ep [<type>/]<name>[.<namespace>] [flags]
旗標簡寫描述
--address <字串>依位址欄位篩選端點(預設為 ``)
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--cluster <string>依叢集名稱欄位篩選端點(預設為 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--file <string>-fEnvoy 設定傾印 JSON 檔案 (預設值:``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--output <字串>-o輸出格式:json|yaml|short 其中之一(預設 `short`)
--port <int>依埠欄位篩選端點(預設為 `0`)
--proxy-admin-port <int>Envoy proxy 管理連接埠 (預設值:`15000`)
--status <string>依狀態欄位篩選端點(預設為 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Retrieve full endpoint configuration for a given pod from Envoy.
  istioctl proxy-config endpoint <pod-name[.namespace]>

  # Retrieve full endpoint configuration for a pod under a deployment from Envoy.
  istioctl proxy-config endpoint deployment/<deployment-name[.namespace]>

  # Retrieve endpoint summary for endpoint with port 9080.
  istioctl proxy-config endpoint <pod-name[.namespace]> --port 9080

  # Retrieve full endpoint with a address (172.17.0.2).
  istioctl proxy-config endpoint <pod-name[.namespace]> --address 172.17.0.2 -o json

  # Retrieve full endpoint with a cluster name (outbound|9411||zipkin.istio-system.svc.cluster.local).
  istioctl proxy-config endpoint <pod-name[.namespace]> --cluster "outbound|9411||zipkin.istio-system.svc.cluster.local" -o json
  # Retrieve full endpoint with the status (healthy).
  istioctl proxy-config endpoint <pod-name[.namespace]> --status healthy -ojson

  # Retrieve endpoint summary without using Kubernetes API
  ssh <user@hostname> 'curl localhost:15000/clusters?format=json' > envoy-clusters.json
  istioctl proxy-config endpoints --file envoy-clusters.json

istioctl proxy-config listener

擷取指定 Pod 中 Envoy 執行個體的接聽程式設定資訊。

istioctl proxy-config listener [<type>/]<name>[.<namespace>] [flags]
istioctl proxy-config listeners [<type>/]<name>[.<namespace>] [flags]
istioctl proxy-config l [<type>/]<name>[.<namespace>] [flags]
旗標簡寫描述
--address <字串>依位址欄位篩選接聽程式(預設為 ``)
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--file <string>-fEnvoy 設定傾印 JSON 檔案 (預設值:``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--output <字串>-o輸出格式:json|yaml|short 其中之一(預設 `short`)
--port <int>依埠欄位篩選接聽程式(預設為 `0`)
--proxy-admin-port <int>Envoy proxy 管理連接埠 (預設值:`15000`)
--type <string>依類型欄位篩選接聽程式(預設為 ``)
--verbose輸出更多資訊
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Retrieve summary about listener configuration for a given pod from Envoy.
  istioctl proxy-config listeners <pod-name[.namespace]>

  # Retrieve summary about listener configuration a pod under a deployment from Envoy.
  istioctl proxy-config deployment/<deployment-name[.namespace]>

  # Retrieve listener summary for listeners with port 9080.
  istioctl proxy-config listeners <pod-name[.namespace]> --port 9080

  # Retrieve full listener dump for HTTP listeners with a wildcard address (0.0.0.0).
  istioctl proxy-config listeners <pod-name[.namespace]> --type HTTP --address 0.0.0.0 -o json

  # Retrieve listener summary without using Kubernetes API
  ssh <user@hostname> 'curl localhost:15000/config_dump' > envoy-config.json
  istioctl proxy-config listeners --file envoy-config.json

istioctl proxy-config log

擷取指定 Pod 中 Envoy 執行個體的記錄層級資訊,並可選擇性更新

istioctl proxy-config log [<type>/]<name>[.<namespace>] [flags]
istioctl proxy-config o [<type>/]<name>[.<namespace>] [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--level <字串>要輸出的訊息的每個記錄器最低層級,以逗號分隔,格式為 [<記錄器>:]<層級>,[<記錄器>:]<層級>,... 或 <層級> 以變更所有活動記錄器,其中記錄器元件可以透過執行 "istioctl proxy-config log <pod-name[.namespace]>" 或從 https://github.com/envoyproxy/envoy/blob/main/source/common/common/logger.h 參考列出,且層級可以是 [trace, debug, info, warning, error, critical, off] 其中之一(預設為 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--output <字串>-o輸出格式:json|yaml|short 其中之一(預設 `short`)
--proxy-admin-port <int>Envoy proxy 管理連接埠 (預設值:`15000`)
--reset-r將層級重設為預設值 (warning)。
--selector <字串>-l標籤選擇器 (預設值:``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Retrieve information about logging levels for a given pod from Envoy.
  istioctl proxy-config log <pod-name[.namespace]>

  # Update levels of the all loggers
  istioctl proxy-config log <pod-name[.namespace]> --level none

  # Update levels of the specified loggers.
  istioctl proxy-config log <pod-name[.namespace]> --level http:debug,redis:debug

  # Reset levels of all the loggers to default value (warning).
  istioctl proxy-config log <pod-name[.namespace]> -r

istioctl proxy-config rootca-compare

比較給定 2 個 Pod 的 ROOTCA 值,以檢查它們之間的連線能力。

此命令正在積極開發中,尚未準備好用於生產環境。

istioctl proxy-config rootca-compare [pod/]<name-1>[.<namespace-1>] [pod/]<name-2>[.<namespace-2>] [flags]
istioctl proxy-config rc [pod/]<name-1>[.<namespace-1>] [pod/]<name-2>[.<namespace-2>] [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--output <字串>-o輸出格式:json|yaml|short 其中之一(預設 `short`)
--proxy-admin-port <int>Envoy proxy 管理連接埠 (預設值:`15000`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Compare ROOTCA values for given 2 pods to check the connectivity between them.
  istioctl proxy-config rootca-compare <pod-name-1[.namespace]> <pod-name-2[.namespace]>

istioctl proxy-config route

擷取指定 Pod 中 Envoy 執行個體的路由設定資訊。

istioctl proxy-config route [<type>/]<name>[.<namespace>] [flags]
istioctl proxy-config routes [<type>/]<name>[.<namespace>] [flags]
istioctl proxy-config r [<type>/]<name>[.<namespace>] [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--file <string>-fEnvoy 設定傾印 JSON 檔案 (預設值:``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--name <字串>依路由名稱欄位篩選接聽程式(預設為 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--output <字串>-o輸出格式:json|yaml|short 其中之一(預設 `short`)
--proxy-admin-port <int>Envoy proxy 管理連接埠 (預設值:`15000`)
--verbose輸出更多資訊
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Retrieve summary about route configuration for a given pod from Envoy.
  istioctl proxy-config routes <pod-name[.namespace]>

  # Retrieve summary about route configuration for a pod under a deployment from Envoy.
  istioctl proxy-config routes deployment/<deployment-name[.namespace]>

  # Retrieve route summary for route 9080.
  istioctl proxy-config route <pod-name[.namespace]> --name 9080

  # Retrieve full route dump for route 9080
  istioctl proxy-config route <pod-name[.namespace]> --name 9080 -o json

  # Retrieve route summary without using Kubernetes API
  ssh <user@hostname> 'curl localhost:15000/config_dump' > envoy-config.json
  istioctl proxy-config routes --file envoy-config.json

istioctl proxy-config secret

擷取指定 Pod 中 Envoy 執行個體的密碼設定資訊。

istioctl proxy-config secret [<type>/]<name>[.<namespace>] [flags]
istioctl proxy-config secrets [<type>/]<name>[.<namespace>] [flags]
istioctl proxy-config s [<type>/]<name>[.<namespace>] [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--file <string>-fEnvoy 設定傾印 JSON 檔案 (預設值:``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--output <字串>-o輸出格式:json|yaml|short 其中之一(預設 `short`)
--proxy-admin-port <int>Envoy proxy 管理連接埠 (預設值:`15000`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Retrieve full secret configuration for a given pod from Envoy.
  istioctl proxy-config secret <pod-name[.namespace]>

  # Retrieve full secret configuration for a pod under a deployment from Envoy.
  istioctl proxy-config secret deployment/<deployment-name[.namespace]>

  # Retrieve full bootstrap without using Kubernetes API
  ssh <user@hostname> 'curl localhost:15000/config_dump' > envoy-config.json
  istioctl proxy-config secret --file envoy-config.json

istioctl proxy-status

擷取從 Istiod 到網格中每個 Envoy 的最後一次傳送和最後一次確認的 xDS 同步

istioctl proxy-status [<type>/]<name>[.<namespace>] [flags]
istioctl ps [<type>/]<name>[.<namespace>] [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--authority <string>XDS 主體替代名稱(例如 istiod.istio-system.svc)(預設值:``)
--cert-dir <string>XDS 端點憑證目錄 (預設值:``)
--context <字串>Kubernetes 組態內容(預設 ``)
--file <string>-fEnvoy 設定傾印 JSON 檔案 (預設值:``)
--insecure跳過伺服器憑證和網域驗證。(不安全!)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--plaintext連線到伺服器時使用純文字 HTTP/2 (沒有 TLS)。
--revision <字串>-r控制平面修訂版本(預設 ``)
--timeout <持續時間>失敗前等待的時間長度(預設 `30 秒`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)
--xds-address <string>XDS 端點 (預設值:``)
--xds-label <string>Istiod pod 標籤選擇器 (預設值:``)
--xds-port <int>Istiod pod 連接埠 (預設值:`15012`)

範例

  # Retrieve sync status for all Envoys in a mesh
  istioctl proxy-status

  # Retrieve sync status for Envoys in a specific namespace
  istioctl proxy-status --namespace foo

  # Retrieve sync diff for a single Envoy and Istiod
  istioctl proxy-status istio-egressgateway-59585c5b9c-ndc59.istio-system

  # SECURITY OPTIONS

  # Retrieve proxy status information directly from the control plane, using token security
  # (This is the usual way to get the proxy-status with an out-of-cluster control plane.)
  istioctl ps --xds-address istio.cloudprovider.example.com:15012

  # Retrieve proxy status information via Kubernetes config, using token security
  # (This is the usual way to get the proxy-status with an in-cluster control plane.)
  istioctl proxy-status

  # Retrieve proxy status information directly from the control plane, using RSA certificate security
  # (Certificates must be obtained before this step.  The --cert-dir flag lets istioctl bypass the Kubernetes API server.)
  istioctl ps --xds-address istio.example.com:15012 --cert-dir ~/.istio-certs

  # Retrieve proxy status information via XDS from specific control plane in multi-control plane in-cluster configuration
  # (Select a specific control plane in an in-cluster canary Istio configuration.)
  istioctl ps --xds-label istio.io/rev=default

istioctl remote-clusters

列出每個 istiod 執行個體所連線的遠端叢集。

istioctl remote-clusters [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--revision <字串>-r控制平面修訂版本(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

istioctl tag

用於與修訂標籤互動的命令群組。修訂標籤允許建立可變的別名,指向 Sidecar 注入的控制平面修訂。

透過修訂標籤,無需將命名空間從「istio.io/rev=revision-a」重新標記為「istio.io/rev=revision-b」來變更哪個控制平面修訂處理注入,可以建立修訂標籤「prod」,並將我們的命名空間標記為「istio.io/rev=prod」。修訂標籤「prod」最初可能指向「1-7-6」,然後稍後變更為指向「1-8-1」。

這允許運算子變更哪個 Istio 控制平面修訂應處理命名空間或一組命名空間的注入,而無需手動重新標記「istio.io/rev」標籤。

istioctl tag [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

istioctl tag generate

建立修訂標籤並輸出到命令的 stdout。標記 Istio 控制平面修訂以用於命名空間 istio.io/rev 注入標籤。

istioctl tag generate <revision-tag> [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--auto-inject-namespaces如果設定為 true,Sidecar 預設應自動注入到所有命名空間
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--manifests <字串>-d指定圖表和設定檔目錄的路徑(例如 ~/Downloads/istio-1.24.0/manifests)。(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--overwrite如果為 true,允許覆寫修訂標籤,否則拒絕覆寫現有修訂標籤的修訂標籤更新。
--revision <字串>-r要從給定修訂標籤參考的控制平面修訂(預設為 ``)
--skip-confirmation-yskipConfirmation 決定是否提示使用者確認。如果設定為 true,則不會提示使用者,並且在所有情況下都會假設回答為 Yes。
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)
--webhook-name <string>用於修訂標籤的變異 Webhook 設定的名稱。(預設為 ``)

範例

  # Create a revision tag from the "1-8-0" revision
  istioctl tag generate prod --revision 1-8-0 > tag.yaml

  # Apply the tag to cluster
  kubectl apply -f tag.yaml

  # Point namespace "test-ns" at the revision pointed to by the "prod" revision tag
  kubectl label ns test-ns istio.io/rev=prod

  # Rollout namespace "test-ns" to update workloads to the "1-8-0" revision
  kubectl rollout restart deployments -n test-ns

istioctl tag list

列出現有的修訂標籤

istioctl tag list [flags]
istioctl tag show [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--output <字串>-o標籤描述的輸出格式(可用格式:table、json、yaml)(預設為 `table`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  istioctl tag list

istioctl tag remove

移除 Istio 控制平面修訂標籤。

移除修訂標籤應謹慎處理。移除修訂標籤會干擾在「istio.io/rev」標籤中參考該標籤的命名空間中的 Sidecar 注入。使用 "istioctl tag list" 命令,在移除之前驗證是否沒有任何剩餘的命名空間參考修訂標籤。

istioctl tag remove <revision-tag> [flags]
istioctl tag delete <revision-tag> [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--skip-confirmation-yskipConfirmation 決定是否提示使用者確認。如果設定為 true,則不會提示使用者,並且在所有情況下都會假設回答為 Yes。
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Remove the revision tag "prod"
  istioctl tag remove prod

istioctl tag set

建立或修改修訂標籤。標記 Istio 控制平面修訂以用於命名空間 istio.io/rev 注入標籤。

istioctl tag set <revision-tag> [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--auto-inject-namespaces如果設定為 true,Sidecar 預設應自動注入到所有命名空間
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--manifests <字串>-d指定圖表和設定檔目錄的路徑(例如 ~/Downloads/istio-1.24.0/manifests)。(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--overwrite如果為 true,允許覆寫修訂標籤,否則拒絕覆寫現有修訂標籤的修訂標籤更新。
--revision <字串>-r要從給定修訂標籤參考的控制平面修訂(預設為 ``)
--skip-confirmation-yskipConfirmation 決定是否提示使用者確認。如果設定為 true,則不會提示使用者,並且在所有情況下都會假設回答為 Yes。
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)
--webhook-name <string>用於修訂標籤的變異 Webhook 設定的名稱。(預設為 ``)

範例

  # Create a revision tag from the "1-8-0" revision
  istioctl tag set prod --revision 1-8-0

  # Point namespace "test-ns" at the revision pointed to by the "prod" revision tag
  kubectl label ns test-ns istio.io/rev=prod

  # Change the revision tag to reference the "1-8-1" revision
  istioctl tag set prod --revision 1-8-1 --overwrite

  # Make revision "1-8-1" the default revision, both resulting in that revision handling injection for "istio-injection=enabled"
  # and validating resources cluster-wide
  istioctl tag set default --revision 1-8-1

  # Rollout namespace "test-ns" to update workloads to the "1-8-1" revision
  kubectl rollout restart deployments -n test-ns

istioctl uninstall

uninstall 命令會從叢集中解除安裝 Istio

istioctl uninstall [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--dry-run僅限主控台/記錄輸出,不做任何變更。
--filename <字串>-fIstioOperator CR 的檔名。(預設為 ``)
--force即使發生驗證錯誤也繼續進行。
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--manifests <字串>-d指定圖表和設定檔目錄的路徑(例如 ~/Downloads/istio-1.24.0/manifests)。(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--purge刪除所有版本的 Istio 相關來源
--revision <字串>-r命令的目標控制平面修訂版本。(預設值:``)
--set <stringArray>-s覆寫 IstioOperator 值,例如選擇設定檔 (--set profile=demo)、啟用或停用元件 (--set components.cni.enabled=true) 或覆寫 Istio 設定 (--set meshConfig.enableTracing=true)。請參閱文件以瞭解更多資訊:https://istio.dev.org.tw/v1.24/docs/reference/config/istio.operator.v1alpha1/#IstioOperatorSpec (預設值:`[]`)
--skip-confirmation-yskipConfirmation 決定是否提示使用者確認。如果設定為 true,則不會提示使用者,並且在所有情況下都會假設回答為 Yes。
--verbose-v詳細輸出。
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Uninstall a single control plane by revision
  istioctl uninstall --revision foo

  # Uninstall a single control plane by iop file
  istioctl uninstall -f iop.yaml
  
  # Uninstall all control planes and shared resources
  istioctl uninstall --purge

istioctl upgrade

upgrade 命令是 install 命令的別名

istioctl upgrade [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--charts <string>已棄用,請改用 --manifests。(預設值:``)
--context <字串>Kubernetes 組態內容(預設 ``)
--dry-run僅限主控台/記錄輸出,不做任何變更。
--filename <stringSlice>-f包含 IstioOperator 自訂資源的檔案路徑。此旗標可以多次指定,以覆蓋多個檔案。多個檔案會以從左到右的順序覆蓋。(預設值:`[]`)
--force即使發生驗證錯誤也繼續進行。
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--manifests <字串>-d指定圖表和設定檔目錄的路徑(例如 ~/Downloads/istio-1.24.0/manifests)。(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--readiness-timeout <duration>等待每個元件中的 Istio 資源準備就緒的最長時間。(預設值:`5m0s`)
--revision <字串>-r命令的目標控制平面修訂版本。(預設值:``)
--set <stringArray>-s覆寫 IstioOperator 值,例如選擇設定檔 (--set profile=demo)、啟用或停用元件 (--set components.cni.enabled=true) 或覆寫 Istio 設定 (--set meshConfig.enableTracing=true)。請參閱文件以瞭解更多資訊:https://istio.dev.org.tw/v1.24/docs/reference/config/istio.operator.v1alpha1/#IstioOperatorSpec (預設值:`[]`)
--skip-confirmation-yskipConfirmation 決定是否提示使用者確認。如果設定為 true,則不會提示使用者,並且在所有情況下都會假設回答為 Yes。
--verify在安裝/就地升級後驗證 Istio 控制平面
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

istioctl validate

驗證 Istio 原則和規則檔案

istioctl validate -f FILENAME [options] [flags]
istioctl v -f FILENAME [options] [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--filename <stringSlice>-f要驗證的檔案輸入(預設為 `[]`)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Validate bookinfo-gateway.yaml
  istioctl validate -f samples/bookinfo/networking/bookinfo-gateway.yaml

  # Validate bookinfo-gateway.yaml with shorthand syntax
  istioctl v -f samples/bookinfo/networking/bookinfo-gateway.yaml

  # Validate all yaml files under samples/bookinfo/networking directory
  istioctl validate -f samples/bookinfo/networking

  # Validate current deployments under 'default' namespace within the cluster
  kubectl get deployments -o yaml | istioctl validate -f -

  # Validate current services under 'default' namespace within the cluster
  kubectl get services -o yaml | istioctl validate -f -

  # Also see the related command 'istioctl analyze'
  istioctl analyze samples/bookinfo/networking/bookinfo-gateway.yaml

istioctl version

列印出建置版本資訊

istioctl version [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--output <字串>-o「yaml」或「json」其中之一。(預設 ``)
--remote使用 --remote=false 來抑制控制平面檢查
--revision <字串>-r控制平面修訂版本(預設 ``)
--short-s使用 --short=false 以產生完整版本資訊
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

istioctl waypoint

用於管理 Waypoint 設定的命令群組

istioctl waypoint [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--name <字串>Waypoint 的名稱(預設為 `waypoint`)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Apply a waypoint to the current namespace
  istioctl waypoint apply

  # Generate a waypoint as yaml
  istioctl waypoint generate --namespace default

  # List all waypoints in a specific namespace
  istioctl waypoint list --namespace default

istioctl waypoint apply

將 Waypoint 設定套用至叢集

istioctl waypoint apply [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--enroll-namespace如果設定,將以 Waypoint 名稱標記命名空間
--for <string>指定 Waypoint 的流量類型 [all none service workload](預設為 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--name <字串>Waypoint 的名稱(預設為 `waypoint`)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--overwrite覆寫命名空間使用的現有 Waypoint
--revision <字串>-r要使用標籤標記 Waypoint 的修訂(預設為 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)
--wait-w等待 Waypoint 準備就緒

範例

  # Apply a waypoint to the current namespace
  istioctl waypoint apply

  # Apply a waypoint to a specific namespace and wait for it to be ready
  istioctl waypoint apply --namespace default --wait

istioctl waypoint delete

從叢集中刪除 Waypoint 設定

istioctl waypoint delete [flags]
旗標簡寫描述
--all刪除命名空間中的所有 Waypoint
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--name <字串>Waypoint 的名稱(預設為 `waypoint`)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Delete a waypoint from the default namespace
  istioctl waypoint delete

  # Delete a waypoint by name, which can obtain from istioctl waypoint list
  istioctl waypoint delete waypoint-name --namespace default

  # Delete several waypoints by name
  istioctl waypoint delete waypoint-name1 waypoint-name2 --namespace default

  # Delete all waypoints in a specific namespace
  istioctl waypoint delete --all --namespace default

istioctl waypoint generate

產生 Waypoint 設定為 YAML

istioctl waypoint generate [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--for <string>指定 Waypoint 的流量類型 [all none service workload](預設為 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--name <字串>Waypoint 的名稱(預設為 `waypoint`)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--revision <字串>-r要使用標籤標記 Waypoint 的修訂(預設為 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Generate a waypoint as yaml
  istioctl waypoint generate --namespace default

istioctl waypoint list

列出叢集中受管理的 Waypoint 設定

istioctl waypoint list [flags]
旗標簡寫描述
--all-namespaces-A列出所有命名空間中的所有 Waypoint
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--name <字串>Waypoint 的名稱(預設為 `waypoint`)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # List all waypoints in a specific namespace
  istioctl waypoint list --namespace default

  # List all waypoints in the cluster
  istioctl waypoint list -A

istioctl waypoint status

顯示所提供命名空間或預設命名空間的 Waypoint 狀態

istioctl waypoint status [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--name <字串>Waypoint 的名稱(預設為 `waypoint`)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Show the status of the waypoint in the default namespace
		 istioctl waypoint status
		  
		 # Show the status of the waypoint in a specific namespace
  		 istioctl waypoint status --namespace default

istioctl ztunnel-config

一組用於從 Ztunnel 執行個體更新或擷取 Ztunnel 設定的命令。

旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Retrieve summary about workload configuration
  istioctl ztunnel-config workload

  # Retrieve summary about certificates
  istioctl ztunnel-config certificates

istioctl ztunnel-config all

擷取 Ztunnel 執行個體的所有設定資訊。

istioctl ztunnel-config all [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--file <string>-fZtunnel 設定傾印 JSON 檔案(預設為 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--node <string>依節點欄位篩選工作負載(預設為 ``)
--output <字串>-o輸出格式:json|yaml|short 其中之一(預設 `short`)
--proxy-admin-port <int>Ztunnel Proxy 管理埠(預設為 `15000`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Retrieve summary about all configuration for a randomly chosen ztunnel.
  istioctl ztunnel-config all

  # Retrieve full configuration dump of workloads for a given Ztunnel instance.
  istioctl ztunnel-config all <ztunnel-name[.namespace]> -o json

istioctl ztunnel-config certificate

擷取 Ztunnel 執行個體的憑證資訊。

istioctl ztunnel-config certificate [flags]
istioctl ztunnel-config certificates [flags]
istioctl ztunnel-config certs [flags]
istioctl ztunnel-config cert [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--file <string>-fZtunnel 設定傾印 JSON 檔案(預設為 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--node <string>依節點欄位篩選工作負載(預設為 ``)
--output <字串>-o輸出格式:json|yaml|short 其中之一(預設 `short`)
--proxy-admin-port <int>Ztunnel Proxy 管理埠(預設為 `15000`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Retrieve summary about workload configuration for a randomly chosen ztunnel.
  istioctl ztunnel-config certificates

  # Retrieve full certificate dump of workloads for a given Ztunnel instance.
  istioctl ztunnel-config certificates <ztunnel-name[.namespace]> -o json

istioctl ztunnel-config log

擷取指定 Pod 中 Ztunnel 執行個體的記錄層級資訊,並可選擇性更新。

istioctl ztunnel-config log [<type>/]<name>[.<namespace>] [flags]
istioctl ztunnel-config o [<type>/]<name>[.<namespace>] [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--file <string>-fZtunnel 設定傾印 JSON 檔案(預設為 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--level <字串>要輸出的訊息的每個記錄器最低層級,以逗號分隔,格式為 [<記錄器>:]<層級>,[<記錄器>:]<層級>,... 或 <層級> 以變更所有活動記錄器,其中記錄器元件可以透過執行 "istioctl ztunnel-config log <pod-name[.namespace]>" 列出,且層級可以是 [trace, debug, info, warning, error, critical, off] 其中之一(預設為 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--node <string>依節點欄位篩選工作負載(預設為 ``)
--output <字串>-o輸出格式:json|yaml|short 其中之一(預設 `short`)
--proxy-admin-port <int>Ztunnel Proxy 管理埠(預設為 `15000`)
--reset-r將層級重設為預設值 (warning)。
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Retrieve information about logging levels from all Ztunnel pods
 istioctl ztunnel-config log

 # Update levels of the all loggers for a specific Ztunnel pod
 istioctl ztunnel-config log <pod-name[.namespace]> --level off

 # Update levels of the specified loggers for all Ztunnl pods
 istioctl ztunnel-config log --level access:debug,info

 # Reset levels of all the loggers to default value (warning)  for a specific Ztunnel pod.
 istioctl ztunnel-config log <pod-name[.namespace]> -r

istioctl ztunnel-config policy

擷取 Ztunnel 執行個體的原則資訊。

istioctl ztunnel-config policy [flags]
istioctl ztunnel-config policies [flags]
istioctl ztunnel-config p [flags]
istioctl ztunnel-config pol [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--file <string>-fZtunnel 設定傾印 JSON 檔案(預設為 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--node <string>依節點欄位篩選工作負載(預設為 ``)
--output <字串>-o輸出格式:json|yaml|short 其中之一(預設 `short`)
--policy-namespace <string>依命名空間欄位篩選原則(預設為 ``)
--proxy-admin-port <int>Ztunnel Proxy 管理埠(預設為 `15000`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Retrieve summary about policy configuration for a randomly chosen ztunnel.
  istioctl ztunnel-config policies

  # Retrieve full policy dump of workloads for a given Ztunnel instance.
  istioctl ztunnel-config policies <ztunnel-name[.namespace]> -o json

istioctl ztunnel-config service

擷取 Ztunnel 執行個體的服務資訊。

istioctl ztunnel-config service [flags]
istioctl ztunnel-config services [flags]
istioctl ztunnel-config s [flags]
istioctl ztunnel-config svc [flags]
旗標簡寫描述
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--file <string>-fZtunnel 設定傾印 JSON 檔案(預設為 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--node <string>依節點欄位篩選工作負載(預設為 ``)
--output <字串>-o輸出格式:json|yaml|short 其中之一(預設 `short`)
--proxy-admin-port <int>Ztunnel Proxy 管理埠(預設為 `15000`)
--service-namespace <string>依命名空間欄位篩選服務(預設為 ``)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)

範例

  # Retrieve summary about services configuration for a randomly chosen ztunnel.
  istioctl ztunnel-config services

  # Retrieve full services dump of workloads for a given Ztunnel instance.
  istioctl ztunnel-config services <ztunnel-name[.namespace]> -o json

istioctl ztunnel-config workload

擷取 Ztunnel 執行個體的工作負載設定資訊。

istioctl ztunnel-config workload [<type>/]<name>[.<namespace>] [flags]
istioctl ztunnel-config w [<type>/]<name>[.<namespace>] [flags]
istioctl ztunnel-config workloads [<type>/]<name>[.<namespace>] [flags]
旗標簡寫描述
--address <字串>依位址欄位篩選工作負載(預設為 ``)
--as <字串>要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``)
--as-group <字串陣列>要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`)
--as-uid <字串>要模擬操作的 UID。(預設 ``)
--context <字串>Kubernetes 組態內容(預設 ``)
--file <string>-fZtunnel 設定傾印 JSON 檔案(預設為 ``)
--istioNamespace <字串>-iIstio 系統命名空間(預設 `istio-system`)
--kubeconfig <字串>-cKubernetes 組態檔(預設 ``)
--namespace <字串>-nKubernetes 命名空間(預設 ``)
--node <string>依節點欄位篩選工作負載(預設為 ``)
--output <字串>-o輸出格式:json|yaml|short 其中之一(預設 `short`)
--proxy-admin-port <int>Ztunnel Proxy 管理埠(預設為 `15000`)
--vklog <層級>日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`)
--workload-namespace <string>依命名空間欄位篩選工作負載(預設為 ``)
--workload-node <string>依節點篩選工作負載(預設為 ``)

範例

  # Retrieve summary about workload configuration for a randomly chosen ztunnel.
  istioctl ztunnel-config workload

  # Retrieve summary of workloads on node XXXX for a given Ztunnel instance.
  istioctl ztunnel-config workload <ztunnel-name[.namespace]> --node ambient-worker

  # Retrieve full workload dump of workloads with address XXXX for a given Ztunnel instance.
  istioctl ztunnel-config workload <ztunnel-name[.namespace]> --address 0.0.0.0 -o json

  # Retrieve Ztunnel config dump separately and inspect from file.
  kubectl exec -it $ZTUNNEL -n istio-system -- curl localhost:15000/config_dump > ztunnel-config.json
  istioctl ztunnel-config workloads --file ztunnel-config.json

  # Retrieve workload summary for a specific namespace
  istioctl ztunnel-config workloads <ztunnel-name[.namespace]> --workloads-namespace foo

環境變數

這些環境變數會影響 istioctl 命令的行為。
變數名稱類型預設值描述
AMBIENT_ENABLE_STATUS布林值false如果啟用,Ambient 模式的狀態訊息將會寫入資源。目前,這不會執行領導者選舉,因此啟用多個複本可能不安全。
BYPASS_OVERLOAD_MANAGER_FOR_STATIC_LISTENERS布林值true如果啟用,超載管理員將不會套用至靜態接聽程式
CA_TRUSTED_NODE_ACCOUNTS字串如果設定,則允許使用節點驗證的服務帳戶清單,以用於 CSR。節點驗證允許身分代表其他身分建立 CSR,但前提是必須有 Pod 在相同節點上以該身分執行。這適用於搭配節點 Proxy 使用。
CERT_SIGNER_DOMAIN字串憑證簽署者網域資訊
CLOUD_PLATFORM字串Proxy 在其上執行的雲端平台,如果未指定,Istio 會嘗試探索平台。有效的平台值為 aws、azure、gcp、none
CLUSTER_ID字串Kubernetes定義此 Istiod 執行個體所屬的叢集和服務登錄
COMPLIANCE_POLICY字串如果設定,則會對所有現有的 TLS 設定(包括網格內 mTLS 和外部 TLS)套用特定政策的限制。有效值為:* '' 或未設定表示不套用額外的限制。* 'fips-140-2' 強制執行 TLS 協定的特定版本以及一組加密套件子集,覆寫所有執行階段元件(包括 Envoy、gRPC Go SDK 和 gRPC C++ SDK)的任何使用者偏好設定或預設值。警告:在控制平面中設定合規性政策是達成合規性的必要條件,但並非充分條件。要聲明合規性,還需要其他步驟,包括使用經過驗證的加密模組(請參閱 https://envoy.dev.org.tw/docs/envoy/latest/intro/arch_overview/security/ssl#fips-140-2)。
ENABLE_100_CONTINUE_HEADERS布林值true如果啟用,istiod 將會直接代理 100-continue 標頭
ENABLE_AUTO_SNI布林值true如果啟用,當 `DestinationRules` 未指定相同 SNI 時,會自動設定
ENABLE_CA_SERVER布林值true如果設定為 false,則不會在 istiod 中建立 CA 伺服器。
ENABLE_DEBUG_ON_HTTP布林值true如果設定為 false,則不會啟用偵錯介面,建議用於生產環境
ENABLE_DEFERRED_CLUSTER_CREATION布林值true如果啟用,Istio 將僅在有請求時才建立叢集。這將在有大量非活動叢集且 > 1 個工作執行緒的情況下節省記憶體和 CPU 週期
ENABLE_DEFERRED_STATS_CREATION布林值true如果啟用,Istio 將延遲初始化統計資料的子集
ENABLE_DELIMITED_STATS_TAG_REGEX布林值true如果為 true,pilot 將使用新的分隔統計標籤正則表達式來產生 Envoy 統計標籤。
ENABLE_ENHANCED_DESTINATIONRULE_MERGE布林值true如果啟用,Istio 會考慮其 exportTo 欄位來合併 destinationrules,如果 exportTos 不相等,則會保留為獨立規則。
ENABLE_ENHANCED_RESOURCE_SCOPING布林值true如果啟用,meshConfig.discoverySelectors 將限制 pilot 可以處理的 CustomResource 設定(例如 Gateway、VirtualService、DestinationRule、Ingress 等)。這也會限制根 CA 憑證的分發。
ENABLE_HCM_INTERNAL_NETWORKS布林值false如果啟用,網格網路中定義的端點將在 HTTP 連線管理員中配置為內部位址
ENABLE_INBOUND_RETRY_POLICY布林值true如果為 true,則為入站路由啟用重試政策,該政策會自動重試在到達服務之前被重置的請求。
ENABLE_INGRESS_WAYPOINT_ROUTING布林值false如果為 true,閘道將會呼叫服務航點,如果在 Service 上設定了 'istio.io/ingress-use-waypoint' 標籤。
ENABLE_LEADER_ELECTION布林值true如果啟用(預設),則會啟動領導者選舉用戶端,並在執行控制器之前取得領導權。如果為 false,則會假設只執行 istiod 的一個執行個體,並跳過領導者選舉。
ENABLE_LOCALITY_WEIGHTED_LB_CONFIG布林值false如果啟用,則始終為叢集設定 LocalityWeightedLbConfig,否則僅當 DestinationRule 為服務指定區域負載平衡時才套用
ENABLE_MCS_AUTO_EXPORT布林值false如果啟用,istiod 將自動為網格中的每個服務產生 Kubernetes 多叢集服務 (MCS) ServiceExport 資源。在 MeshConfig 中定義為叢集本機的服務將被排除在外。
ENABLE_MCS_CLUSTER_LOCAL布林值false如果啟用,istiod 將按照 Kubernetes 多叢集服務 (MCS) 規格,將主機 `<svc>.<namespace>.svc.cluster.local` 視為已定義。在此模式下,對 `cluster.local` 的請求將僅路由到與用戶端位於同一叢集內的端點。需要同時啟用 ENABLE_MCS_SERVICE_DISCOVERY 和 ENABLE_MCS_HOST。
ENABLE_MCS_HOST布林值false如果啟用,istiod 將為至少一個叢集中匯出的每個服務(透過 ServiceExport)配置 Kubernetes 多叢集服務 (MCS) 主機(<svc>.<namespace>.svc.clusterset.local)。但是,用戶端必須能夠成功查找這些 DNS 主機。這表示必須啟用 Istio DNS 攔截或必須使用 MCS 控制器。需要同時啟用 ENABLE_MCS_SERVICE_DISCOVERY。
ENABLE_MCS_SERVICE_DISCOVERY布林值false如果啟用,istiod 將啟用 Kubernetes 多叢集服務 (MCS) 服務探索模式。在此模式下,除非透過 ServiceExport 明確匯出,否則叢集中的服務端點僅可在同一叢集內被探索。
ENABLE_MULTICLUSTER_HEADLESS布林值true如果為 true,無頭服務的 DNS 名稱表將會解析為任何叢集中的相同網路端點。
ENABLE_NATIVE_SIDECARS布林值false如果設定,則使用 Kubernetes 原生 Sidecar 容器支援。需要 SidecarContainer 功能旗標。
ENABLE_PROBE_KEEPALIVE_CONNECTIONS布林值false如果啟用,就緒探測將會保持從 pilot-agent 到應用程式的連線處於活動狀態。這反映了較舊 Istio 版本的行為,但不符合 kubelet 的行為。
ENABLE_RESOLUTION_NONE_TARGET_PORT布林值true如果啟用,resolution=NONE ServiceEntry 將支援 targetPort
ENABLE_SELECTOR_BASED_K8S_GATEWAY_POLICY布林值true如果停用,Gateway API 閘道將會忽略 workloadSelector 政策,僅套用使用 targetRef 選取閘道的政策。
ENABLE_TLS_ON_SIDECAR_INGRESS布林值false如果啟用,Sidecar.ingress 上的 TLS 設定將會生效
ENABLE_VTPROTOBUF布林值true如果為 true,將會使用最佳化的 vtprotobuf 型編組。需要使用 -tags=vtprotobuf 進行建置。
EXCLUDE_UNSAFE_503_FROM_DEFAULT_RETRY布林值true如果為 true,則從預設重試政策中排除對 503 的不安全重試。
EXTERNAL_ISTIOD布林值false如果設定為 true,則一個 Istiod 將控制包括 CA 的遠端叢集。
GCP_METADATA字串以管道符號分隔的 GCP 中繼資料,格式為 PROJECT_ID|PROJECT_NUMBER|CLUSTER_NAME|CLUSTER_ZONE
GCP_QUOTA_PROJECT字串允許指定在對 GCP API 的請求中使用的配額專案。
GRPC_KEEPALIVE_INTERVAL時間長度30 秒gRPC Keepalive 間隔
GRPC_KEEPALIVE_TIMEOUT時間長度10 秒gRPC Keepalive 超時
HTTP_STRIP_FRAGMENT_FROM_PATH_UNSAFE_IF_DISABLED布林值true
INBOUND_INTERCEPTION_MODE字串用於將入站連線重新導向至 Envoy 的模式,可以是「REDIRECT」或「TPROXY」
INBOUND_TPROXY_MARK字串
INJECTION_WEBHOOK_CONFIG_NAME字串istio-sidecar-injector要修補的 mutatingwebhookconfiguration 名稱,如果未使用 istioctl。
ISTIOCONFIG字串$HOME/.istioctl/config.yamlistioctl 旗標的預設值
ISTIOCTL_AUTHORITY字串istioctl --authority 覆寫
ISTIOCTL_CERT_DIR字串istioctl --cert-dir 覆寫
ISTIOCTL_INSECURE布林值falseistioctl --insecure 覆寫
ISTIOCTL_ISTIONAMESPACE字串istio-systemistioctl --istioNamespace 覆寫
ISTIOCTL_PLAINTEXT布林值falseistioctl --plaintext 覆寫
ISTIOCTL_PREFER_EXPERIMENTAL布林值falseistioctl 應使用實驗性子命令變體
ISTIOCTL_XDS_ADDRESS字串istioctl --xds-address 覆寫
ISTIOCTL_XDS_PORT整數15012istioctl --xds-port 覆寫
ISTIOD_CUSTOM_HOST字串istiod 簽署伺服器憑證的 istiod 自訂主機名稱。支援多個自訂主機名稱,多個值以逗號分隔。
ISTIO_AGENT_ENABLE_WASM_REMOTE_LOAD_CONVERSION布林值true如果啟用,Istio 代理程式將會攔截 ECDS 資源更新、下載 Wasm 模組,並以已下載的本機模組檔案取代 Wasm 模組遠端載入。
ISTIO_BOOTSTRAP字串
ISTIO_DELTA_XDS布林值true如果啟用,pilot 將只發送差異設定,而不是在資源請求時發送世界狀態。此功能使用差異 xds API,但目前不發送實際差異。
ISTIO_DUAL_STACK布林值false如果為 true,Istio 將啟用雙堆疊功能。
ISTIO_ENABLE_CONTROLLER_QUEUE_METRICS布林值false如果啟用,則會發佈佇列深度、延遲和處理時間的指標。
ISTIO_ENABLE_HTTP2_PROBING布林值true如果啟用,HTTPS 探測將會啟用 HTTP2 探測,遵循 Kubernetes
ISTIO_ENABLE_IPV4_OUTBOUND_LISTENER_FOR_IPV6_CLUSTERS布林值false如果為 true,pilot 將在僅 IPv6 的叢集中,為輸出流量配置額外的 IPv4 接聽器,例如 AWS EKS 僅 IPv6 的叢集。
ISTIO_GPRC_MAXRECVMSGSIZE整數4194304設定 gRPC 串流的最大接收緩衝區大小(以位元組為單位)。
ISTIO_GPRC_MAXSTREAMS整數100000設定並行 gRPC 串流的最大數目。
ISTIO_KUBE_CLIENT_CONTENT_TYPE字串protobuf用於 Kubernetes 用戶端的內容類型。預設為 protobuf。有效選項:[protobuf, json]
ISTIO_MULTIROOT_MESH布林值false如果啟用,網格將支援由多個 trustAnchor 簽署的憑證,用於 ISTIO_MUTUAL mTLS
ISTIO_OUTBOUND_IPV4_LOOPBACK_CIDR字串127.0.0.1/32用於識別應用程式容器的迴路介面上輸出流量的 IPv4 CIDR 範圍
ISTIO_OUTBOUND_OWNER_GROUPS字串*要將輸出流量重新導向至 Envoy 的群組的逗號分隔清單。可以使用名稱或數值 GID 指定群組。可以使用萬用字元 "*" 來配置重新導向所有群組的流量。
ISTIO_OUTBOUND_OWNER_GROUPS_EXCLUDE字串要將輸出流量排除在重新導向至 Envoy 之外的群組的逗號分隔清單。可以使用名稱或數值 GID 指定群組。僅當重新導向所有群組(即 "*")的流量至 Envoy 時才適用。
ISTIO_PROMETHEUS_ANNOTATIONS字串
ISTIO_WATCH_NAMESPACE字串如果設定,則將 Kubernetes 監看限制為單一名稱空間。警告:只能設定單一名稱空間。
ISTIO_WORKLOAD_ENTRY_VALIDATE_IDENTITY布林值true如果啟用,將驗證工作負載的身分是否與其正在關聯的工作負載項目 (WorkloadEntry) 的身分相符,以進行健康情況檢查和自動註冊。新增此旗標僅用於向後相容性,並將在未來版本中移除
JWKS_RESOLVER_INSECURE_SKIP_VERIFY布林值false如果啟用,istiod 將會跳過驗證 JWKS 伺服器的憑證。
K_REVISION字串KNative 修訂版,如果在 knative 中執行則設定
LABEL_CANONICAL_SERVICES_FOR_MESH_EXTERNAL_SERVICE_ENTRIES布林值false如果啟用,則會將代表位置為 mesh_external 的 ServiceEntry 資源的標準服務的中繼資料填入這些端點的叢集中繼資料。
LOCAL_CLUSTER_SECRET_WATCHER布林值false如果啟用,叢集密碼監看器將會監看外部叢集的命名空間,而不是設定叢集
MCS_API_GROUP字串multicluster.x-k8s.io用於 Kubernetes 多叢集服務 (MCS) API 的群組。
MCS_API_VERSION字串v1alpha1用於 Kubernetes 多叢集服務 (MCS) API 的版本。
METRICS_LOCALHOST_ACCESS_ONLY布林值false這將停用來自 Pod 外部的指標端點,僅允許 localhost 存取。
METRIC_GRACEFUL_DELETION_INTERVAL時間長度5 分鐘 0 秒指標過期正常刪除間隔。如果停用 METRIC_ROTATION_INTERVAL,則不執行任何操作。
METRIC_ROTATION_INTERVAL時間長度0 秒指標範圍輪換間隔,設定為 0 以停用指標範圍輪換
MUTEX_PROFILE_FRACTION整數1000如果設定為非零值,則會啟用互斥鎖分析,其速率為 1/MUTEX_PROFILE_FRACTION 事件。例如,'1000' 將記錄 0.1% 的事件。設定為 0 可完全停用。
PILOT_ALLOW_SIDECAR_SERVICE_INBOUND_LISTENER_MERGE布林值false如果設定,則允許為服務埠和 Sidecar 入口監聽器建立入站監聽器
PILOT_ANALYSIS_INTERVAL時間長度10 秒如果啟用分析,pilot 將使用此值(以秒為單位)作為間隔,來執行 Istio 資源的分析器
PILOT_AUTO_ALLOW_WAYPOINT_POLICY布林值false如果啟用,zTunnel 將為每個工作負載接收合成授權策略,允許 Waypoint 的身分。除非建立其他 ALLOW 策略,否則這會有效地拒絕未通過 Waypoint 的流量。
PILOT_CERT_PROVIDER字串istiodPilot DNS 憑證的提供者。K8S RA 將用於 k8s.io/NAME。 'istiod' 值將使用 Istio 內建 CA 進行簽署。其他值將不會產生 TLS 憑證,但仍會分發 ./etc/certs/root-cert.pem。僅在未掛載自訂憑證時使用。
PILOT_CONVERT_SIDECAR_SCOPE_CONCURRENCY整數1用於調整 SidecarScope 轉換的並行性。當 istiod 部署在多核心 CPU 伺服器上時,增加此值將有助於使用 CPU 加速組態推送,但也表示 istiod 將消耗更多 CPU 資源。
PILOT_DEBOUNCE_AFTER時間長度100 毫秒新增至組態/登錄事件以進行去抖動的延遲。這會將推送延遲至少此間隔。如果在此期間未偵測到任何變更,則會執行推送,否則我們會繼續延遲直到情況穩定,最多延遲到 PILOT_DEBOUNCE_MAX。
PILOT_DEBOUNCE_MAX時間長度10 秒去抖動時等待事件的最長時間。如果事件在此時間內持續出現而沒有間斷,我們將觸發推送。
PILOT_DISABLE_MX_ALPN布林值false如果為 true,pilot 將不會將 istio-peer-exchange ALPN 放入 TLS 交握組態中。
PILOT_DRAINING_LABEL字串istio.io/draining如果非空,具有此標籤值的端點將以 DRAINING 狀態傳送。
PILOT_ENABLE_ALPHA_GATEWAY_API布林值false如果將此設定為 true,則會啟用 Kubernetes gateway-api (github.com/kubernetes-sigs/gateway-api) 中的 alpha API 支援。除了啟用此項之外,還需要安裝 gateway-api CRD。
PILOT_ENABLE_ALPN_FILTER布林值true如果為 true,pilot 將新增 Istio ALPN 篩選器,此篩選器為正確的協定嗅探所必需。
PILOT_ENABLE_AMBIENT布林值false如果啟用,則可以使用環境模式。個別旗標會設定細微的啟用;必須啟用此旗標才能使用任何環境功能。
PILOT_ENABLE_AMBIENT_WAYPOINTS布林值false如果啟用,則會執行環境所需的控制器。這是執行環境網格所必需的。
PILOT_ENABLE_ANALYSIS布林值false如果啟用,pilot 將執行 istio 分析器,並將分析錯誤寫入任何 Istio 資源的 Status 欄位中
PILOT_ENABLE_CDS_CACHE布林值true如果為 true,Pilot 將快取 CDS 回應。注意:這取決於 PILOT_ENABLE_XDS_CACHE。
PILOT_ENABLE_CROSS_CLUSTER_WORKLOAD_ENTRY布林值true如果啟用,pilot 將從其他叢集讀取 WorkloadEntry,可由該叢集中的服務選取。
PILOT_ENABLE_EDS_DEBOUNCE布林值true如果啟用,Pilot 將在推送去抖動中包含 EDS 推送,此推送由 PILOT_DEBOUNCE_AFTER 和 PILOT_DEBOUNCE_MAX 設定。EDS 推送可能會延遲,但推送次數會較少。預設情況下,此設定為啟用
PILOT_ENABLE_EDS_FOR_HEADLESS_SERVICES布林值false如果啟用,對於 Kubernetes 中的無頭服務,pilot 將透過 EDS 傳送端點,允許 Sidecar 在無頭服務中的 Pod 之間進行負載平衡。如果應用程式透過 Sidecar 中的 HTTP Proxy 埠明確存取所有服務,則應啟用此功能。
PILOT_ENABLE_GATEWAY_API布林值true如果將此設定為 true,則會啟用 Kubernetes gateway-api (github.com/kubernetes-sigs/gateway-api) 的支援。除了啟用此項之外,還需要安裝 gateway-api CRD。
PILOT_ENABLE_GATEWAY_API_DEPLOYMENT_CONTROLLER布林值true如果將此設定為 true,gateway-api 資源將自動在叢集部署、服務等中佈建
PILOT_ENABLE_GATEWAY_API_GATEWAYCLASS_CONTROLLER布林值true如果將此設定為 true,istiod 將建立和管理其預設 GatewayClass
PILOT_ENABLE_GATEWAY_API_STATUS布林值true如果將此設定為 true,gateway-api 資源將具有寫入其中的狀態
PILOT_ENABLE_IP_AUTOALLOCATE布林值false如果啟用,pilot 將啟動一個控制器,為沒有使用者提供 IP 的 ServiceEntry 指派 IP 位址。當與 DNS 擷取結合使用時,可以對傳送到 ServiceEntry 的流量進行 TCP 路由。
PILOT_ENABLE_K8S_SELECT_WORKLOAD_ENTRIES布林值true如果啟用,具有選取器的 Kubernetes 服務將選取具有相符標籤的工作負載項目。如果您非常確定不需要此功能,則可以安全地停用它
PILOT_ENABLE_METADATA_EXCHANGE布林值true如果為 true,pilot 將新增中繼資料交換篩選器,此篩選器將由遙測篩選器取用。
PILOT_ENABLE_MONGO_FILTER布林值trueEnableMongoFilter 會啟用在篩選器鏈中注入 `envoy.filters.network.mongo_proxy`。
PILOT_ENABLE_MYSQL_FILTER布林值falseEnableMysqlFilter 會啟用在篩選器鏈中注入 `envoy.filters.network.mysql_proxy`。
PILOT_ENABLE_NODE_UNTAINT_CONTROLLERS布林值false如果啟用,將執行使用 cni Pod 就緒時解除節點污點的控制器。如果您停用了環境初始容器,則應啟用此設定。
PILOT_ENABLE_PERSISTENT_SESSION_FILTER布林值false如果啟用,Istiod 會為監聽器設定永久性工作階段篩選器,如果服務已設定 'PILOT_PERSISTENT_SESSION_LABEL'。
PILOT_ENABLE_QUIC_LISTENERS布林值false如果為 true,則只要閘道上有終止 TLS 的監聽器,且閘道服務公開具有相同數字的 UDP 埠(例如 443/TCP 和 443/UDP),就會產生 QUIC 監聽器
PILOT_ENABLE_RDS_CACHE布林值true如果為 true,Pilot 將快取 RDS 回應。注意:這取決於 PILOT_ENABLE_XDS_CACHE。
PILOT_ENABLE_REDIS_FILTER布林值falseEnableRedisFilter 會啟用在篩選器鏈中注入 `envoy.filters.network.redis_proxy`。
PILOT_ENABLE_ROUTE_COLLAPSE_OPTIMIZATION布林值true如果為 true,Pilot 會將具有相同路由的虛擬主機合併為單一虛擬主機,作為最佳化。
PILOT_ENABLE_SENDING_HBONE布林值false如果啟用,則在傳送到目的地時將允許使用 HBONE。
PILOT_ENABLE_SERVICEENTRY_SELECT_PODS布林值true如果啟用,具有選取器的服務項目將從叢集選取 Pod。如果您非常確定不需要此功能,則可以安全地停用它
PILOT_ENABLE_SIDECAR_LISTENING_HBONE布林值false如果啟用,則可以為 Proxy 設定 HBONE 支援。
PILOT_ENABLE_TELEMETRY_LABEL布林值true如果為 true,pilot 將把遙測相關中繼資料新增至叢集和端點資源,此資源將由遙測篩選器取用。
PILOT_ENABLE_WORKLOAD_ENTRY_AUTOREGISTRATION布林值true啟用在工作負載透過 XDS 連線時,根據相關聯的 WorkloadGroup 自動註冊 WorkloadEntry。
PILOT_ENABLE_WORKLOAD_ENTRY_HEALTHCHECKS布林值true根據相關聯 WorkloadGroup 中提供的組態,啟用 WorkloadEntry 的自動健全狀況檢查
PILOT_ENABLE_XDS_CACHE布林值true如果為 true,Pilot 將快取 XDS 回應。
PILOT_ENABLE_XDS_IDENTITY_CHECK布林值true如果啟用,pilot 將授權 XDS 用戶端,以確保它們僅以具有權限的命名空間身分運作。
PILOT_ENDPOINT_TELEMETRY_LABEL布林值true如果為 true,pilot 將把遙測相關中繼資料新增至端點資源,此資源將由遙測篩選器取用。
PILOT_ENVOY_FILTER_STATS布林值false如果為 true,Pilot 將收集 Envoy 篩選器作業的指標。
PILOT_FILTER_GATEWAY_CLUSTER_CONFIG布林值false如果啟用,Pilot 將僅傳送附加至閘道的閘道虛擬服務中參照的叢集
PILOT_GATEWAY_API_CONTROLLER_NAME字串istio.io/gateway-controllerGateway API 控制器名稱。istiod 將僅調和參照具有此控制器名稱的 GatewayClass 的 Gateway API 資源
PILOT_GATEWAY_API_DEFAULT_GATEWAYCLASS_NAME字串istio預設 GatewayClass 的名稱
PILOT_HTTP10布林值false在輸出 HTTP 監聽器中啟用 HTTP 1.0 的使用,以支援舊版應用程式。
PILOT_INSECURE_MULTICLUSTER_KUBECONFIG_OPTIONS字串以逗號分隔的清單,其中包含多叢集驗證允許的可能不安全的 kubeconfig 驗證選項。支援值:所有驗證提供者 (`gcp`、`azure`、`exec`、`openstack`)、`clientKey`、`clientCertificate`、`tokenFile` 和 `exec`。
PILOT_JWT_ENABLE_REMOTE_JWKS字串false從 RequestAuthentication 中的 JwksUri 擷取 JWK 的模式。支援的值:istiod、false、hybrid、true、envoy。擷取 JWK 的用戶端如下所示:istiod/false - Istiod;hybrid/true - Envoy,如果 JWK 伺服器是外部的,則回退至 Istiod;envoy - Envoy。
PILOT_JWT_PUB_KEY_REFRESH_INTERVAL時間長度20 分 0 秒istiod 擷取 jwks_uri 作為 jwks 公開金鑰的間隔。
PILOT_MAX_REQUESTS_PER_SECOND浮點數0限制每秒傳入的 XDS 要求數量。在較大的機器上,可以增加此值以同時處理更多 Proxy。如果設定為 0 或未設定,則最大值將根據機器大小自動判斷
PILOT_MULTI_NETWORK_DISCOVER_GATEWAY_API布林值true如果為 true,Pilot 將探索標記的 Kubernetes 閘道物件作為多網路閘道。
PILOT_PERSISTENT_SESSION_HEADER_LABEL字串istio.io/persistent-session-header如果非空,具有此標籤的服務將使用基於標頭的永久性工作階段
PILOT_PERSISTENT_SESSION_LABEL字串istio.io/persistent-session如果非空,具有此標籤的服務將使用基於 Cookie 的永久性工作階段
PILOT_PREFER_SENDING_HBONE布林值false如果啟用,則在傳送到目的地時將優先使用 HBONE。
PILOT_PUSH_THROTTLE整數0限制允許的並行推送數量。在較大的機器上,可以增加此值以加快推送速度。如果設定為 0 或未設定,則最大值將根據機器大小自動判斷
PILOT_REMOTE_CLUSTER_TIMEOUT時間長度30 秒在此逾時過期後,pilot 可以在未同步從透過遠端秘密新增的叢集中的資料的情況下準備就緒。將逾時設定為 0 可停用此行為。
PILOT_SCOPE_GATEWAY_TO_NAMESPACE布林值false如果啟用,閘道工作負載只能選取相同命名空間中的閘道資源。不同命名空間中具有相同選取器的閘道將不適用。
PILOT_SEND_UNHEALTHY_ENDPOINTS布林值false如果啟用,Pilot 將在 EDS 推送中包含不健全的端點,即使它們已傳送,Envoy 也不會將它們用於負載平衡。為了避免將流量傳送到未準備好的端點,啟用此旗標會停用 Envoy 中的恐慌臨界值,即,即使健全主機的百分比低於最低健全百分比(恐慌臨界值),Envoy 也不會將要求負載平衡至不健全/未準備好的主機。
PILOT_SIDECAR_USE_REMOTE_ADDRESS布林值falseUseRemoteAddress 會將 useRemoteAddress 設定為 true,以用於 Sidecar 輸出監聽器。
PILOT_SKIP_VALIDATE_TRUST_DOMAIN布林值false當身份驗證策略中啟用 mTLS 時,略過驗證對等節點是否來自相同信任網域
PILOT_STATUS_BURST整數500如果啟用狀態更新,此選項會控制狀態更新的 Burst 速率。請參閱 https://godoc.org/k8s.io/client-go/rest#Config Burst
PILOT_STATUS_MAX_WORKERS整數100Pilot 用於保持組態狀態為最新的最大工作執行緒數量。較小的數值會導致較高的狀態延遲,但較大的數值可能會在高規模環境中影響 CPU。
PILOT_STATUS_QPS整數100如果啟用狀態更新,此選項會控制狀態更新的 QPS。請參閱 https://godoc.org/k8s.io/client-go/rest#Config QPS
PILOT_STATUS_UPDATE_INTERVAL時間長度500 毫秒更新 XDS 分佈狀態的間隔。
PILOT_TRACE_SAMPLING浮點數1設定網格範圍追蹤取樣百分比。應介於 0.0 到 100.0 之間。精確度為 0.01。預設值為 1.0。
PILOT_UNIFIED_SIDECAR_SCOPE布林值true如果為 true,將會使用統一的 SidecarScope 建立。這僅作為臨時功能標誌,用於向後相容性。
PILOT_WORKLOAD_ENTRY_GRACE_PERIOD時間長度10 秒自動註冊的工作負載與所有 Pilot 執行個體斷線後,相關聯的 WorkloadEntry 被清除之前可保持斷線的時間長度。
PILOT_XDS_CACHE_INDEX_CLEAR_INTERVAL時間長度5 秒xds 快取索引清除的間隔。
PILOT_XDS_CACHE_SIZE整數60000XDS 快取的最大快取項目數量。
PILOT_XDS_CACHE_STATS布林值false如果為 true,Pilot 將會收集 XDS 快取效率的指標。
PLATFORM字串Istio 部署的平台。可能的值為 "openshift" 和 "gcp"
PREFER_DESTINATIONRULE_TLS_FOR_EXTERNAL_SERVICES布林值true如果為 true,外部服務會優先使用 DestinationRules 中的 TLS 設定,而非中繼資料 TLS 設定。
RESOLVE_HOSTNAME_GATEWAYS布林值true如果為 true,Service 的 LoadBalancer 位址中的主機名稱將會在控制平面解析,以用於跨網路閘道。
REWRITE_PROBE_LEGACY_LOCALHOST_DESTINATION布林值false如果啟用,準備探針將會傳送到 'localhost'。否則,它們將會傳送到 Pod 的 IP,以符合 Kubernetes 的行為。
SHARED_MESH_CONFIG字串要載入以供共用 MeshConfig 設定的其他組態映射。標準網格組態將會優先使用。
TERM字串指定終端機類型。使用 'dumb' 來抑制彩色輸出
TOKEN_AUDIENCES字串istio-ca在發出憑證之前,要在 JWT 權杖中檢查的逗號分隔受眾清單。如果權杖符合其中一個受眾,則接受該權杖
TRUSTED_GATEWAY_CIDR字串如果設定,來自具有此 CIDR 範圍的閘道與 Istiod 的任何連線都會被視為受信任,以使用 XFCC 等驗證機制。這只能在 Istiod 和驗證閘道所執行的網路在受信任/安全的網路中時使用
UNSAFE_ENABLE_ADMIN_ENDPOINTS布林值false如果設定為 true,危險的管理端點將會在偵錯介面上公開。不建議用於生產環境。
UNSAFE_PILOT_ENABLE_DELTA_TEST布林值false如果啟用,將會新增 Delta XDS 效率的其他執行階段測試。這些檢查非常耗費資源,因此應該僅用於測試,而非生產環境。
UNSAFE_PILOT_ENABLE_RUNTIME_ASSERTIONS布林值false如果啟用,將會執行額外的執行階段判斷。這些檢查既耗費資源,又會在失敗時造成恐慌。因此,應僅用於測試。
USE_CACERTS_FOR_SELF_SIGNED_CA布林值false如果啟用,istiod 將會使用名為 cacerts 的密碼來儲存其自行簽署的 istio 產生根憑證。
VALIDATION_WEBHOOK_CONFIG_NAME字串istio-istio-system如果不是空的,當 CA 憑證變更時,控制器將會自動修補 validatingwebhookconfiguration。僅在 Kubernetes 環境中有效。
XDS_AUTH布林值true如果為 true,將會驗證 XDS 用戶端。
XDS_AUTH_PLAINTEXT布林值false驗證純文字請求 - 如果 Istiod 在安全/受信任的網路上執行時使用

匯出的指標

指標名稱類型描述
auto_registration_deletes_total總和定期計時器清除的自動註冊總數。
auto_registration_errors_total總和自動註冊錯誤總數。
auto_registration_success_total總和成功自動註冊總數。
auto_registration_unregister_total總和取消註冊總數。
auto_registration_updates_total總和自動註冊更新總數。
controller_sync_errors_total總和同步控制器的 errorMetric 總數。
endpoint_no_podLastValue沒有相關聯 Pod 的端點。
istio_buildLastValueIstio 元件組建資訊
istiod_managed_clustersLastValueistiod 管理的叢集數量
num_outgoing_retries總和外寄重試要求數 (例如,到權杖交換伺服器、CA 等)
pilot_conflict_inbound_listenerLastValue衝突的輸入接聽器數量。
pilot_conflict_outbound_listener_tcp_over_current_tcpLastValue與目前 TCP 接聽器衝突的 TCP 接聽器數量。
pilot_debounce_time分配第一個組態進入反彈到合併的推送要求被推入推送佇列的延遲時間 (以秒為單位)。
pilot_destrule_subsetsLastValue跨相同主機的目的地規則的重複子集
pilot_dns_cluster_without_endpointsLastValue由於 STRICT_DNS 類型叢集中的端點欄位未設定或對應的子集無法選取任何端點而導致的沒有端點的 DNS 叢集
pilot_duplicate_envoy_clustersLastValue因具有相同主機名稱的服務項目而導致的重複 Envoy 叢集
pilot_eds_no_instancesLastValue沒有執行個體的叢集數量。
pilot_endpoint_not_readyLastValue在未就緒狀態中找到的端點。
pilot_envoy_filter_statusLastValueEnvoy 篩選器的狀態,無論是已套用還是出錯。
pilot_inbound_updates總和Pilot 收到的更新總數。
pilot_jwks_resolver_network_fetch_fail_total總和pilot jwks 解析器失敗的網路擷取總數
pilot_jwks_resolver_network_fetch_success_total總和pilot jwks 解析器成功進行網路擷取的總數
pilot_k8s_cfg_events總和來自 k8s 組態的事件。
pilot_k8s_endpoints_pending_podLastValue目前沒有任何對應 Pod 的端點數量。
pilot_k8s_endpoints_with_no_pods總和沒有任何對應 Pod 的端點。
pilot_k8s_reg_events總和來自 k8s 登錄的事件。
pilot_no_ipLastValue在端點表格中找不到的 Pod,可能無效。
pilot_proxy_convergence_time分配組態變更與 Proxy 接收所有必要組態之間的延遲時間 (以秒為單位)。
pilot_proxy_queue_time分配Proxy 在被從佇列中移除之前在推送佇列中的時間 (以秒為單位)。
pilot_push_triggers總和觸發推送的總次數,以推送原因標示。
pilot_pushcontext_init_seconds分配Pilot 初始化 pushContext 所需的總時間 (以秒為單位)。
pilot_sds_certificate_errors_total總和擷取 SDS 金鑰和憑證失敗的總數。
pilot_servicesLastValuePilot 已知的服務總數。
pilot_total_rejected_configs總和Pilot 必須拒絕或忽略的組態總數。
pilot_total_xds_internal_errors總和Pilot 中內部 XDS 錯誤的總數。
pilot_total_xds_rejects總和Proxy 拒絕的來自 Pilot 的 XDS 回應總數。
pilot_virt_servicesLastValuePilot 已知的虛擬服務總數。
pilot_vservice_dup_domainLastValue具有重複網域的虛擬服務。
pilot_worker_queue_depthLastValue控制器佇列的深度
pilot_worker_queue_duration分配處理項目的時間
pilot_worker_queue_latency分配項目處理前的延遲
pilot_xdsLastValue使用 XDS 連線至此 Pilot 的端點數量。
pilot_xds_cds_rejectLastValuePilot 拒絕的 CDS 組態。
pilot_xds_config_size_bytes分配推送至用戶端的組態大小的分配
pilot_xds_eds_rejectLastValuePilot 拒絕的 EDS。
pilot_xds_expired_nonce總和具有過期 Nonce 的 XDS 要求總數。
pilot_xds_lds_rejectLastValuePilot 拒絕的 LDS。
pilot_xds_push_context_errors總和初始化推送內容時的錯誤 (逾時) 數量。
pilot_xds_push_time分配Pilot 推送 lds、rds、cds 和 eds 所需的總時間 (以秒為單位)。
pilot_xds_pushes總和Pilot 組建並傳送 lds、rds、cds 和 eds 的錯誤。
pilot_xds_rds_rejectLastValuePilot 拒絕的 RDS。
pilot_xds_send_time分配Pilot 傳送產生組態所需的總時間 (以秒為單位)。
pilot_xds_write_timeout總和Pilot XDS 回應寫入逾時。
provider_lookup_cluster_failures總和叢集查閱失敗的次數
remote_cluster_sync_timeouts_total總和遠端叢集同步時間過長,導致啟動速度緩慢且排除遠端叢集的次數。
scrape_failures_total總和失敗的擷取總數。
scrapes_total總和擷取的總數。
sidecar_injection_failure_total總和失敗的 Sidecar 注入要求的總數。
sidecar_injection_requests_total總和Sidecar 注入要求的總數。
sidecar_injection_skip_total總和跳過的 Sidecar 注入要求的總數。
sidecar_injection_success_total總和成功的 Sidecar 注入要求的總數。
sidecar_injection_time_seconds分配注入所需的總時間 (以秒為單位)。
startup_duration_secondsLastValue從處理序啟動到標示為就緒的時間。
wasm_cache_entriesLastValueWasm 遠端擷取快取項目的數量。
wasm_cache_lookup_count總和Wasm 遠端擷取快取查閱的數量。
wasm_config_conversion_count總和Wasm 組態轉換計數和結果的數量,包括成功、無遠端載入、封送處理失敗、遠端擷取失敗、遺失遠端擷取提示。
wasm_config_conversion_duration分配istio-agent 花費在轉換 Wasm 組態中的遠端載入的總時間 (以毫秒為單位)。
wasm_remote_fetch_count總和Wasm 遠端擷取和結果的數量,包括成功、下載失敗和總和檢查碼不符。
webhook_patch_attempts_total總和Webhook 修補嘗試
webhook_patch_failures_total總和Webhook 修補總失敗次數
webhook_patch_retries_total總和Webhook 修補重試
xds_cache_dependent_config_sizeLastValue相依組態的目前大小
xds_cache_evictions總和xds 快取逐出總數。
xds_cache_reads總和xds 快取 xdsCacheReads 的總數。
xds_cache_sizeLastValuexds 快取的目前大小
這項資訊是否有用?
您是否有任何改進建議?

感謝您的意見反應!