由于容器是为快速迭代而生,但在Kubernetes群集内部的容器IP又不是固定的,程序内部和外部不方便配置一个固定IP参数,所以我们需要借助域名来访问服务 本文通过Kube-Dns来实现域名与IP绑定
由于容器是为快速迭代而生,但在Kubernetes群集内部的容器IP又不是固定的,程序内部和外部不方便配置一个固定IP参数,所以我们需要借助域名来访问服务
本文通过Kube-Dns来实现域名与IP绑定,并自动注册发现
我们参考使用官方的Deployment进行部署:
https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/dns/
也可以使用我GitLab上面这个URL:
编辑transforms2sed.sed文件
s/__PILLAR__DNS__SERVER__/$DNS_SERVER_IP/g
s/__PILLAR__DNS__DOMAIN__/$DNS_DOMAIN/g
s/gcr.io/$Registry/g
/__PILLAR__FEDERATIONS__DOMAIN__MAP__/d
s/__MACHINE_GENERATED_WARNING__/Warning: This is a file generated from the base underscore template file: __SOURCE_FILENAME__/g
替换$DNS_SERVER_IP为自定义群集svc地址(如10.254.0.10),替换$DNS_DOMAIN为自定义域名(如:gibsondocker.com) 替换$Registry为(镜像仓库地址)
编辑好后执行
#sed -f transforms2sed.sed kubedns-svc.yaml.base > kubedns-svc.yaml
#sed -f transforms2sed.sed kubedns-controller.yaml.base > kubedns-controller.yaml
~