定制k8s域名解析------CoreDns配置实验

定制k8s域名解析------CoreDns配置实验

1. 需求

在这里插入图片描述
k8s集群内通过CoreDns互相解析service名.
同时pana.cn域为外部dns解析,需要通过指定dns服务器进行解析
再有3个服务器,需要使用A记录进行解析

2. K8s外DNS服务器

查看解析文件

tail -3 /var/named/pana.cn.zone 

解析内容

www     A       192.168.126.77
ftp     A       192.168.126.7
web     A       192.168.126.17

测试

dig www.pana.cn @192.168.126.77

在这里插入图片描述

3. 部署测试容器

3.1 部署测试容器

admin-deploy.yaml

apiVersion: apps/v1
kind: Deployment
metadata:name: admin-deploymentlabels:app: admin
spec:replicas: 1selector:matchLabels:app: admintemplate:metadata:labels:app: adminspec:containers:- name: adminimage: qiuqin/admin_tools:latestimagePullPolicy: IfNotPresent

部署容器

kubectl apply -f admin-deploy.yaml 

在这里插入图片描述

3.2 测试解析

显然现在没有办法解析到集群外dns中的内容

kubectl exec -it admin-deployment-59b4d7746c-cv967 dig www.pana.cn

在这里插入图片描述

4. CoreDns配置

4.1 配置coredns configmap

kubectl edit cm -n kube-system coredns 

在Corefile下追加以下内容

    pana.cn:53 {errorscache 30forward . 192.168.126.77}

在这里插入图片描述
将coredns相关pod删除重建

kubectl get pods -n kube-system
kubectl delete pod coredns-857d9ff4c9-2vwj8 coredns-857d9ff4c9-hwr2n -n kube-system 
kubectl get pods -n kube-system

确认pod已更新
在这里插入图片描述

4.2 测试解析

可以看到现在已经可以解析到k8s集群外dns服务器中的记录了.

kubectl exec -it admin-deployment-59b4d7746c-cv967 dig www.pana.cn
kubectl exec -it admin-deployment-59b4d7746c-cv967 dig ftp.pana.cn

在这里插入图片描述

5. 解析单条记录

5.1 CoreDns configmap配置

测试一条记录test.aa.cc,显然现在是没法解析的

kubectl exec -it admin-deployment-59b4d7746c-cv967 dig test.aa.cc

在这里插入图片描述
一样修改coredns的configmap
加入hosts {} 内容,注意位置要在.:53{}中

apiVersion: v1
data:Corefile: |pana.cn:53 {errorscache 30forward . 192.168.126.77}.:53 {errorshealth {lameduck 5s}readykubernetes cluster.local in-addr.arpa ip6.arpa {pods insecurefallthrough in-addr.arpa ip6.arpattl 30}hosts {10.195.1.8 test.aa.cc192.168.31.7 aa.bb.tt172.31.125.4 qiu.qin.com}prometheus :9153forward . /etc/resolv.conf {max_concurrent 1000}cache 30loopreloadloadbalance}
kind: ConfigMap
metadata:creationTimestamp: "2024-03-10T12:21:53Z"name: corednsnamespace: kube-systemresourceVersion: "9546954"uid: 1fa9a51c-0c22-4d6d-9d29-00a0d147d8ed

删除pod使得coredns配置生效(生产环境切记要在低峰期执行)

kubectl delete pod -n kube-system coredns-857d9ff4c9-lnsg8 coredns-857d9ff4c9-4bnx5 

5.2 测试hosts

依次解析我们自定义的3个域名,获得了我们自定义的地址返回

kubectl exec -it admin-deployment-59b4d7746c-cv967 dig qiu.qin.com
kubectl exec -it admin-deployment-59b4d7746c-cv967 dig test.aa.cc
kubectl exec -it admin-deployment-59b4d7746c-cv967 dig aa.bb.tt

