k8s中不同名称空间下的pod无法解析服务名

news2024/7/31 3:49:41

1、背景

公司的项目需要使用容器化部署,为了更好的维护和管理,我将各个项目按照命名空间进行隔离开,但是却发现存在一些问题
不同的系统间需要项目调用,而且是按照服务名进行调用,但是却导致不同名称空间下pod无法解析其他的命令空间下的服务名,需要使用服务名.命名空间才可以解析,如下(存在两个名称空间yshj-ump、和gxjhpt,其中gxjhpt下的pod需要调用yshj-ump下的api服务)
在这里插入图片描述
可以看ump-api无法解析,进入gxjhpt下的pod测试域名解析发现确实无法解析,但是可以使用服务名.命名空间便可以解析
在这里插入图片描述
手动在pod中的/etc/hosts中添加ump-api的域名解析可以解决,但是这个太现实。

2、解决办法

1. 修改k8s的dns为kubedns

  • k8s中负责解析服务名的dns组件有coredns、kubedns等多种,查看命令 kubectl get pod -n kube-system,因此集群上服务互相访问,服务名解析问题首先看服务名是否在同一个命名空间namesapce,服务名是否写正确,其次检查dns组件的版本和工作状态。
  • coredns、kubedns二者有个区别,是在解析ExternalName svc时,即访问外部服务有两种组合:kubedns+externalname与coredns+endpoints,这取决于k8s集群上安装了哪种dns组件。

1)coredns解析不了externalname,而定义好的externalname svc 如何才能在安装coredns的k8s集群上运行?这就需要转换一下

2)如果想改变k8s运行的解析服务名的组件,将kube-system命名空间中的coredns删除 kubectl delete deploy -n kube-system coredns对应的deploy名称,换成kubedns

这种方式担心存在风险不敢操作,故此作罢

2. 修改coredns的configmap,使自动添加域名解析到pod的/etc/hosts

	hosts {
		10.233.49.227 ump-api
		fallthrough
	}

在这里插入图片描述

不知道为什么这里添加了还是没有生效,依然无法解析,不知道是不是添加的参数有问题还是什么原因

3. 使用hostAliases配置Pod /etc/hosts,实现添加域名解析

在这里插入图片描述

  • 和containers属于同一级
      hostAliases:
        - ip: 10.233.49.227
          hostnames:
            - ump-api
            - yshj-ump-api

最终解决,大工搞成,只不过需要每个deploy服务都需要添加有点麻烦

要是可以使用coredns的configmap批量自动生成就好了!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/189401.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mac 快应用开发工具 真机调试 usb调试 提示Error:没有找到Android设备

项目场景: 项目场景:mac使用快应用开发工具连接Android手机 问题描述 显示错误没有找到Android设备 原因分析: adb连接的问题 解决方案: 1.确保手机开启开发者模式 2.确保手机与mac的连接线能传输数据,有的线只能…

python+moviepy音视频处理(一):基本操作

目录 视频处理 视频加载和输出 视频转换gif 视频裁剪 视频音量调节 去掉视频声音 视频中的音频提取与替换 获取视频属性 倍数播放视频 截取视频某帧为封面 多视频拼接 音频处理 替换视频文件的音频 多个音频文件拼接 安装:pip install moviepy 中文官…

【自学Docker】Docker stats命令

Docker stats命令 大纲 docker stats命令教程 docker stats 命令可以用于动态显示 Docker容器 的资源消耗情况,包括:CPU、内存、网络I/O。docker stats命令也可以指定已停止的容器,但是不会返回任何信息。 docker stats命令语法 haicoder…

Windows下载安装Nignx

下载 下载地址:http://nginx.org/en/download.html 下载完成以后,得到nginx压缩包; Nginx启动 方式一:可执行文件启动 双击nginx.exe启动 现在,我们打开任务管理器,如果发现nginx进程存在,说明启动完成; 方式二:命令行启动 进入nginx所在…

【Mysql第三期 基本查询语句结构】

文章目录1. SQL概述1.1 SQL背景知识1.2SQL 分类2. SQL语言的规则与规范2.1 基本规则2.2 SQL大小写规范 (建议遵守)2.3 注 释2.4 命名规则(暂时了解)3.基本的SELECT语句3.1 查询基本结构3.2 列的别名3.3 去除重复行扩展windows cmd…

同步FIFO设计verilog设计及仿真

同步FIFO设计 1.功能定义: 用16*8 RAM实现一个同步先进先出(FIFO)队列设计。由写使能端控制该数据流的写入FIFO,并由读使能控制FIFO中数据的读出。写入和读出的操作由时钟的上升沿触发。当FIFO的数据满和空的时候分别设置相应的高电平加以指示。 2.顶层信号定义: 信号名…

最小生成树问题(Prim算法和Kruskal算法)

