0

我在 azure 的 dns-zone 中有许多 dns 记录,我需要使用 External-dns 来自动创建/删除 dns 记录,但是当外部 dns 在 aks 中找到其他标签时,我需要按标签进行过滤,而不是他下面的这个标签不能碰它:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: sample-rule
  labels:
    ingress: externaldns
  annotations:
    kubernetes.io/ingress.class: "nginx"
    ingress: "externaldns"

头盔命令:

helm install external-dns-frontend-sint bitnami/external-dns \                                                                                                                      
    --wait \
    --namespace externaldns \
    --set txtOwnerId=az-frontend-aks\
    --set provider=azure \
    --set azure.resourceGroup=az-tools \
    --set txtOwnerId=az-frontend-ak \
    --set azure.tenantId=xxxxxxxxxxxxxxxxxxxxxxx \
    --set azure.subscriptionId=xxxxxxxxxxxxxxxxxxxxxxxx \
    --set azure.aadClientId=xxxxxxxxxxxxxxxxx \
    --set azure.aadClientSecret=xxxxxxxxxxxxxxx \
    --set azure.cloud=AzurePublicCloud \
    --set policy=sync \
    --set labelfilter=”ingre=externaldns” \
    --set annotationfilter=”ingress=externaldns” \
    --set domainFilters={azdns.test.com}

我需要知道如何将此参数与 Bitnami/external-dns 图表一起使用来激活标签过滤器。请有任何帮助

最后:过滤器不起作用他从同一命名空间中的入口创建了所有记录

4

2 回答 2

2

• 您可以使用标签过滤器命令和下面的bitnami 外部dns 图表来过滤掉外部dns 中未作为aks 入口传递的标签。

‘ $helm install my-release -f values.yaml bitnami/external-dns ‘

在 values.yaml 文件中,指定标签过滤器和注释过滤器参数,如下所示: -

 labelfilter: “ingress: ‘externaldns’”
 annotationfilter: “ingress: ‘externaldns’”

或者

‘ $helm install my-release \
  --set-labelfilter=”ingress=externaldns” \
  --set-annotationfilter=”ingress=externaldns” \
   bitnami/external-dns ’

另外,请注意“注释过滤器”使用标签选择器通过注释过滤由外部 DNS 管理的源,而“标签过滤器”仅使用标签选择器选择由外部 DNS 管理的源。因此,基于注释的过滤意味着 external-dns 控制器将接收所有此类资源,然后在客户端进行过滤。在具有频繁更改的许多资源的大型集群中,这可能会导致性能问题。如果只需要由 external-dns 的实例管理某些资源,则可以使用标签过滤而不是注释过滤。这意味着只有那些与“--label-filter”中指定的选择器匹配的资源才会被传递给控制器​​。

请找到以下链接以供参考:-

https://github.com/kubernetes-sigs/external-dns/blob/master/docs/faq.md#running-an-internal-and-external-dns-service

https://github.com/bitnami/charts/tree/master/bitnami/external-dns/#external-dns-parameters

于 2021-11-22T12:08:21.650 回答
0

有两个问题:

  1. 注释过滤器错误,过滤器必须是大写字母

    annotationFilter:“入口:externaldns”</p>

  2. 标签过滤器是新功能必须在新的 Helm 图表版本 5.5.1 中使用

于 2021-11-29T14:32:51.357 回答