「External-DNS」- 安装 | 升级 | Installing | Upgrading

版本选择

Kubernetes version compatibility
https://github.com/kubernetes-sigs/external-dns?tab=readme-ov-file#kubernetes-version-compatibility

Kubernetes >= 1.22 → External DNS >= 0.10.0

部署方式

参考 kubernetes-sigs/external-dns/docs/tutorials/ 页面,该目录提供针对多个 DNS Provider 进行配置的案例。

with Manifest / on Tencent Cloud

腾讯云 / 在 TKE 中,配置 ExternalDNS | https://cloud.tencent.com/document/product/457/72679

kubectl create namespace external-dns
kubectl config set-context --current --namespace external-dns

kubectl apply -f dnspod.yaml

Q:… failed to sync v1.Ingress: context deadline execeded …
A:通过 YAML 部署,需要注意 ClusterRoleBinding.subjects[].namespace 配置,错误配置将导致其无法访问 api-server 而退出。
R:failed to sync v1.Ingress: context deadline exceeded · Issue #2407 · kubernetes-sigs/external-dns

with Manifest / on AWS

https://github.com/kubernetes-sigs/external-dns/blob/master/docs/tutorials/aws.md

with Helm Chart

Bitnami 提供 External DNS 的 Helm Chart 包。
https://artifacthub.io/packages/helm/bitnami/external-dns

但目前(08/15/2024 External DNS Helm Chart v7.5.5)仅支持部分 DNS Provider:akamai, alibabacloud, aws, azure, azure-private-dns, cloudflare, coredns, designate, digitalocean, google, hetzner, infoblox, linode, rfc2136, transip, oci

Route 53

.txtOwnerId: 
.domainFilters:
.policy: sync
.registry: "txt"

.provider: aws

.aws.credentials:
.aws.region: 
.aws.zoneType: "public"

helm upgrade --install --namespace external-dns --create-namespace             \
    external-dns ./external-dns-7.5.5.tgz -f ./external-dns-7.5.5.tgz.helm-values.yaml 

命令参数

我们暂未(12/16/2024)找到相关说明文档,我们我们通过命令的帮助文档进行查看:

docker run registry.k8s.io/external-dns/external-dns:v0.15.0 –help