組態分析訊息

istioctl 提供 Istio 組態狀態的豐富分析,以便識別無效或次優的組態。以下是此分析產生的不同可能錯誤或警告訊息的清單。

IST0001:InternalError

工具鏈中發生內部錯誤。這幾乎總是實作中的錯誤。

IST0002:Deprecated

組態所依賴的功能現在已棄用。

IST0101:ReferencedResourceNotFound

參考的資源不存在。

IST0102:NamespaceNotInjected

命名空間未啟用 Istio 注入。

IST0103:PodMissingProxy

Pod 缺少 Istio 代理。

IST0106:SchemaValidationError

資源有結構描述驗證錯誤。

IST0107:MisplacedAnnotation

Istio 註解已套用至錯誤類型的資源。

IST0108:UnknownAnnotation

Istio 註解無法識別為任何類型的資源

IST0109:ConflictingMeshGatewayVirtualServiceHosts

與網格閘道相關聯的虛擬服務上的主機衝突

IST0110:ConflictingSidecarWorkloadSelectors

一個 Sidecar 資源選取了與另一個 Sidecar 資源相同的 workload。

IST0111:MultipleSidecarsWithoutWorkloadSelectors

在一個命名空間中,有多個 sidecar 資源沒有 workload 選取器。

IST0112:VirtualServiceDestinationPortSelectorRequired

一個 VirtualService 路由到一個公開多個 port 的服務,但沒有指定要使用哪個 port。

IST0116:DeploymentAssociatedToMultipleServices

服務網格部署產生的 pod 無法使用相同的 port 但不同的協定與多個服務關聯。

IST0118:PortNameIsNotUnderNamingConvention

Port 名稱不符合命名慣例。協定偵測已應用於該 port。

IST0123:NamespaceMultipleInjectionLabels

一個命名空間有多種類型的注入標籤。

IST0125:InvalidAnnotation

一個無效的 Istio 註解。

IST0126:UnknownMeshNetworksServiceRegistry

在網格網路中的服務註冊表未知。

IST0127:NoMatchingWorkloadsFound

沒有與資源標籤匹配的 workloads。

IST0128:NoServerCertificateVerificationDestinationLevel

在 DestinationRule 中未設定 caCertificates,這將導致不驗證呈現的伺服器憑證。

IST0129:NoServerCertificateVerificationPortLevel

在 DestinationRule 中未設定 caCertificates,這將導致不驗證發送到指定 port 的伺服器憑證。

IST0130:VirtualServiceUnreachableRule

由於先前的規則使用了相同的匹配條件,VirtualService 規則將永遠不會被使用。

IST0131:VirtualServiceIneffectiveMatch

VirtualService 規則匹配重複了先前規則中的匹配。

IST0132:VirtualServiceHostNotFoundInGateway

在 VirtualService 中定義的 Host 未在 Gateway 中找到。

IST0133:SchemaWarning

資源有一個 schema 驗證警告。

IST0134:ServiceEntryAddressesRequired

當在 proxy 上未設定 ISTIO_META_DNS_AUTO_ALLOCATE 時,服務 TCP(或未設定)協定的 port 需要虛擬 IP 位址。

IST0135:DeprecatedAnnotation

一個資源正在使用已棄用的 Istio 註解。

IST0136:AlphaAnnotation

一個 Istio 註解可能不適用於生產環境。

IST0137:DeploymentConflictingPorts

兩個選取相同 workload 且具有相同 targetPort 的服務必須參考相同的 port。

IST0138:GatewayDuplicateCertificate

多個 gateway 中的重複憑證可能會導致客戶端重複使用 HTTP2 連線時出現 404 錯誤。

IST0139:InvalidWebhook

Webhook 無效或引用了不存在的控制平面服務。

IST0140:IngressRouteRulesNotAffected

路由規則對 ingress gateway 的請求沒有影響。

IST0141:InsufficientPermissions

安裝 Istio 缺少必要的權限。

IST0142:UnsupportedKubernetesVersion

不支援此 Kubernetes 版本。

IST0143:LocalhostListener

在服務中公開的 port 繫結到 localhost 位址。

