k8s解析服务:kube-dns vs coredns

旧版k8s默认使用kube-dns, 由于kube-dns的复杂性,新版的k8s已改成默认使用coredns

怎么使用域名

由于k8s的dns服务没有对外暴露,所以解析只能用于k8s集群内使用,一般的需求是在pod里根据service名正常解析出ip地址;
如果暴露出dns服务,或许也可以供外部使用,这里不讨论这种情况。

域名的形式: ..svc.cluster.local

使用阿里巴巴的nginx – Tengine

在upstream中配置dynamic_resolve,在location配置域中指定NDS服务器,按照valid设置的时间间隔地进行地址解析。

http {
    upstream test {
        dynamic_resolve fallback=stale fail_timeout=30s;
        server  www.xxx.com:8080;
    }
    server {
        listen       8080;
        location / {
                resolver       ip     valid=3s;
                proxy_pass      http://test;
        }
}
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