我在azure中的dns区域中有许多dns记录,我需要使用外部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命令:
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图表中使用此参数来激活标签过滤器。请帮个忙
最后:过滤器不起作用他在同一名称空间中创建了入口的所有记录
发布于 2021-11-22 12:08:22
·您可以将标签过滤命令与bitnami外部dns图表配合使用,如下所示过滤掉未作为aks入口传入外部dns的标签。
‘ $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管理的源。因此,基于注释的过滤意味着外部dns控制器将接收该类型的所有资源,然后在客户端进行过滤。在拥有许多资源的大型集群中,这可能会导致性能问题。如果只有一些资源需要由外部dns实例管理,那么可以使用标签过滤来代替注释过滤。这意味着只有那些与‘--label-filter’中指定的选择器匹配的资源才会被传递给控制器。
请浏览以下连结以作参考:
https://github.com/bitnami/charts/tree/master/bitnami/external-dns/#external-dns-parameters
发布于 2021-11-29 14:32:51
有两个问题:
annotationFilter:“入口:外部”
中必须使用的一项新功能
https://stackoverflow.com/questions/70059461
复制相似问题