问题引入: 这算是一道模板题了,只不过这次在做的时候感觉又学到了些新的东西,之前都是数据结构里学的,因为用惯了C,所以就想摆脱那些邻接数组之类的写法,用STL试一下,在其中把我遇到的一些问题写…

【论文翻译】边缘应用中加速卷积神经网络的剪枝算法综述

摘要 随着卷积神经网络(CNN)模型大小的增加,模型压缩和加速技术对于在边缘设备上部署这些模型变得至关重要。在本文中,我们对修剪进行了全面的调查,这是一种主要的压缩策略,可以从CNN模型中删除非关键或冗…

iOS_Memory Leak 内存泄露治理

1、内存分类 官方文档介绍 app 的内存分三类: Leaked memory:Memory unreferenced by your application that cannot be used again or freed (also detectable by using the Leaks instrument) Abandoned memory:Memory still referenced b…

设计模式 - 结构型模式_桥接模式

文章目录结构型模式概述CaseBad ImplBetter Impl小结结构型模式 结构型模式主要是解决如何将对象和类组装成较大的结构, 并同时保持结构的灵活和⾼效。 结构型模式包括:适配器、桥接、组合、装饰器、外观、享元、代理,这7类 概述 桥接模式的…

2023牛客寒假算法基础集训营4

A-清楚姐姐学信息论 链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 不同进制对于信息的表示效率不同,清楚姐姐最近学习了信息论中使用不同进制表示信息的方法,她现在想要比较两种不同进制表示信息时,谁的…

从软件角度看PCIe设备的硬件结构

从软件角度看PCIe设备的硬件结构 文章目录从软件角度看PCIe设备的硬件结构参考资料:一、 PCIe接口引脚二、 从软件角度理解硬件接口2.1 PCI/PCIe地址空间转换2.2 PCIe上怎么传输地址、数据三、 PCIe系统的硬件框图致谢参考资料: 《PCI Express Technolo…

ElasticSearch概念与架构原理

文章目录一、概述二、ElasticSearch架构原理三、ElasticSearch搜索入门一、概述 ElasticSearch简介 简介 ES是建立在Lucene基础之上的分布式准实时搜索引擎,它所提供的诸多功能中有一大优点,就是实时性好。比如:在业务需求中,新增…

计算机图形学 第7章 自由曲线曲面

先说好,第八章不学。 目录学习目标曲线与曲面的表示形式插值与逼近Bezier曲线定义一次Bezier曲线二次Bezier曲线⭐⭐⭐三次Bezier曲线⭐⭐⭐三次Bezier曲线的Bernstein基函数:Bernstein基函数的性质Bezier曲线的性质de Casteljau算法几何作图法绘制Bezie…

Struts2之拦截器

Struts2之拦截器1、Struts2体系架构1.1、执行流程1.2、核心接口和类1.3、流程简图2、Struts2拦截器2.1、使用拦截器的目的2.2、拦截器的简介2.3、拦截器的工作原理2.4、拦截器的使用2.4.1、创建自定义拦截器2.4.2、struts.xml中定义和配置拦截器2.4.3、Struts2默认拦截器2.4.4、…

Leetcode.2319 判断矩阵是否是一个 X 矩阵

题目链接 Leetcode.2319 判断矩阵是否是一个 X 矩阵 Rating : 1201 题目描述 如果一个正方形矩阵满足下述 全部 条件,则称之为一个 X矩阵 : 矩阵对角线上的所有元素都 不是 0 矩阵中所有其他元素都是 0 给你一个大小为 n x n的二维整数数组 grid&#…

ElasticSearch - 旅游酒店案例es功能实现

目录 案例 搜索与分页功能 条件过滤功能 附近的酒店功能 广告置顶功能 HotelService(es操作)总览 案例 搜索与分页功能 案例需求:实现旅游的酒店搜索功能,完成关键字搜索和分页实现步骤如下:1.定义实体类,接收前端请求实体…

微信小程序用vant自定义tabbar页面并跳转相应页面

0.前置安装 步骤一 安装 vant 组件库 npm i vant/weapp -S --production下载完后要npm构建才能使用 步骤二 修改 app.json 将 app.json 中的 "style": "v2" 去除,小程序的新版基础组件强行加上了许多样式,难以覆盖,不…

分布式定时任务框架选型

目录 1. 前言 2. 定时任务框架 3. 分布式任务调度系统对比 4. 和quartz框架对比 5. 综合对比 6. 总结和结论 7. 附定时任务的其他方案 1. 前言 我们先思考下面几个业务场景的解决方案: 支付系统每天凌晨1点跑批,进行一天清算,每月1号进行上个月清…

【算法】快速排序算法原理及实现

1.什么是快速排序算法 快速排序是对冒泡排序的一种改良版,通过一趟排序,把要排序的序列分割成两个部分,一部分的所有数据要比另一部分的数据都小,然后再根据这两部分的数据来进行快速排序。以此来达到整一个数据都变成了有序序列…