[Kubernetes]External-dns +CoreDns 安装

这里的前提是集群已安装Ingress,我这安装的是Ingress Nginx。
官方安装教程:https://github.com/kubernetes-sigs/external-dns/blob/master/docs/tutorials/coredns.md

我们知道Ingress可以对集群中的服务进行DNS解析,意即我们可以通过类似http://nginx.demo.com/api 的方式访问集群中的服务,当然前提是,要在/etc/hosts中添加如下内容:

192.168.106.130 nginx.demo.com

external-dns 就是为了进一步简化这个问题,external-dns每隔一段时间会去查询Ingress,获得Ingress中的数据,然后push到其provider中,这里演示的是coredns。

必须说明一下,这里使用coredns演示,而coredns只能用于集群内部使用。external-dns+coredns的安装方法可参考官方的安装教程。官方教程说的不是很清楚的地方在etcd的使用。这里根据对etcd的使用有两种安装方式:

  1. 为external-dns新建一个etcd数据库
    先看external-dns-etcd.yaml的内容:
apiVersion: v1
kind: Service
metadata:
  labels:
    k8s-app: coredns-etcd
  name: coredns-etcd
  namespace: default
spec:
  ports:
  - name: etcd-http
    port: 2379
  - name: etcd-peer
    port: 2380
  selector:
    k8s-app: coredns-etcd
  type: ClusterIP

---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    k8s-app: coredns-etcd
  name: coredns-etcd
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      k8s-app: coredns-etcd
  template:
    metadata:
      labels:
        k8s-app: coredns-etcd
    spec:
      priorityClassName: system-cluster-critical
      tolerations:
      - key: CriticalAddonsOnly
        operator: Exists
      - effect: NoSchedule
        key: node.kubernetes.io/master
      containers:
      - name: coredns-etcd
        image: k8s.gcr.io/etcd:3.5.1-0
        command: ["/usr/local/bin/etcd"]
        args:
        - --listen-client-urls=http://0.0.0.0:2379
        - --advertise-client-urls=http://0.0.0.0:2379
        - --data-dir=/var/lib/etcd
        livenessProbe:
          failureThreshold: 5
          tcpSocket:
            port: 2379
          initialDelaySeconds: 60
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 5
        ports:
        - name: etcd-http
          containerPort: 2379
          protocol: TCP
        - name
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值