• 阿里云使用 ExternalDNS 集成外部DNS服务


    安装bitnami helm

    helm repo add bitnami https://charts.bitnami.com/bitnami
    helm repo update
    
    • 1
    • 2

    生成external-dns配置yaml

    cat << EOF > external-dns.yaml
    image:
      registry: registry-vpc.cn-shenzhen.aliyuncs.com
      repository: liweilun/external-dns
    policy: sync
    provider: alibabacloud
    #logLevel: debug
    txtOwnerId: "rzedu"
    alibabacloud:
      accessKeyId: "xxx"
      accessKeySecret: "xxx"
      zoneType: public
      vpcId: "xxx"
    domain-filter:
    - aaa.cn
    - xxx.cn
    interval: "1m"
    extraVolumes:
    - name: hostpath
      hostPath:
        path: /usr/share/zoneinfo
        type: Directory
    extraVolumeMounts:
    - name: hostpath
      mountPath: /usr/share/zoneinfo
    EOF
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    参数详解

    policy是dns增删策略
    sync模式:增删该domain下所有解析,实际上是external-dns 实例仅创建/修改/删除由该实例创建的记录(与txtOwnerId挂钩)
    upsert-only模式:仅创建/修改由该实例创建的记录(与txtOwnerId挂钩)
    
    • 1
    • 2
    • 3
    alibabacloud的zoneType
    public:修改云解析dns记录
    private:修改PrivateZone记录
    或者留空
    
    • 1
    • 2
    • 3
    • 4
    domain-filter是指只监听哪些域名,默认空数组监听所有域名
    domain-filter: []
    
    • 1
    • 2
    interval指与外部dns provider同步解析记录的间隔,默认1分钟
    
    • 1

    helm安装external-dns

    helm upgrade --install externaldns  -f external-dns.yaml bitnami/external-dns
    
    • 1

    配置dns记录

    默认监听kind为service和ingress的资源对象
    绝大部分都是插入a记录,只有externalname写域名才能插入cname记录
    如果ingress入口是用crd的话,最方便是新建一个ExternalName,注解hostname里面写上域名,允许星号通配符
    
    • 1
    • 2
    • 3
    kind: Service
    apiVersion: v1
    metadata:
      name: dns
      annotations:
        external-dns.alpha.kubernetes.io/hostname: xxx.cn,www.xxx.cn,*.xxx.cn
    spec:
      type: ExternalName
      externalName: nlbxxx.cn-shenzhen.nlb.aliyuncs.com
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    出现cname-www是因为txt记录和cname记录不能同时为www
    
    • 1
  • 相关阅读:
    为react项目添加开发/提交规范(前端工程化、eslint、prettier、husky、commitlint、stylelint)
    Unity UI设计 软件构造实验报告
    【JVM】垃圾标记算法与无用类判断算法
    MySQL(进阶)--索引
    Java —— 数组
    如何让GPT不再胡说八道
    Spark RDD惰性计算的自主优化
    [附源码]Python计算机毕业设计SSM隆庆祥企业服装销售管理系统(程序+LW)
    win10自带IE浏览器自动变成Edge了
    凉鞋的 Unity 笔记 104. 测试所涉及的窗口
  • 原文地址:https://blog.csdn.net/sinat_32188225/article/details/126706735