联邦DNS安装
前置条件
准备好一个集群联邦,本文将在《集群联邦》一文中搭建好的环境,有
f-cluster作为宿主集群,有a-cluster与b-cluster作为两个工作集群在
a-cluster与b-cluster中安装好metallb,安装教程参考《安装MetalLB》;a-cluster中metallb使用的address范围为192.168.2.110-120,b-cluster中metallb使用的address范围为192.168.2.210-220本文要继续参考
v0.0.10版本的文档,除非有些页面该版本的文档不存在
安装etcd集群
CoreDNS和ExternalDNS共用一个etcd集群,该集群的数据最好能持久化。假设安装好后,etcd集群的地址为192.168.2.103:3379
安装CoreDNS
下载values.yaml文件
wget https://raw.githubusercontent.com/helm/charts/master/stable/coredns/values.yaml更改其中的内容(版本不同该文件的原始内容可能会有变化,下面给出最终状态)
serviceAccount.create最后要为falserbac.create最后要为trueisClusterService最后要为falseservers.plugins中要添加如下内容
- name: etcd
parameters: example.com
configBlock: |-
stubzones
path /skydns
endpoint http://192.168.2.103:3379然后执行以下命令安装
安装ExternalDNS
在宿主集群中创建以下的资源以安装ExternalDNS,注意github上的参考文档master分支中这一行的原内容为--crd-source-apiversion=multiclusterdns.kubefed.k8s.io/v1alpha1,但如果
创建Service
创建一个FederatedService,类型为LoadBalancer
创建好之后,我们可以在a-cluster与b-cluster有命名空间test-namespace中都可以看到一个名字为test-service的Service
然后为这个FederatedService创建一个DNS记录
查询DNS记录
过几分钟后,去CoreDNS查询刚刚创建的FederatedSerivce的DNS记录。在这里,DNS服务器就是my-coredns-coredns
Last updated
Was this helpful?