使用 AWS re:Post 即表示您同意 AWS re:Post 使用條款

如何在我的 Amazon EKS 叢集中使用 CoreDNS 設定條件式轉送?

2 分的閱讀內容
0

我想要在我的 Amazon Elastic Kubernetes Service (Amazon EKS) 叢集中使用 CoreDNS 設定條件式轉送。

簡短描述

使用 CoreDNS,針對傳送至自訂 DNS 伺服器解析的網域的 DNS 查詢設定條件式轉寄站。如需詳細資訊,請參閱 Kubernetes 網站的自訂 DNS 服務

**重要:**在對 CoreDNS Amazon EKS 附加元件進行組態變更之前,您必須確定 Amazon EKS 管理的設定。您可以在 Amazon EKS 附加元件組態中找到此資訊。在您修改 Amazon EKS 管理的欄位時,Amazon EKS 無法管理附加元件。更新附加元件時,Amazon EKS 可能會覆寫您的變更。

解決方法

下列解決方法適用於 CoreDNS 自我管理和 Amazon EKS 附加元件組態。

設定自我管理的附加元件

執行下列命令以修改 CoreDNS ConfigMap,並新增自訂 DNS 條件式轉寄站組態:

$ kubectl -n kube-system edit configmap coredns

輸出類似於下列內容:

apiVersion: v1
kind: ConfigMap
metadata:
  annotations:
  labels:
    eks.amazonaws.com/component: coredns
    k8s-app: kube-dns
  name: coredns
  namespace: kube-system
data:
  Corefile: |
    .:53 {
        errors
        health
        kubernetes cluster.local in-addr.arpa ip6.arpa {
          pods insecure
          fallthrough in-addr.arpa ip6.arpa
        }
        prometheus :9153
        forward . /etc/resolv.conf
        cache 30
        loop
        reload
        loadbalance
    }
    domain-name:53 {
        errors
        cache 30
        forward . custom-dns-server
        reload
    }

**注意:**將 domain-name 取代為您的網域名稱,將 custom-dns-server 取代為您的自訂 DNS 伺服器 IP 位址。

設定 Amazon EKS 附加元件

若要對 Amazon EKS 受管 CoreDNS 附加元件進行變更,請完成下列步驟:

  1. 開啟 Amazon EKS 主控台

  2. 在導覽窗格中,選擇叢集

  3. 選擇您的叢集名稱。

  4. 選擇附加元件標籤。

  5. 選取 CoreDNS 附加元件,然後選擇編輯

  6. 在編輯頁面上,選擇選用組態設定區段。在組態值區段中,新增自訂 DNS 條件式轉寄站組態:

    corefile: |
        .:53 {
            errors
            health
            kubernetes cluster.local in-addr.arpa ip6.arpa {
              pods insecure
              fallthrough in-addr.arpa ip6.arpa
            }
            prometheus :9153
            forward . /etc/resolv.conf
            cache 30
            loop
            reload
            loadbalance
        }
        domain-name:53 {
            errors
            cache 30
            forward . custom-dns-server
            reload
        }

    **注意:**將 domain-name 取代為您的網域名稱,將 custom-dns-server 取代為您的自訂 DNS 伺服器 IP 位址。

驗證網域名稱解析

若要驗證網域名稱解析是否有效,請執行下列命令:

$ kubectl run busybox --restart=Never --image=busybox:1.28 -- sleep 3600
$ kubectl exec busybox -- nslookup domain-name

**注意:**將 domain-name 替換為您的網域名稱。

AWS 官方
AWS 官方已更新 1 年前