K8S 添加 DNS

背景

K8S 集群部署在云中,此时为公网,但国内大型企业或国企的内部系统部署在内网,正常情况下在公网与内部局域网中会搭建专线已方便服务调用,但某些情况下需要手动设置容器的 DNS 以调用内部服务接口。具体表现形式为: 能 ping 通目标主机,但使用 curl 返回 403.

正文

解决方案有多种:1.要求网络工程师开发所属服务器公网 IP 访问内网权限 2.设置容器的 DNS(设置所属服务器 DNS 也可,容器中会使用物理机的配置,但我这边的环境设置了物理机的 DNS 容器中还是访问不了接口)

1.配置 coredns

sudo kubectl edit configmap coredns -n kube-system

2. 添加 dns ,多个使用空格分隔

3.应用 cofigmap 到 coredns

sudo kubectl scale deployment coredns -n kube-system --replicas=0
sudo kubectl scale deployment coredns -n kube-system --replicas=2

4.测试验证

进入容器 curl 目标接口查看是否调用成功

posted @ 2022-12-23 13:48  深秋竹韵  阅读(417)  评论(0)    收藏  举报