-
Notifications
You must be signed in to change notification settings - Fork 119
Description
Hello there!
We are evaluating solutions for cross-(k8s)cluster LB and recently came across k8gb. I adopted the Azure DNS tutorial by swapping out the two AKS clusters with two RKE2 clusters (although running on Azure VMs to simulate on-prem clusters). I managed to make it work but with some limitations. The biggest issue we are still facing is that whenever we expose k8gb-coredns (either via LB or enabling udp.53 in ingress-nginx chart), coredns will take over DNS name resolving - i.e., new pods would fall pulling images from anywhere due to name resolving issue). The workaround it to temporarily turn off coredns LB svc so that you can deploy something and then turn LB on coredns back on (and set imagePullPolicy to IfNotPresent so when you scale the deployment down to 0 replica and back to 1 again, it won't trying to repull the image).
Below are my configurations:
#values file contents for ingress-nginx:
controller:
kind: DaemonSet
service:
annotations:
[service.beta.kubernetes.io/azure-load-balancer-health-probe-request-path](http://service.beta.kubernetes.io/azure-load-balancer-health-probe-request-path): /healthz
#values file contents for k8gb (of one region):
k8gb:
dnsZones:
- loadBalancedZone: "[k8gb.newrezk8snonprod.com](http://k8gb.newrezk8snonprod.com/)"
parentZone: "[newrezk8snonprod.com](http://newrezk8snonprod.com/)"
dnsZoneNegTTL: 300 # -- Negative TTL for SOA record
edgeDNSServers:
- "1.1.1.1"
- "8.8.8.8"
clusterGeoTag: "ga"
extGslbClustersGeoTags: "tx"
reconcileRequeueSeconds: 10
externaldns:
interval: "10s"
azuredns:
enabled: true
createAuthSecret:
enabled: true
tenantId: ...
subscriptionId: ...
resourceGroup: ...
aadClientId: ...
aadClientSecret: ...
coredns:
serviceType: "LoadBalancer"
istio:
enabled: false
Thanks,
Peishu