IST0144:InvalidApplicationUID

應用程式 pod 不應以使用者 ID (UID) 1337 執行。

IST0145:ConflictingGateways

Gateway 不應具有與伺服器相同的選取器、port 和匹配的主機。

IST0146:ImageAutoWithoutInjectionWarning

具有 `image: auto` 的部署應該被設定為用於注入。

IST0147:ImageAutoWithoutInjectionError

具有 `image: auto` 的 Pod 應該被設定為用於注入。

IST0148:NamespaceInjectionEnabledByDefault

如果 Istio 安裝時啟用了 enableNamespacesByDefault 且未設定注入標籤,則使用者命名空間應該可注入。

IST0149:JwtClaimBasedRoutingWithoutRequestAuthN

Virtual service 使用基於 JWT 宣告的路由,但沒有請求驗證。

IST0150:ExternalNameServiceTypeInvalidPortName

Proxy 可能會阻止用於 ExternalName 服務的 TCP 協定 port 正確轉發 tcp 命名 port 和不匹配的流量。

IST0151:EnvoyFilterUsesRelativeOperation

此 EnvoyFilter 沒有優先級,並且設定了相對補丁操作,這可能導致 EnvoyFilter 未被應用。使用 INSERT_FIRST 或 ADD 選項,或設定優先級可能有助於確保 EnvoyFilter 正確應用。

IST0152:EnvoyFilterUsesReplaceOperationIncorrectly

REPLACE 操作僅對 HTTP_FILTER 和 NETWORK_FILTER 有效。

IST0153:EnvoyFilterUsesAddOperationIncorrectly

當 applyTo 設定為 ROUTE_CONFIGURATION 或 HTTP_ROUTE 時,將忽略 ADD 操作。

IST0154:EnvoyFilterUsesRemoveOperationIncorrectly

當 applyTo 設定為 ROUTE_CONFIGURATION 或 HTTP_ROUTE 時,將忽略 REMOVE 操作。

IST0155:EnvoyFilterUsesRelativeOperationWithProxyVersion

此 EnvoyFilter 沒有優先級,並且設定了相對補丁操作(NSTERT_BEFORE/AFTER、REPLACE、MERGE、DELETE)和 proxyVersion,這可能導致 EnvoyFilter 在升級期間未被應用。使用 INSERT_FIRST 或 ADD 選項,或設定優先級可能有助於確保 EnvoyFilter 正確應用。

IST0156:UnsupportedGatewayAPIVersion

不支援 Gateway API CRD 版本。

IST0157:InvalidTelemetryProvider

將忽略具有空供應商的 Telemetry。

IST0158:PodsIstioProxyImageMismatchInNamespace

命名空間中執行的 pod 的 Istio proxy 映像與注入配置中定義的映像不匹配。

IST0159:ConflictingTelemetryWorkloadSelectors

一個 Telemetry 資源選取了與另一個 Telemetry 資源相同的 workloads。

IST0160:MultipleTelemetriesWithoutWorkloadSelectors

在一個命名空間中,有多個 telemetry 資源沒有 workload 選取器。

IST0161:InvalidGatewayCredential

為 Gateway 資源提供的憑證無效。

IST0162:GatewayPortNotDefinedOnService

服務未公開 Gateway port。

IST0163:InvalidExternalControlPlaneConfig

外部控制平面上的 ingress gateway 位址無效。

IST0164:ExternalControlPlaneAddressIsNotAHostname

外部控制平面上的 ingress gateway 位址是一個 IP 位址,而不是主機名稱。

IST0165:ReferencedInternalGateway

VirtualServices 不應參考內部 Gateways。

IST0166:IneffectiveSelector

當應用於 Kubernetes Gateways 時,選取器沒有作用。

IST0167:IneffectivePolicy

應用的原則沒有影響。

IST0168:UnknownUpgradeCompatibility

我們無法自動偵測變更是否完全相容。

IST0169:UpdateIncompatibility

由於升級,提供的配置物件可能不相容。

IST0170:MultiClusterInconsistentService

在多叢集部署模型下,位於不同叢集中的服務不一致。