在这里插入图片描述
解析pana.cn域也是正常的
在这里插入图片描述
至此定制k8s域名解析------CoreDns配置实验完成

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第11章 数据仓库和数据智能知识点梳理

第11章 数据仓库和数据智能知识点梳理(附带页码) ◼ 数据仓库(Data Warehouse,DW):始于 20 世纪 80 年代,发展于 20 世纪 90 年代,后与商务智能(Business Inteligence,BI…

Servlet-Filter实现反爬虫

以前用DotNetCore实现过反爬虫功能。在tomcat里面可以利用Servlet的Filter类实现请求的控制来达到反爬虫功能,进而增强JRT的web安全。 实现黑名单过滤器,对在黑名单列表的IP的所有请求都跳转到警告页面,业务各种请求自行定义加入黑名单 /* …

OpenHarmony实战开发-如何使用ArkUIstack 组件实现多层级轮播图。

介绍 本示例介绍使用ArkUIstack 组件实现多层级轮播图。该场景多用于购物、资讯类应用。 效果图预览 使用说明 1.加载完成后显示轮播图可以左右滑动。 实现思路 1.通过stack和offsetx实现多层级堆叠。 Stack() {LazyForEach(this.swiperDataSource, (item: SwiperData, i…

彩虹聚合登录系统源码开心版 一站式社会化账号登录系统

本文来自:彩虹聚合登录系统源码开心版 一站式社会化账号登录系统 - 源码1688 应用介绍 简介: 彩虹聚合登录系统源码开心版 一站式社会化账号登录系统 彩虹聚合登录是彩虹旗下的社交账号聚合登录系统,为网站提供一站式社交账号登录选项&…

【Redis 神秘大陆】006 灾备方案

六、Redis 灾备方案 6.1 存储方案 6.1.1 基础对比 RDB持久化AOF持久化原理周期性fork子进程生成持久化文件每次写入记录命令日志文件类型二进制dump快照文件文本appendonly日志文件触发条件默认超过300s间隔且有1s内超过1kb数据变更永久性每秒fsync一次文件位置配置文件中指…

强强联手|AI赋能智能工业化,探索AI在工业领域的应用

随着人工智能(AI)技术的不断发展和应用,AI在各个领域展现出了巨大的潜力和价值。在工业领域,AI的应用也越来越受到关注。AI具备了丰富的功能和强大的性能,为工业领域的发展带来了巨大的机遇和挑战。 YesPMP是专业的互联…

【Java NIO】那NIO为什么速度快?

Java IO在工作中其实不常用到,更别提NIO了。但NIO却是高效操作I/O流的必备技能,如顶级开源项目Kafka、Netty、RocketMQ等都采用了NIO技术,NIO也是大多数面试官必考的体系知识。虽然骨头有点难啃,但还是要慢慢消耗知识、学以致用哈…

PDF.js介绍以及使用

这里写目录标题 下载放入项目内加载pdf文件其他问题加载远程文件跨域中文语言 下载 官网地址 下载最新版浏览器版本。 放入项目内 我这是uniapp项目 放入了 static vue 项目可以放入public内 build 是源码库 web 内是写好的一个类似pdf编辑器的完整项目 加载pdf文件 // 组件…

ArcGIS三维景观分层显示

今天将向大家介绍的事在ArcGIS中如何创建多层三维显示。 地表为影像的 地表为地形晕渲的 在土壤分层、油气分层等都有着十分重要的应用。下面我们具体来看看实现过程 一、 准备数据及提取栅格范围 我们这次准备的数据是之前GIS100例-30讲的案例数据。《ArcGIS三维影像图剖面图…

LeetCode 每日一题 Day 123-136

1379. 找出克隆二叉树中的相同节点 给你两棵二叉树,原始树 original 和克隆树 cloned,以及一个位于原始树 original 中的目标节点 target。 其中,克隆树 cloned 是原始树 original 的一个 副本 。 请找出在树 cloned 中,与 tar…

【静态分析】软件分析课程实验-前置准备

课程:南京大学的《软件分析》课程 平台:Tai-e(太阿)实验作业平台 1. 实验概述 Tai-e 是一个分析 Java 程序的静态程序分析框架,相比于已有的知名静态程序分析框架(如 Soot、Wala 等)&#xf…

女上司问我:误删除PG百万条数据,可以闪回吗?

作者:IT邦德 中国DBA联盟(ACDU)成员,10余年DBA工作经验 擅长主流数据Oracle、MySQL、PG、openGauss运维 备份恢复,安装迁移,性能优化、故障应急处理等可提供技术业务: 1.DB故障处理/疑难杂症远程支援 2.Mysql/PG/Oracl…

字体反爬积累知识

目录 一、什么是字体反扒 二、Unicode编码 三、利用font包获取映射关系 一、什么是字体反扒 字体反爬是一种常见的反爬虫技术,它通过将网页中的文本内容转换为特殊的字体格式来防止爬虫程序直接获取和解析文本信息。字体反爬的原理是将常规的字符映射到特殊的字…

服务器数据恢复—xfs文件系统节点、目录项丢失的数据恢复案例

服务器数据恢复环境: EMC某型号存储,该存储内有一组由12块磁盘组建的raid5阵列,划分了两个lun。 服务器故障: 管理员为服务器重装操作系统后,发现服务器的磁盘分区发生改变,原来的sdc3分区丢失。由于该分区…

C++ | Leetcode C++题解之第31题下一个排列

题目&#xff1a; 题解&#xff1a; class Solution { public:void nextPermutation(vector<int>& nums) {int i nums.size() - 2;while (i > 0 && nums[i] > nums[i 1]) {i--;}if (i > 0) {int j nums.size() - 1;while (j > 0 && …

Keepalived+LVS+nginx搭建nginx高可用集群

一、简介 nginx是一款非常优秀的反向代理工具&#xff0c;支持请求分发&#xff0c;负载均衡&#xff0c;以及缓存等等非常实用的功能。在请求处理上&#xff0c;nginx采用的是epoll模型&#xff0c;这是一种基于事件监听的模型&#xff0c;因而其具备非常高效的请求处理效率…

笔试题1 -- 吃掉字符串中相邻的相同字符(点击消除_牛客网)

吃掉字符串中相邻的相同字符 文章目录 吃掉字符串中相邻的相同字符题目重现解法一&#xff1a;(基于 erase() 函数实现)解法二&#xff1a;&#xff08;利用 栈 辅助实现&#xff09;总结 题目链接&#xff1a; 点击消除_牛客网 题目重现 牛牛拿到了一个字符串。 他每次“点击…

msyql中SQL 错误 [1118] [42000]: Row size too large (> 8126)

场景&#xff1a; CREATE TABLE test-qd.eqtree (INSERT INTO test.eqtree (idocid VARCHAR(50) NULL,sfcode VARCHAR(50) NULL,sfname VARCHAR(50) NULL,sfengname VARCHAR(50) NULL,…… ) ENGINEInnoDB DEFAULT CHARSETutf8 COLLATEutf8_general_ci;或 alter table eqtre…

error: failed to push some refs to ‘https://gitee.com/zhao-zhimin12/gk.git‘

git push origin master发现以下报错: 解决办法: 一、强制推送 git push origin master -f &#xff08;加上 -f 就是强制&#xff09; 二、 先拉取最新代码&#xff0c;再推送 1.git pull origin master 2.git push origin master

两步解决 Flutter Your project requires a newer version of the Kotlin Gradle plugin

在开发Flutter项目的时候,遇到这个问题Flutter Your project requires a newer version of the Kotlin Gradle plugin 解决方案分两步: 1、在android/build.gradle里配置最新版本的kotlin 根据提示的kotlin官方网站搜到了Kotlin的最新版本是1.9.23,如下图所示: 同时在Ko…