Service Discovery

Coordination & Service Discovery

微服务的服务注册和服务发现.

  • coredns
  • etcd
  • zookeeper

Etcd

https://github.com/etcd-io/etcd

类似的有consul和zoomkeeper.

相关证书:

/etc/kubernetes/pki/etcd/server.key  # private key
/etc/kubernetes/pki/etcd/server.crt    # certificate
/etc/kubernetes/pki/etcd/ca.crt    # 根证书

etcdctl

使用证书访问:

$ etcdctl \
--cacert=/etc/kubernetes/pki/etcd/ca.crt \
--cert=/etc/kubernetes/pki/etcd/server.crt  \
--key=/etc/kubernetes/pki/etcd/server.key \
--insecure-skip-tls-verify=true \
<command>

查看所有key

$ etcdctl get / --prefix --keys-only

Coredns

https://github.com/coredns/coredns

Coredns是Kubernetes的默认DNS服务器,提供服务发现功能。使用插件架构,可以通过配置文件添加或修改功能。可以通过Kubernetes的Service资源进行服务发现。

Coredns的配置文件通常位于/etc/coredns/Corefile

. {
    errors
    health
    kubernetes cluster.local in-addr.arpa ip6.arpa {    
        pods insecure
        fallthrough in-addr.arpa ip6.arpa
    }
    prometheus :9153
    forward . /etc/resolv.conf
    cache 30
    loop
    reload
    loadbalance
}

zookeeper

Designed by Canux