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日
    浏览(10)
  • [Kubernetes[K8S]集群:master主节点初始化]:通过Calico和Coredns网络插件方式安装

    [Kubernetes[K8S]集群:master主节点初始化]:通过Calico和Coredns网络插件方式安装

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

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

    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日
    浏览(16)
  • k8s kubelet coredns ubuntu修改dns配置文件读取路径

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

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

    K8S应用流程安全(镜像安全 配置管理 访问安全)

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

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

    微服务系列文章之 Springboot应用在k8s集群中配置的使用

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

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

    k8s自定义Endpoint实现内部pod访问外部应用

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

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

    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日
    浏览(11)
  • 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日
    浏览(8)
  • k8s 系列之 CoreDNS 解读

    k8s 系列之 CoreDNS 解读

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

    2024年02月06日
    浏览(6)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包