問題是:我們有幾個 microk8s 集群在不同的網路上運行;但是每個人都可以訪問我們的 NAS 所在的存盤網路。
在 Kubernetes 中,我們使用 nfs-provisionner (nfs-externalsubdir) 創建磁盤。某些磁盤是使用指定的 NAS 服務器的 IP 創建的。一旦我們不得不更改 IP,我們發現磁盤已系結到 IP,更改 IP 意味著在其中創建新的存盤資源。
為了避免這種情況,我們希望能夠在 Kubernetes 集群級別設定 DNS 記錄,以便我們可以使用基于名稱而非 IP 的 nfs 配置器創建存盤資源,并且我們可以在需要時更改 DNS 記錄(當例如,我們升級或遷移我們的外部 NAS 設備)例如,我想告訴每個 microk8s 環境:
192.168.1.4 my-nas.mydomain.local
...就像我在 /etc/hosts 檔案中一樣。
有沒有合適的方法來實作這一目標?我嘗試遵循此鏈接上的建議:有沒有辦法將任意記錄添加到 kube-dns? (答案贊成 15 次,集群部分),重新啟動部署,但它沒有作業
我不能使用 hostAliases 功能,因為我們使用的每個圖表上都沒有提供它,這就是為什么我正在尋找一個更全球化的解決方案。
最好的祝福,
uj5u.com熱心網友回復:
您可以使用 Kube-DNS (Core-DNS) 在 K8s 中設定自定義 DNS
您必須將組態檔作為configmap注入/傳遞到 Core DNS 卷。
Configmap看起來像
apiVersion: v1
kind: ConfigMap
metadata:
name: coredns
namespace: kube-system
data:
Corefile: |
.:53 {
errors
health {
lameduck 5s
}
ready
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods insecure
fallthrough in-addr.arpa ip6.arpa
ttl 30
}
prometheus :9153
forward . /etc/resolv.conf
cache 30
loop
reload
loadbalance
}
您在以下位置了解更多資訊: https ://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/
https://platform9.com/kb/kubernetes/how-to-customize-coredns-configuration-for-adding-additional-ext
否則,您也可以將外部 DNS與核心 DNS一起使用
您可以注釋服務(資源),外部 DNS 會將地址添加到 core-dns
閱讀更多關于它的資訊:
https://github.com/kubernetes-sigs/external-dns/blob/master/docs/tutorials/coredns.md
https://docs.mirantis.com/mcp/q4-18/mcp-deployment-guide/deploy-mcp-cluster-using-drivetrain/deploy-k8s/external-dns/verify-external-dns/coredns-etxdns-驗證.html
uj5u.com熱心網友回復:
...we could create storage resources with the nfs provisionner based on a name an not an IP, and we could alter the DNS record when needed...
為此,您可以在不接觸 coreDNS 的情況下嘗試無頭服務:
apiVersion: v1
kind: Service
metadata:
name: my-nas
namespace: kube-system # <-- you can place it somewhere else
labels:
app: my-nas
spec:
ports:
- protocol: TCP
port: <nas port>
---
apiVersion: v1
kind: Endpoints
metadata:
name: my-nas
subsets:
- addresses:
- ip: 192.168.1.4
ports:
- port: <nas port>
將其用作: my-nas.kube-system.svc.cluster.local
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/410378.html
標籤:
上一篇:在GoogleCloud中監控KubernetesPod
下一篇:HAk3s設定中的容錯
