istioctl
Istio 組態命令列工具,供服務營運商偵錯和診斷其 Istio 網格。
旗標 | 簡寫 | 描述 |
---|---|---|
--as <字串> | 要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``) | |
--as-group <字串陣列> | 要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`) | |
--as-uid <字串> | 要模擬操作的 UID。(預設 ``) | |
--context <字串> | Kubernetes 組態內容(預設 ``) | |
--istioNamespace <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--vklog <層級> | 日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`) |
istioctl admin
用於管理 istiod 組態的一組命令
istioctl admin [flags]
istioctl istiod [flags]
旗標 | 簡寫 | 描述 |
---|---|---|
--as <字串> | 要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``) | |
--as-group <字串陣列> | 要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`) | |
--as-uid <字串> | 要模擬操作的 UID。(預設 ``) | |
--context <字串> | Kubernetes 組態內容(預設 ``) | |
--istioNamespace <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--level <字串> | 以 <scope>:<level>[,<scope>:<level>,...] 格式表示的範圍輸出日誌層級逗號分隔清單。<level> 的可能值:none、error、warn、info、debug(預設 ``) | |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--list-analyzers | -L | 列出可供執行的分析器。抑制正常執行。 |
--meshConfigFile <字串> | 覆寫用於分析的網格組態值。(預設 ``) | |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -f | YAML 格式組態的檔案路徑。檔案內容會以 JSON 合併語意套用於預設值和旗標設定,而清單會被取代。(預設 ``) |
--full-secrets | 如果設定,則輸出中會包含密鑰內容。 | |
--ignore-errs <字串切片> | 以逗號分隔的 glob 模式清單,以比對日誌錯誤字串。當計算日誌重要性啟發式時,會忽略任何符合這些模式的錯誤。(預設 `[]`) | |
--include <字串切片> | 要包含在封存檔中哪些 Pod 的 Proxy 日誌的規格。請參閱以上內容以取得格式和範例。(預設 `[]`) | |
--istio-namespace <字串> | 安裝 Istio 控制平面的命名空間。(預設 `istio-system`) | |
--istioNamespace <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | kube 組態的路徑。(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -f | YAML 格式組態的檔案路徑。檔案內容會以 JSON 合併語意套用於預設值和旗標設定,而清單會被取代。(預設 ``) |
--full-secrets | 如果設定,則輸出中會包含密鑰內容。 | |
--ignore-errs <字串切片> | 以逗號分隔的 glob 模式清單,以比對日誌錯誤字串。當計算日誌重要性啟發式時,會忽略任何符合這些模式的錯誤。(預設 `[]`) | |
--include <字串切片> | 要包含在封存檔中哪些 Pod 的 Proxy 日誌的規格。請參閱以上內容以取得格式和範例。(預設 `[]`) | |
--istio-namespace <字串> | 安裝 Istio 控制平面的命名空間。(預設 `istio-system`) | |
--istioNamespace <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | kube 組態的路徑。(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--manifests <字串> | -d | 指定圖表和設定檔目錄的路徑(例如 ~/Downloads/istio-1.24.0/manifests)。(預設 ``) |
--name <字串> | 密鑰中儲存其憑證的本機叢集名稱。如果未指定名稱,則會使用本機叢集的 kube-system 命名空間 UUID。(預設 ``) | |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--vklog <層級> | 日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`) |
istioctl experimental authz
此命令正在積極開發中,尚未準備好用於生產環境。
旗標 | 簡寫 | 描述 |
---|---|---|
--as <字串> | 要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``) | |
--as-group <字串陣列> | 要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`) | |
--as-uid <字串> | 要模擬操作的 UID。(預設 ``) | |
--context <字串> | Kubernetes 組態內容(預設 ``) | |
--istioNamespace <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--labels <string> | -l | 檢查命名空間和標籤配對的注入狀態,以逗號分隔多個標籤 (預設值:``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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> | -f | Envoy 設定傾印 JSON 檔案 (預設值:``) |
--insecure | 跳過伺服器憑證和網域驗證。(不安全!) | |
--istioNamespace <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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> | -f | WorkloadGroup 成品的檔案名稱。如果使用 API 伺服器,請將此欄位留空 (預設值:``) |
--ingressIP <string> | 輸入閘道的 IP 位址 (預設值:``) | |
--ingressService <string> | 要用作輸入閘道的服務名稱,格式為 <service>.<namespace>。如果未提供命名空間,將會使用預設的 istio-system 命名空間。(預設值:`istio-eastwestgateway`) | |
--internalIP <string> | 工作負載的內部 IP 位址 (預設值:``) | |
--istioNamespace <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--manifests <字串> | -d | 指定圖表和設定檔目錄的路徑(例如 ~/Downloads/istio-1.24.0/manifests)。(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 | -y | skipConfirmation 決定是否提示使用者確認。如果設定為 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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--meshConfigFile <字串> | 網格設定檔名。如果已設定,則優先於 --meshConfigMapName(預設為 ``) | |
--meshConfigMapName <string> | Istio 網格設定的 ConfigMap 名稱,金鑰應為 "mesh"(預設為 `istio`) | |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--manifests <字串> | -d | 指定圖表和設定檔目錄的路徑(例如 ~/Downloads/istio-1.24.0/manifests)。(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--manifests <字串> | -d | 指定圖表和設定檔目錄的路徑(例如 ~/Downloads/istio-1.24.0/manifests)。(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 | -y | skipConfirmation 決定是否提示使用者確認。如果設定為 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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--manifests <字串> | -d | 指定圖表和設定檔目錄的路徑(例如 ~/Downloads/istio-1.24.0/manifests)。(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--vklog <層級> | 日誌層級詳細程度的數字。類似於 -v 旗標。例如:--vklog=9(預設 `0`) |
istioctl proxy-config
一組用於從 Envoy 設定傾印檔擷取 Proxy 設定資訊的命令
旗標 | 簡寫 | 描述 |
---|---|---|
--as <字串> | 要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶(預設 ``) | |
--as-group <字串陣列> | 要模擬操作的群組,此旗標可以重複指定多個群組。(預設 `[]`) | |
--as-uid <字串> | 要模擬操作的 UID。(預設 ``) | |
--context <字串> | Kubernetes 組態內容(預設 ``) | |
--istioNamespace <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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> | -f | Envoy 設定傾印檔(預設為 ``) |
--fqdn <string> | 依服務 FQDN 欄位的子字串篩選叢集(預設為 ``) | |
--istioNamespace <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--name <字串> | 依路由名稱欄位篩選路由(預設為 ``) | |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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> | -f | Envoy 設定傾印 JSON 檔案 (預設值:``) |
--istioNamespace <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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> | -f | Envoy 設定傾印 JSON 檔案 (預設值:``) |
--fqdn <string> | 依服務 FQDN 欄位的子字串篩選叢集(預設為 ``) | |
--istioNamespace <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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> | -f | Envoy 設定傾印 JSON 檔案 (預設值:``) |
--istioNamespace <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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> | -f | Envoy 設定傾印 JSON 檔案 (預設值:``) |
--istioNamespace <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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> | -f | Envoy 設定傾印 JSON 檔案 (預設值:``) |
--istioNamespace <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--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 <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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> | -f | Envoy 設定傾印 JSON 檔案 (預設值:``) |
--istioNamespace <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--name <字串> | 依路由名稱欄位篩選接聽程式(預設為 ``) | |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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> | -f | Envoy 設定傾印 JSON 檔案 (預設值:``) |
--istioNamespace <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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> | -f | Envoy 設定傾印 JSON 檔案 (預設值:``) |
--insecure | 跳過伺服器憑證和網域驗證。(不安全!) | |
--istioNamespace <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--manifests <字串> | -d | 指定圖表和設定檔目錄的路徑(例如 ~/Downloads/istio-1.24.0/manifests)。(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--overwrite | 如果為 true,允許覆寫修訂標籤,否則拒絕覆寫現有修訂標籤的修訂標籤更新。 | |
--revision <字串> | -r | 要從給定修訂標籤參考的控制平面修訂(預設為 ``) |
--skip-confirmation | -y | skipConfirmation 決定是否提示使用者確認。如果設定為 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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--skip-confirmation | -y | skipConfirmation 決定是否提示使用者確認。如果設定為 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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--manifests <字串> | -d | 指定圖表和設定檔目錄的路徑(例如 ~/Downloads/istio-1.24.0/manifests)。(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--overwrite | 如果為 true,允許覆寫修訂標籤,否則拒絕覆寫現有修訂標籤的修訂標籤更新。 | |
--revision <字串> | -r | 要從給定修訂標籤參考的控制平面修訂(預設為 ``) |
--skip-confirmation | -y | skipConfirmation 決定是否提示使用者確認。如果設定為 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 <字串> | -f | IstioOperator CR 的檔名。(預設為 ``) |
--force | 即使發生驗證錯誤也繼續進行。 | |
--istioNamespace <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--manifests <字串> | -d | 指定圖表和設定檔目錄的路徑(例如 ~/Downloads/istio-1.24.0/manifests)。(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 | -y | skipConfirmation 決定是否提示使用者確認。如果設定為 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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--manifests <字串> | -d | 指定圖表和設定檔目錄的路徑(例如 ~/Downloads/istio-1.24.0/manifests)。(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 | -y | skipConfirmation 決定是否提示使用者確認。如果設定為 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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--name <字串> | Waypoint 的名稱(預設為 `waypoint`) | |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--name <字串> | Waypoint 的名稱(預設為 `waypoint`) | |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--name <字串> | Waypoint 的名稱(預設為 `waypoint`) | |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--name <字串> | Waypoint 的名稱(預設為 `waypoint`) | |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--name <字串> | Waypoint 的名稱(預設為 `waypoint`) | |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--name <字串> | Waypoint 的名稱(預設為 `waypoint`) | |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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 <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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> | -f | Ztunnel 設定傾印 JSON 檔案(預設為 ``) |
--istioNamespace <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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> | -f | Ztunnel 設定傾印 JSON 檔案(預設為 ``) |
--istioNamespace <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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> | -f | Ztunnel 設定傾印 JSON 檔案(預設為 ``) |
--istioNamespace <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--level <字串> | 要輸出的訊息的每個記錄器最低層級,以逗號分隔,格式為 [<記錄器>:]<層級>,[<記錄器>:]<層級>,... 或 <層級> 以變更所有活動記錄器,其中記錄器元件可以透過執行 "istioctl ztunnel-config log <pod-name[.namespace]>" 列出,且層級可以是 [trace, debug, info, warning, error, critical, off] 其中之一(預設為 ``) | |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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> | -f | Ztunnel 設定傾印 JSON 檔案(預設為 ``) |
--istioNamespace <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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> | -f | Ztunnel 設定傾印 JSON 檔案(預設為 ``) |
--istioNamespace <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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> | -f | Ztunnel 設定傾印 JSON 檔案(預設為 ``) |
--istioNamespace <字串> | -i | Istio 系統命名空間(預設 `istio-system`) |
--kubeconfig <字串> | -c | Kubernetes 組態檔(預設 ``) |
--namespace <字串> | -n | Kubernetes 命名空間(預設 ``) |
--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.yaml | istioctl 旗標的預設值 |
ISTIOCTL_AUTHORITY | 字串 |
| istioctl --authority 覆寫 |
ISTIOCTL_CERT_DIR | 字串 |
| istioctl --cert-dir 覆寫 |
ISTIOCTL_INSECURE | 布林值 | false | istioctl --insecure 覆寫 |
ISTIOCTL_ISTIONAMESPACE | 字串 | istio-system | istioctl --istioNamespace 覆寫 |
ISTIOCTL_PLAINTEXT | 布林值 | false | istioctl --plaintext 覆寫 |
ISTIOCTL_PREFER_EXPERIMENTAL | 布林值 | false | istioctl 應使用實驗性子命令變體 |
ISTIOCTL_XDS_ADDRESS | 字串 |
| istioctl --xds-address 覆寫 |
ISTIOCTL_XDS_PORT | 整數 | 15012 | istioctl --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 | 字串 | istiod | Pilot 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 | 布林值 | true | EnableMongoFilter 會啟用在篩選器鏈中注入 `envoy.filters.network.mongo_proxy`。 |
PILOT_ENABLE_MYSQL_FILTER | 布林值 | false | EnableMysqlFilter 會啟用在篩選器鏈中注入 `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 | 布林值 | false | EnableRedisFilter 會啟用在篩選器鏈中注入 `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-controller | Gateway 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 | 布林值 | false | UseRemoteAddress 會將 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 | 整數 | 100 | Pilot 用於保持組態狀態為最新的最大工作執行緒數量。較小的數值會導致較高的狀態延遲,但較大的數值可能會在高規模環境中影響 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 | 整數 | 60000 | XDS 快取的最大快取項目數量。 |
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_pod | LastValue | 沒有相關聯 Pod 的端點。 |
istio_build | LastValue | Istio 元件組建資訊 |
istiod_managed_clusters | LastValue | istiod 管理的叢集數量 |
num_outgoing_retries | 總和 | 外寄重試要求數 (例如,到權杖交換伺服器、CA 等) |
pilot_conflict_inbound_listener | LastValue | 衝突的輸入接聽器數量。 |
pilot_conflict_outbound_listener_tcp_over_current_tcp | LastValue | 與目前 TCP 接聽器衝突的 TCP 接聽器數量。 |
pilot_debounce_time | 分配 | 第一個組態進入反彈到合併的推送要求被推入推送佇列的延遲時間 (以秒為單位)。 |
pilot_destrule_subsets | LastValue | 跨相同主機的目的地規則的重複子集 |
pilot_dns_cluster_without_endpoints | LastValue | 由於 STRICT_DNS 類型叢集中的端點欄位未設定或對應的子集無法選取任何端點而導致的沒有端點的 DNS 叢集 |
pilot_duplicate_envoy_clusters | LastValue | 因具有相同主機名稱的服務項目而導致的重複 Envoy 叢集 |
pilot_eds_no_instances | LastValue | 沒有執行個體的叢集數量。 |
pilot_endpoint_not_ready | LastValue | 在未就緒狀態中找到的端點。 |
pilot_envoy_filter_status | LastValue | Envoy 篩選器的狀態,無論是已套用還是出錯。 |
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_pod | LastValue | 目前沒有任何對應 Pod 的端點數量。 |
pilot_k8s_endpoints_with_no_pods | 總和 | 沒有任何對應 Pod 的端點。 |
pilot_k8s_reg_events | 總和 | 來自 k8s 登錄的事件。 |
pilot_no_ip | LastValue | 在端點表格中找不到的 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_services | LastValue | Pilot 已知的服務總數。 |
pilot_total_rejected_configs | 總和 | Pilot 必須拒絕或忽略的組態總數。 |
pilot_total_xds_internal_errors | 總和 | Pilot 中內部 XDS 錯誤的總數。 |
pilot_total_xds_rejects | 總和 | Proxy 拒絕的來自 Pilot 的 XDS 回應總數。 |
pilot_virt_services | LastValue | Pilot 已知的虛擬服務總數。 |
pilot_vservice_dup_domain | LastValue | 具有重複網域的虛擬服務。 |
pilot_worker_queue_depth | LastValue | 控制器佇列的深度 |
pilot_worker_queue_duration | 分配 | 處理項目的時間 |
pilot_worker_queue_latency | 分配 | 項目處理前的延遲 |
pilot_xds | LastValue | 使用 XDS 連線至此 Pilot 的端點數量。 |
pilot_xds_cds_reject | LastValue | Pilot 拒絕的 CDS 組態。 |
pilot_xds_config_size_bytes | 分配 | 推送至用戶端的組態大小的分配 |
pilot_xds_eds_reject | LastValue | Pilot 拒絕的 EDS。 |
pilot_xds_expired_nonce | 總和 | 具有過期 Nonce 的 XDS 要求總數。 |
pilot_xds_lds_reject | LastValue | Pilot 拒絕的 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_reject | LastValue | Pilot 拒絕的 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_seconds | LastValue | 從處理序啟動到標示為就緒的時間。 |
wasm_cache_entries | LastValue | Wasm 遠端擷取快取項目的數量。 |
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_size | LastValue | 相依組態的目前大小 |
xds_cache_evictions | 總和 | xds 快取逐出總數。 |
xds_cache_reads | 總和 | xds 快取 xdsCacheReads 的總數。 |
xds_cache_size | LastValue | xds 快取的目前大小 |