在Kubernetes上的CoreDNS服务中添加简单的A记录

bxjv4tth  于 12个月前  发布在  Kubernetes
关注(0)|答案(2)|浏览(189)

这里有一个问题:我们有几个microk 8 s集群运行在不同的网络上,但每个都可以访问我们的存储网络,我们的NAS。
在Kubernetes中,我们使用nfs-provider(nfs-externalsubdir)创建磁盘。一些磁盘是使用指定的NAS服务器的IP创建的。一旦我们必须更改IP,我们发现磁盘已绑定到IP,更改IP意味着在其中创建新的存储资源。
为了避免这种情况,我们希望能够在Kubernetes集群级别上设置DNS记录,这样我们就可以基于名称而不是IP来创建具有nfs配置的存储资源,并且我们可以在需要时更改DNS记录(例如,当我们升级或迁移外部NAS设备时)例如,我想告诉每个microk 8 s环境:
192.168.1.4 my-nas.mydomain.local
.就像我在/etc/hosts文件中一样。
有没有一个合适的方法来实现这一点?我试图按照这个链接上的建议:Is there a way to add arbitrary records to kube-dns?(答案被投票了15次,集群部分),重新启动部署,但它不起作用
我不能使用hostAliases功能,因为它不是在我们使用的每个图表上提供的,这就是为什么我在寻找一个更全局的解决方案。
此致:

nxagd54h

nxagd54h1#

第一个月
为此,您可以尝试无头服务,而不接触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

x33g5p2x

x33g5p2x2#

您可以使用Kube-DNS(核心DNS)在K8中设置自定义DNS
您必须将配置文件作为配置Map注入/传递到核心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-verify.html

相关问题