▪️k8s - CoreDNS
2024-12-4
| 2025-3-19
字數 349閱讀時間 1 分鐘

基本概念

  • CoreDNS 是 Kubernetes 集群中的預設 DNS 服務
  • 負責服務發現和 DNS 解析
  • 支持集群內部服務的命名解析

DNS 解析模式

服務發現場景

場景
DNS 解析方式
範例
不同 Deployment, 同命名空間
服務名稱
同 Deployment, 同命名空間
localhost
localhost
不同 Deployment, 不同命名空間
服務名.命名空間

CoreDNS 解析域名規則

完整域名結構

服務名.命名空間.svc.cluster.local

常見解析方式

  1. 短名稱:service-name
  1. 命名空間內:service-name
  1. 跨命名空間:service-name.namespace
  1. 完整域名:service-name.namespace.svc.cluster.local

CoreDNS 域名配置修改

修改集群域名

預設域名為 cluster.local,可以通過以下方式修改:
  1. 查看當前 CoreDNS ConfigMap
    1. 編輯 CoreDNS ConfigMap
      1. 修改 Corefile 配置

        最佳實踐

        • 優先使用服務名稱或 服務名.命名空間
        • 避免硬編碼 IP 地址
        • 利用 Kubernetes 服務發現機制
        • 使用 NetworkPolicy 控制網絡流量

        範例配置

        排障技巧

        • 使用 nslookupdig 測試 DNS 解析
        • 檢查 CoreDNS Pod 狀態
        • 驗證服務和 Pod 標籤選擇器
        • 確認域名配置正確
      2. kubernetes
      3. 加入管理節點k8s, cert-manage - adcs-issuer
        Loading...