-
Notifications
You must be signed in to change notification settings - Fork 92
Commit
* We need to exchange information between multiple Gslb instances which are deployed to different clusters * Instead of exposing k8s or any other form of API we can just rely on DNS itself * We expose only working IP addresses for specific Gslb as an A record for service `hostsz.$gslb.Name.$dnzZone` which is created automatically by the operator * The data we expose is totally non-sensitive so we simplify configuration requiring no service account tokens / tls certificates or similar for Gslb information exchange * External Gslb enabled clusters are specified as configuration environemnt variable in operator deployment and abstracted as `ohmyglb.extGslbClusters` value in operator helm chart * First and naive implementation of `roundRobin` Gslb strategy Example of this code working on local cluster ``` $ k -n test-gslb get dnsendpoints.externaldns.k8s.io -o yaml ... spec: endpoints: - dnsName: hostsz.test-gslb.example.com recordTTL: 30 recordType: A targets: - 172.17.0.2 - dnsName: app3.cloud.example.com recordTTL: 30 recordType: A targets: - 172.17.0.2 - 172.17.0.2 ... ``` Here we observe populates service `hostsz` entry and also extended target list for `app3.cloud.example.com` with `roundRobin` strategy (IPs are duplicates given the local testing scenario)
- Loading branch information
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.