7.5. 设置 DNS 策略
步骤
为您的网关设置
DNSPolicy,如下所示:kubectl apply -f - <<EOF apiVersion: kuadrant.io/v1 kind: DNSPolicy metadata: name: ${KUADRANT_GATEWAY_NAME}-dnspolicy namespace: ${KUADRANT_GATEWAY_NS} spec: healthCheck: failureThreshold: 3 interval: 1m path: /health loadBalancing: defaultGeo: true geo: GEO-NA weight: 120 targetRef: name: ${KUADRANT_GATEWAY_NAME} group: gateway.networking.k8s.io kind: Gateway providerRefs: - name: aws-credentials # Secret created earlier EOF注意DNSPolicy将使用您之前定义的 DNS ProviderSecret。本例中的地理位置是GEO-NA,但您可以更改它以符合您的要求。检查您的
DNSPolicy的状态是否为Accepted和Enforced,如下所示:kubectl get dnspolicy ${KUADRANT_GATEWAY_NAME}-dnspolicy -n ${KUADRANT_GATEWAY_NS} -o=jsonpath='{.status.conditions[?(@.type=="Accepted")].message}{"\n"}{.status.conditions[?(@.type=="Enforced")].message}'这可能需要几分钟时间。
检查 DNSPolicy 上启用的 DNS 健康检查状态,如下所示:
kubectl get dnspolicy ${KUADRANT_GATEWAY_NAME}-dnspolicy -n ${KUADRANT_GATEWAY_NS} -这些健康检查会根据定义的配置将发布的端点标记为健康或不健康。不健康时,如果端点尚未发布到 DNS 供应商,则不会发布端点。只有在端点是多值 A 记录的一部分时,端点才会被取消发布,且在所有情况下都可以在 DNSPolicy 状态中观察到。