日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

ACS Pod配置自定義DNS

如果需要使用內網的鏡像倉庫來拉取鏡像,或者容器需要訪問內網中的域名,則需要配置ACS Pod使用的DNS為用戶內網DNS,以便解析內網域名。本文介紹如何為ACS Pod配置自定義DNS。

適用范圍

可以在以下三種情況下配置自定義DNS:

  • 使用默認DNS策略且未指定DNS配置:如果集群已配置 dnsPolicy=Default 且未指定任何DNS配置,則默認情況下將使用云解析的DNS服務器地址。

  • 使用默認DNS策略但指定了DNS配置:如果集群已配置 dnsPolicy=Default 并且指定了DNS配置,可以自定義DNS服務器地址。

  • 使用自建DNS服務器拉取鏡像:如果需要從使用了自建DNS服務器解析域名的自建鏡像倉庫中拉取鏡像,則應配置自定義DNS。

配置說明

您可以在Pod metadata中添加network.alibabacloud.com/custom-dnsconfig的Annotation來指定ACS Pod使用自定義DNS。該Annotation的取值格式為標準Kubernetes spec.dnsConfig結構{"servers":["20.1.xx.xx","30.1.xx.xx"],"searches":["xx.com","yy.com"],"options":["ndots:2","edns0"]}

配置整體結構如下:

{
    "servers": [
        "20.1.xx.xx",
        "30.1.xx.xx"
    ],
    "searches": [
        "xx.com",
        "yy.com"
    ],
    "options": [
        "ndots:2",
        "edns0"
    ]
}

各字段說明如下:

key

value

子項

類型

示例值

描述

network.alibabacloud.com/custom-dnsconfig

{"servers":["20.1.xx.xx","30.1.xx.xx"],"searches":["xx.com","yy.com"],"options":["ndots:2","edns0"]}

servers

[]String

["20.1.xx.xx","30.1.xx.xx"]

DNS服務器的IP地址列表。僅支持填入2個IP地址,多余的會自動忽略。

同時,系統會在最后自動追加阿里云DNS服務器的IP地址,以保證系統服務正常。

searches

[]String

["xx.com","yy.com"]

DNS搜索域列表。最多允許32個。

進行域名解析時,如果輸入的域名不完整,系統會自動嘗試使用該列表中的域名后綴來補全并進行解析。

options

[]String

["ndots:2","edns0"]

DNS解析選項。可包含多個Key:Value值。以下為一些常見選項:

  • ndots:設置DNS在主機名中必須至少包含多少個點號(.)才會將其視為絕對域名,否則會嘗試在搜索域中進行解析。

  • edns0:開啟EDNS0擴展支持,以支持更大的UDP數據包大小和提高安全性。

  • timeout:設置DNS查詢超時時間。

  • attempts:設置DNS查詢嘗試次數。

說明

請您根據實際業務需求為Pod配置dnsPolicy。當配置dnsPolicyClusterFirst且配置了CoreDNS時,只適用場景3。

當配置錯誤,Pod會Pending并報錯InternalError。請檢查配置

操作步驟

下面以無狀態應用為例:

通過控制臺使用

  1. 登錄容器計算服務控制臺,在左側導航欄選擇集群

  2. 集群頁面,單擊目標集群ID,然后在左側導航欄,選擇工作負載 > 無狀態

  3. 無狀態頁面,單擊使用鏡像創建

  4. 在您填寫完應用基本信息后,點擊下一步

  5. 填寫完容器配置后,點擊下一步

  6. 高級配置頁面中,根據您自己的需求,在Pod注解中填入上述配置,比如您需要配置network.alibabacloud.com/custom-dnsconfig,按照下圖完成配置后,單擊創建按鈕。image

通過kubectl配置

  1. 生成應用配置

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: test
  name: test-default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: test
  template:
    metadata:
      annotations:
        network.alibabacloud.com/custom-dnsconfig: '{"servers":["114.114.114.114","8.8.8.8"],"searches":["xx.com","yy.com"],"options":["ndots:2","edns0"]}'
      labels:
        app: test
    spec:
      containers:
      - image: registry.cn-hangzhou.aliyuncs.com/acs/busybox:v1.29.2
        command: ["sh","-c","i=1; while true; do echo $i; i=$((i=i+1)); sleep 1; done;"]
        name: busybox
        resources:
          requests:
            cpu: "2"
            memory: "8Gi"
          limits:
            cpu: "2"
            memory: "8Gi"
      dnsPolicy: Default
  1. 創建應用

    kubectl apply -f deploy.yaml
  2. 觀察pod

    kubectl get pod -w
  3. 查看結果

    kubectl  exec  <pod name>  cat /etc/resolv.conf
    # 預期輸出
    search xx.com yy.com
    nameserver 114.114.114.114
    nameserver 8.8.8.8
    nameserver 100.100.2.136
    options ndots:6 edns
說明

注意: 無法通過控制臺修改dnsPolicy