K8S 集群应用配置coredns实现访问内网域名 —— 筑梦之路

这篇具有很好参考价值的文章主要介绍了K8S 集群应用配置coredns实现访问内网域名 —— 筑梦之路。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题:

在内网环境中,服务器不能连接互联网,某些服务直接使用ip访问又不方便,于是直接在hosts中配置域名解析,而K8S集群中的应用需要访问这些服务,pod容器内却不能解析,此时该怎么解决呢?

解决方法:

第一种方法:内网自建DNS服务,每台主机DNS都指向该dnsf服务器

第二种方法:在需要访问内网域名服务的pod上配置解析:

#在deployment上添加
hostAliases:
- ip: "192.168.200.100"
  hostnames:
  - "test.com.cn"

第三种方法:修改coredns配置,添加内网域名解析,全局域名映射

前两种方法这里不做介绍,重点来说下如何通过第三种方法解决该问题。

# 查看k8s集群中运行的coredns pod

kubectl  get pod -n kube-system | grep coredns

# 编辑coredns的配置,coredfile中添加自定义域名解析配置

kubectl -n kube-system edit cm coredns

#corefile下添加
hosts {
        192.168.200.100     test.com.cn
        fallthrough
 }

# 重启coredns pod

kubectl -n kube-system delete pod coredns-xxx

# 在应用pod 内测试域名是否能解析、访问

nslookup  test.com.cn

ping test.com.cn

参考资料:

修改coreDNS配置,实现k8s集群全局域名映射 – 源码巴士 

kubernetes CoreDNS实现自定义域名解析 文章来源地址https://www.toymoban.com/news/detail-618922.html

到了这里,关于K8S 集群应用配置coredns实现访问内网域名 —— 筑梦之路的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • k8s实现外部访问minikube集群

    我们现在大家都知道了 minikube集群相当于k8s的一个虚拟机。 同时pod每次消亡重建之后都会分配一个虚拟的ip,这个ip可供集群内部访问,但是如果要对外访问呢? 我们可以给他暴露ip出来,但是如果pod宕机后重建ip就发生了变化,所以不能对pod进行ip的暴露。 那应该对什么进行

    2024年02月03日
    浏览(34)
  • [Kubernetes[K8S]集群:master主节点初始化]:通过Calico和Coredns网络插件方式安装

    主节点:安装coredns - init初始化 主节点(此时还没有安装calico) 从节点:基于主节点生成join命令加入集群 主节点:安装calico:apply 生成pod,此时没有调整yaml网卡 coredns 和calico pod 运行成功 但是 calico-node-cl8f2 运行失败 查看 解决链接 因为之前写过一篇,calico一直异常,步骤

    2024年04月15日
    浏览(39)
  • k8s中部署nginx-ingress实现外部访问k8s集群内部服务

    k8s通过nginx-ingress实现集群外网访问功能 1.1 ingress 工作原理 step1:ingress contronler通过与k8s的api进行交互,动态的去感知k8s集群中ingress服务规则的变化,然后读取它,并按照定义的ingress规则,转发到k8s集群中对应的service。 step2:而这个ingress规则写明了哪个域名对应k8s集群中的

    2024年02月07日
    浏览(32)
  • k8s kubelet coredns ubuntu修改dns配置文件读取路径

    coredns 服务默认使用节点上的dns配置,由于在 Ubuntu18 及以上版本,默认是启用 systemd-resolved 服务的,且配置nameserver配置文件默认为 /run/systemd/resolve/resolv.conf , 且kubelet默认的dns文件读取也是该文件。因不习惯使用该服务来管理dns配置,所以需要修改kubelet的默认读取dns的文件

    2024年02月15日
    浏览(38)
  • K8S应用流程安全(镜像安全 配置管理 访问安全)

    1.1.1 构建原则 学习目标 这一节,我们从 基础知识、原则解读、小结 三个方面来学习。 基础知识 k8s平台使用业务环境 需求 镜像的使用流程 Docker镜像加载 UnionFS 原则解读 构建样式 构建原则 实践原则 分层效果 功能效果 小结 1.1.2 Dockerfile实践 学习目标 这一节,我们从 基础

    2024年02月13日
    浏览(38)
  • 微服务系列文章之 Springboot应用在k8s集群中配置的使用

    Docker部署其实也可以再docker run或者dockerfile里面,将配置文件目录映射到宿主机,然后通过宿主机配置文件修改参数。 很多时候Dockerfile文件中需要定义变量,减少对Dockerfile文件的修改,在编译的时候从外部传入参数,这种情况可使用  ARG 参数,然后通过 --build-arg 进行赋值。

    2024年02月16日
    浏览(27)
  • k8s自定义Endpoint实现内部pod访问外部应用

    endpoint除了可以暴露pod的IP和端口还可以代理到外部的ip和端口 使用场景 公司业务还还没有完成上云, 一部分云原生的,一部分是实体的 业务上云期间逐步实现上云,保证各个模块之间的解耦性 比如使用云数据库或者实体数据库服务器啥的,因为像数据库实现容器化的话在

    2024年01月25日
    浏览(41)
  • k8s搭建集群报错failed to set up sandbox container “xxx“ network for pod “coredns-xxx“:networkPlugin cni fa

    今天在搭建k8s集群时发现coredns一直处于containerCreating状态,如下图所示: 到相应的node节点上查看日志去排查问题: kubectl describe pods -n kube-system coredns-66bff467f8-n7q8f 发现报错的日志如下图: 我的是因为之前部署的时候选择了calico网络插件,这次启动选的是flannel,导致node节点上

    2024年02月16日
    浏览(28)
  • k8s 系列之 CoreDNS 解读

    kuberntes 中的 pod 基于 service 域名解析后,再负载均衡分发到 service 后端的各个 pod 服务中,如果没有 DNS 解析,则无法查到各个服务对应的 service 服务 基于环境变量的方式 基于内部域名的方式 DNS策略,在Pod,Deployment RC等资源设置 dnsPolicy None 用于想要自定义 DNS 配置的场景,

    2024年02月06日
    浏览(33)
  • k8s coredns 添加静态解析

    修改 coredns configmap,添加 hosts { 120.241.21.12 api.mch.weixin.qq.com 36.155.207.147 yun.tim.qq.com fallthrough }

    2024年02月09日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包