主页 > 其他文档 > 正文

腾讯云k8s如何配置域名解析?腾讯云服务器租用

时间:2020-12-23 | 标签: | 作者: | 来源:-小 +大

小提示:如果您对本页介绍的内容感兴趣,有需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您!

在应用开发中,我们不应把远程服务的ip硬编码到应用中。有些同学习惯使用域名来标定远程服务,通过修改解析,来区分开发测试和生产环境,这是一个挺好的习惯。在k8s系统中,我们使用服务名来调用服务,

在应用开发中,我们不应把远程服务的 ip 硬编码到应用中。有些同学习惯使用域名来标定远程服务,通过修改解析,来区分开发测试和生产环境,这是一个挺好的习惯。

在 k8s 系统中,我们使用服务名来调用服务,并通过 coredns 来进行解析。但那些集群外的服务,并且已经被硬编码的域名如何访问呢?
方法1:修改容器的 hosts
设想:把 hosts 文件存储在 configmap 中,通过 volume 绑定到 /etc/hosts。但很不幸,/etc/hosts 被 k8s 征用了,无法修改。
但 k8s 给我们提供了 hostAliases 来解决此问题。
apiVersion: s/v1
kind: Deployment
metadata:
name: hosts-append
labels:
app: hosts-append
spec:
replicas: 1
selector:
matchLabels:
app: hosts-append
template:
metadata:
labels:
app: hosts-append
spec:
hostAliases:
- ip: "127.0.0.1"
hostnames:
- "foo.local"
- "bar.local"
- ip: "10.1.2.3"
hostnames:
- "foo.remote"
- "bar.remote"
containers:
- image: nginx:alpine
name: hosts-append
ports:
- containerPort: 80
otocol: TCP
部署后,pod 里面的 hosts 文件已经追加了解析记录。结果如下:
$ kubectl exec hosts-append-5576848dcf-jnt4s -- cat /etc/hosts
# Kubernetes-managed hosts file.
127.0.0.1localhost
::1localhost ip6-localhost ip6-loopback
fe00::0ip6-localnet
fe00::0ip6-mcastprefix
fe00::1ip6-allnodes
fe00::2ip6-allrouters
10.4.0.224hostbiza-5576848dcf-jnt4s
# Entries added by HostAliases.
127.0.0.1foo.localbar.local
10.1.2.3foo.remotebar.remote
此方法的缺点是:不同环境下的域名映射是不一样的,我必须为环境编写不同的 yaml 文件。
方法2:使用私有dns解析
k8s 内部默认已经安装了 coredns 服务,可以通过修改 coredns 的配置来达到内部解析的目的。
coredns 的配置写在了 configmap 的 kube-system 命名空间下的 coredns 配置节点了。只需要增加 hosts 配置节点就好。
编辑他:
kubectl edit cm -n kube-system coredns
Corefile 配置示例(其中 hosts 节点是自定义的解析节点):
.:53 {
errors
health
kubernetes cluster.local. in-addr.arpa ip6.arpa {
pods insecure
upstream
fallthrough in-addr.arpa ip6.arpa
}
hosts {
127.0.0.1foo.local
8.8.8.8foo.remote
fallthrough
}
prometheus :9153
proxy . /etc/resolv.conf
cache 30
reload
loadbalance
}
修改完成后,要等等。配置下发完成即可生效。可以进入 pod 内部 ping 一下域名看看。
在一般的控制台,这个节点无法修改。但借助命令行 kubectl 或者其他可视化工具(如 Lens),可以修改这个配置节点。
至于开发环境下的域名解析,自己改本机 hosts 就好啦。
当然,更好的做法是把配置文件与应用解耦,所有的配置,包括远程服务的域名或 ip 都可以被远程修改。

上一篇:如何让游戏不停服更新,您可以这样构建游戏环
下一篇:如何固定腾讯云主机的公网IP,弹性网卡有什么优


版权声明:以上主题为“腾讯云k8s如何配置域名解析?腾讯云服务器租用"的内容可能来至网络,如有侵权欢迎联系我们客服QQ处理,谢谢。
留言咨询
相关内容
扫码咨询
    微信客服
    打开微信扫码或长按识别二维码

小提示:如果您对本页介绍的“腾讯云k8s如何配置域名解析?腾讯云服务器租用”相关内容感兴趣,有需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您!

关键词:动态 - 新闻资讯 - ,百

经典案例 | 服务范围 | 关于我们
客服邮箱:sales@1330.com.cn
电话:400-021-1330 | 客服QQ:865612759
沪ICP备12034177号 | 沪公网安备31010702002418号