定制k8s域名解析------CoreDns配置實驗
1. 需求
k8s集群內(nèi)通過CoreDns互相解析service名.
同時pana.cn域為外部dns解析,需要通過指定dns服務器進行解析
再有3個服務器,需要使用A記錄進行解析
2. K8s外DNS服務器
查看解析文件
tail -3 /var/named/pana.cn.zone
解析內(nèi)容
www A 192.168.126.77
ftp A 192.168.126.7
web A 192.168.126.17
測試
dig www.pana.cn @192.168.126.77
3. 部署測試容器
3.1 部署測試容器
admin-deploy.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: admin-deployment
labels:
app: admin
spec:
replicas: 1
selector:
matchLabels:
app: admin
template:
metadata:
labels:
app: admin
spec:
containers:
- name: admin
image: qiuqin/admin_tools:latest
imagePullPolicy: IfNotPresent
部署容器
kubectl apply -f admin-deploy.yaml
3.2 測試解析
顯然現(xiàn)在沒有辦法解析到集群外dns中的內(nèi)容
kubectl exec -it admin-deployment-59b4d7746c-cv967 dig www.pana.cn
4. CoreDns配置
4.1 配置coredns configmap
kubectl edit cm -n kube-system coredns
在Corefile下追加以下內(nèi)容
pana.cn:53 {
errors
cache 30
forward . 192.168.126.77
}
將coredns相關(guān)pod刪除重建
kubectl get pods -n kube-system
kubectl delete pod coredns-857d9ff4c9-2vwj8 coredns-857d9ff4c9-hwr2n -n kube-system
kubectl get pods -n kube-system
確認pod已更新
4.2 測試解析
可以看到現(xiàn)在已經(jīng)可以解析到k8s集群外dns服務器中的記錄了.
kubectl exec -it admin-deployment-59b4d7746c-cv967 dig www.pana.cn
kubectl exec -it admin-deployment-59b4d7746c-cv967 dig ftp.pana.cn
5. 解析單條記錄
5.1 CoreDns configmap配置
測試一條記錄test.aa.cc,顯然現(xiàn)在是沒法解析的
kubectl exec -it admin-deployment-59b4d7746c-cv967 dig test.aa.cc
一樣修改coredns的configmap
加入hosts {} 內(nèi)容,注意位置要在.:53{}中
apiVersion: v1
data:
Corefile: |
pana.cn:53 {
errors
cache 30
forward . 192.168.126.77
}
.:53 {
errors
health {
lameduck 5s
}
ready
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods insecure
fallthrough in-addr.arpa ip6.arpa
ttl 30
}
hosts {
10.195.1.8 test.aa.cc
192.168.31.7 aa.bb.tt
172.31.125.4 qiu.qin.com
}
prometheus :9153
forward . /etc/resolv.conf {
max_concurrent 1000
}
cache 30
loop
reload
loadbalance
}
kind: ConfigMap
metadata:
creationTimestamp: "2024-03-10T12:21:53Z"
name: coredns
namespace: kube-system
resourceVersion: "9546954"
uid: 1fa9a51c-0c22-4d6d-9d29-00a0d147d8ed
刪除pod使得coredns配置生效(生產(chǎn)環(huán)境切記要在低峰期執(zhí)行)
kubectl delete pod -n kube-system coredns-857d9ff4c9-lnsg8 coredns-857d9ff4c9-4bnx5
5.2 測試hosts
依次解析我們自定義的3個域名,獲得了我們自定義的地址返回文章來源:http://www.zghlxwxcb.cn/news/detail-854956.html
kubectl exec -it admin-deployment-59b4d7746c-cv967 dig qiu.qin.com
kubectl exec -it admin-deployment-59b4d7746c-cv967 dig test.aa.cc
kubectl exec -it admin-deployment-59b4d7746c-cv967 dig aa.bb.tt
解析pana.cn域也是正常的
至此定制k8s域名解析------CoreDns配置實驗完成文章來源地址http://www.zghlxwxcb.cn/news/detail-854956.html
到了這里,關(guān)于定制k8s域名解析------CoreDns配置實驗的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!