无效的外部控制平面配置
当为外部控制平面上的入口网关提供的地址无效时,会出现此消息。地址可能由于多种原因而无效,包括:主机名地址格式错误,主机名无法通过 DNS 查找解析为 IP 地址,或者主机名解析为零个 IP 地址。
示例
您将收到此消息
Warning [IST0163] (MutatingWebhookConfiguration istio-sidecar-injector-external-istiod testing.yml:28) The hostname () that was provided for the webhook (rev.namespace.sidecar-injector.istio.io) to reach the ingress gateway on the external control plane cluster is blank. Traffic may not flow properly.
Warning [IST0163] (ValidatingWebhookConfiguration istio-validator-external-istiod testing.yml:1) The hostname () that was provided for the webhook (rev.validation.istio.io) to reach the ingress gateway on the external control plane cluster is blank. Traffic may not flow properly.
当您的集群具有以下 `ValidatingWebhookConfiguration` 和 `MutatingWebhookConfiguration`(为清晰起见已缩短)且缺少 webhook URL 时
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
name: istio-validator-external-istiod
webhooks:
- admissionReviewVersions:
- v1beta1
- v1
clientConfig:
url:
name: rev.validation.istio.io
---
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
name: istiod-default-validator
webhooks:
- admissionReviewVersions:
- v1beta1
- v1
clientConfig:
url: https://test.com:15017/validate
failurePolicy: Ignore
name: validation.istio.io
---
apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration
metadata:
name: istio-sidecar-injector-external-istiod
webhooks:
- admissionReviewVersions:
- v1beta1
- v1
clientConfig:
url:
failurePolicy: Fail
name: rev.namespace.sidecar-injector.istio.io
- admissionReviewVersions:
- v1beta1
- v1
clientConfig:
url: https://test.com/inject/cluster/your-cluster-name/net/network1
failurePolicy: Fail
name: rev.object.sidecar-injector.istio.io
- admissionReviewVersions:
- v1beta1
- v1
clientConfig:
url: https://test.com/inject/cluster/your-cluster-name/net/network1
failurePolicy: Fail
name: namespace.sidecar-injector.istio.io
- admissionReviewVersions:
- v1beta1
- v1
clientConfig:
url: https://test.com/inject/cluster/your-cluster-name/net/network1
failurePolicy: Fail
name: object.sidecar-injector.istio.io
您将收到此消息
Warning [IST0163] (ValidatingWebhookConfiguration istio-validator-external-istiod testing.yml:1) The hostname (https://thisisnotarealdomainname.com:15017/validate) that was provided for the webhook (rev.validation.istio.io) to reach the ingress gateway on the external control plane cluster cannot be resolved via a DNS lookup. Traffic may not flow properly.
当您的集群具有以下 `ValidatingWebhookConfiguration` 和 `MutatingWebhookConfiguration`(为清晰起见已缩短)且在 DNS 查找期间无法解析主机名时
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
name: istio-validator-external-istiod
webhooks:
- admissionReviewVersions:
- v1beta1
- v1
clientConfig:
url: https://thisisnotarealdomainname.com:15017/validate
name: rev.validation.istio.io
---
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
name: istiod-default-validator
webhooks:
- admissionReviewVersions:
- v1beta1
- v1
clientConfig:
url: https://test.com:15017/validate
failurePolicy: Ignore
name: validation.istio.io
---
apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration
metadata:
name: istio-sidecar-injector-external-istiod
webhooks:
- admissionReviewVersions:
- v1beta1
- v1
clientConfig:
url: https://test.com/inject/cluster/your-cluster-name/net/network1
failurePolicy: Fail
name: rev.namespace.sidecar-injector.istio.io
- admissionReviewVersions:
- v1beta1
- v1
clientConfig:
url: https://test.com/inject/cluster/your-cluster-name/net/network1
failurePolicy: Fail
name: rev.object.sidecar-injector.istio.io
- admissionReviewVersions:
- v1beta1
- v1
clientConfig:
url: https://test.com/inject/cluster/your-cluster-name/net/network1
failurePolicy: Fail
name: namespace.sidecar-injector.istio.io
- admissionReviewVersions:
- v1beta1
- v1
clientConfig:
url: https://test.com/inject/cluster/your-cluster-name/net/network1
failurePolicy: Fail
name: object.sidecar-injector.istio.io
如何解决
有多种方法可以解决这些无效的配置,具体取决于配置无效的原因。
如果您的 Webhook 配置没有定义任何 URL,添加使用主机名的有效 URL 将解决此警告消息。有关如何执行此操作的说明,请参见此处。
如果您的主机名无法通过 DNS 查询解析为 IP 地址,您可以尝试在本地机器上运行 dig <your-hostname>
以查看是否发生了 DNS 解析。如果您的本地机器可以通过 DNS 查询解析主机名,则您的集群可能无法解析。任何阻止 DNS 流量的安全规则都可能导致解析失败。根据您的 DNS 提供商和特定配置,新的 DNS 记录可能需要长达 72 小时才能在网络中传播。
如果您的主机名解析为零个 IP 地址,请检查 Webhook URL 是否使用了正确的主机名,以及您的 DNS 提供商是否正确地为您的主机名解析至少一个 IP 地址。