coreDNS

 1.概述

        coreDNS的作用主要是作为DNS服务器,在集群内提供服务发现功能,也就是服务之间的互相定位的过程。他监听集群中service和pod的创建和销毁事件,当serivice或者pod被创建时,记录对应的解析记录。当其他pod通过域名来访问集群中的service或pod时,会向coreDNS服务查询解析记录,然后访问解析到的IP地址

coreDNS:就是将svc资源的名称解析成ClusterIP

coreDNS效率高、资源占用率少,已经替换kube-dns,成为了kubernetes集群的默认DNS服务

kubeadm部署的k8s集群自带coreDNS组件,二进制部署需要自己手动部署

k8s系统中安装了coreDNS组件后,会有一个coreDNS开头的pod资源

 

 ·查看k8s集群的coreDNS的IP地址

[root@master job]# cat /var/lib/kubelet/config.yaml

[root@master job]# kubectl get svc -A
NAMESPACE     NAME         TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)                  AGE
default       kubernetes   ClusterIP   10.200.0.1    <none>        443/TCP                  91m
kube-system   kube-dns     ClusterIP   10.200.0.10   <none>        53/UDP,53/TCP,9153/TCP   23d

查看k8s集群中DNS的svc的详细信息,可以看到,里面解析了coreDNS的地址在endpoint列表中

[root@master job]# kubectl describe -n kube-system svc kube-dns 
Name:              kube-dns
Namespace:         kube-system
Labels:            k8s-app=kube-dnskubernetes.io/cluster-service=truekubernetes.io/name=CoreDNS
Annotations:       prometheus.io/port: 9153prometheus.io/scrape: true
Selector:          k8s-app=kube-dns
Type:              ClusterIP
IP Family Policy:  SingleStack
IP Families:       IPv4
IP:                10.200.0.10
IPs:               10.200.0.10
Port:              dns  53/UDP
TargetPort:        53/UDP
Endpoints:         10.100.0.2:53,10.100.0.3:53
Port:              dns-tcp  53/TCP
TargetPort:        53/TCP
Endpoints:         10.100.0.2:53,10.100.0.3:53
Port:              metrics  9153/TCP
TargetPort:        9153/TCP
Endpoints:         10.100.0.2:9153,10.100.0.3:9153
Session Affinity:  None
Events:            <none>

2.coreDNS组件是否正常

·第一种方式验证

1.利用之前的wordpress案例

[root@master job]# cat deploy.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:name: dm-wordpress
spec:replicas: 1selector:matchLabels:k8s: k8stemplate:metadata:labels:k8s: k8sspec:containers:- name: wp-cimage: wordpress:latestports:- name: wp-portcontainerPort: 80env:- name: WORDPRESS_DB_HOSTvalue: 10.200.200.200:3306- name: WORDPRESS_DB_USERvalue: wordpress- name: WORDPRESS_DB_PASSWORDvalue: wordpress- name: WORDPRESS_DB_NAMEvalue: wordpress
[root@master job]# cat db.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: wordpress-db
spec:replicas: 1selector:matchLabels:k8s: dbtemplate:metadata:labels:k8s: dbspec:containers:- name: db-cimage: mysql:8.0ports:- name: db-portcontainerPort: 3306env:- name: MYSQL_DATABASEvalue: wordpress- name: MYSQL_USERvalue: wordpress- name: MYSQL_PASSWORDvalue: wordpress- name: MYSQL_ROOT_PASSWORDvalue: wordpress
[root@master job]# cat svc.yaml 
apiVersion: v1
kind: Service
metadata:name: svc-db
spec:type: NodePortclusterIP: 10.200.200.200selector:k8s: dbports:- protocol: TCPport: 3306targetPort: 3306nodePort: 30001
---
apiVersion: v1
kind: Service
metadata:name: svc-wp
spec:type: NodePortselector:k8s: k8sports:- protocol: TCPport: 80targetPort: 80nodePort: 31000

 2.创建查看资源

[root@master job]# kubectl apply -f deploy.yaml 
deployment.apps/dm-wordpress created
[root@master job]# kubectl apply -f db.yaml 
deployment.apps/wordpress-db created
[root@master job]# kubectl apply -f svc.yaml 
service/svc-db created
service/svc-wp created
[root@master job]# kubectl get svc
NAME         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
kubernetes   ClusterIP   10.200.0.1       <none>        443/TCP          101m
svc-db       NodePort    10.200.200.200   <none>        3306:30001/TCP   11s
svc-wp       NodePort    10.200.34.64     <none>        80:31000/TCP     11s

3.响应式创建一个pod容器 

[root@master ~]#  kubectl run demo-dns --rm -it --image=alpine:latest -- sh
If you don't see a command prompt, try pressing enter.
/ # ping svc-wp
PING svc-wp (10.200.34.64): 56 data bytes

·第二种方式验证

1.dig一个svc名称

[root@master ~]# dig @10.200.0.10 svc-wp.default.svc.test.com +short
10.200.34.64

3.使用coreDNS

·将wordpress指向数据库svc的IP换成名称

[root@master job]# cat deploy.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:name: dm-wordpress
spec:replicas: 1selector:matchLabels:k8s: k8stemplate:metadata:labels:k8s: k8sspec:containers:- name: wp-cimage: wordpress:latestports:- name: wp-portcontainerPort: 80env:- name: WORDPRESS_DB_HOST#value: 10.200.200.200:3306#将IP改成svc的名字value: svc-db:3306- name: WORDPRESS_DB_USERvalue: wordpress- name: WORDPRESS_DB_PASSWORDvalue: wordpress- name: WORDPRESS_DB_NAMEvalue: wordpress

·浏览器访问验证

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

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

相关文章

css实现线条中间高亮,左右两边模糊(linear-gradient的运用)

效果&#xff1a; <div class"line"></div> .line {height: 1px;background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #a9c2ff 50%, rgba(255, 255, 255, 0) 100%);border-radius: 4px 4px 4px 4px; } CSS实现边框底部渐变色的方法:(最简单…

如何开发属于自己直播平台的主播美颜SDK?

本篇文章&#xff0c;笔者将从需求分析、技术选型、开发流程等方面进行详细讲解。 一、需求分析 在开发美颜SDK之前&#xff0c;首先需要进行详细的需求分析。主要包括以下几个方面&#xff1a; 1.美颜功能的具体需求&#xff1a;确定美颜效果&#xff0c;包括磨皮、美白、瘦…

Go语言实战:基于Go1.19的站点模板爬虫技术解析与应用

一、引言 1.1 爬虫技术的背景与意义 在互联网高速发展的时代&#xff0c;数据已经成为新的石油&#xff0c;而爬虫技术则是获取这种“石油”的重要工具。爬虫&#xff0c;又称网络蜘蛛、网络机器人&#xff0c;是一种自动化获取网络上信息的程序。它广泛应用于搜索引擎、数据分…

docker安装与container基本使用

安装 Homebrew 的 Cask 已经支持 Docker for Mac, mac用户狂喜 brew install --cask --appdir/Applications docker其他入门用法可参考 Docker Hello World- 菜鸟教程 或网上自行搜索博客学习。本文主要记录我运行go-zero-mall用到的一些注意点。当然&#xff0c;gonivinck项…

【深度学习】语音,Mel频谱图的前世今生

Mel频谱图的前世今生 背景与基本概念 Mel频谱图是音频信号处理中的一种表示形式&#xff0c;用于将音频信号转换为二维图像&#xff0c;这种表示形式在语音识别、语音合成和音频分类等领域中广泛应用。要理解Mel频谱图&#xff0c;首先需要了解以下几个基本概念&#xff1a; …

隆尧县“隆品佳尧”区域公用品牌发布推介会暨地标之都七月选品会成功举办

在国家乡村振兴战略与农业现代化建设的大背景下&#xff0c;隆尧县凭借其得天独厚的地理优势和丰富的自然资源&#xff0c;正在成为区域经济与品牌建设的一颗新星。为了进一步推动隆尧县的农业发展和乡村建设&#xff0c;由隆尧县商务局指导、隆尧县电子商务公共服务中心主办的…

在线医疗系统2024()

下载在最后 技术栈: ssmmysqljsp 展示: 下载地址: CSDN现在上传有问题,有兴趣的朋友先收藏.正常了贴上下载地址 备注:

计算机基础(day1)

1.什么是内存泄漏&#xff1f;什么是内存溢出&#xff1f;二者有什么区别&#xff1f; 2.了解的操作系统有哪些&#xff1f; Windows&#xff0c;Unix&#xff0c;Linux&#xff0c;Mac 3. 什么是局域网&#xff0c;广域网&#xff1f; 4.10M 兆宽带是什么意思&#xff1f;理论…

2024年阿里最新软件测试面试题:Web 测试+接口测试+App 测试

又到了一年一度的金九银十&#xff0c;互联网行业竞争是一年比一年严峻&#xff0c;作为软件测试工程师的我们唯有不停的学习&#xff0c;不断提升自己才能保证自己的核心竞争力从而拿到更好的薪水&#xff0c;进入心仪的企业&#xff08;阿里&#xff0c;字节跳动&#xff0c;…

C#/WinFrom TCP通信+ 网线插拔检测+客服端异常掉线检测

Winfor Tcp通信(服务端) 今天给大家讲一下C# 关于Tcp 通信部分&#xff0c;这一块的教程网上一大堆&#xff0c;不过关于掉网&#xff0c;异常断开连接的这部分到是到是没有多少说明&#xff0c;有方法 不过基本上最多的两种方式&#xff08;1.设置一个超时时间&#xff0c;2.…

SpringDataJPA(一):ORM思想和hibernate以及JPA的概述和基本操作

传统jdbc引出的问题&#xff1a; 主要目的&#xff1a;操作实体类就相当于操作数据库表 建立两个映射关系&#xff1a; 实体类和表的映射关系实体类中属性和表中字段的映射关系不再重点关注&#xff1a;sql语句 一、ORM概述 ORM&#xff08;Object-Relational Mapping&#…

YOLO v8目标检测(三)模型训练与正负样本匹配

YOLO v8目标检测 损失函数理论 在YOLO v5模型中&#xff0c;cls, reg, obj代表的是三个不同的预测组成部分&#xff0c;对应的损失函数如下&#xff1a; cls: 这代表类别预测&#xff08;classification&#xff09;。对应的损失是类别预测损失&#xff08;loss_cls&#xff…

简单快速收集_安居客二手房小区数据

安居客二手房小区全国实时数据&#xff0c;含小区名称、价格、地区、地址、商圈、标签、经纬度、物业类型、交易权属、竣工时间、产权年限、开发商、总户数、总建面积、绿化率、容积率、统一供暖 供水供电、停车位、停车费、物业费、物业公司 车位管理费、在售房源、在租房源 …

B端:导航条就框架提供的默认样式吗?非也,看过来。

导航条不一定必须使用框架提供的默认样式&#xff0c;你可以根据项目需求和设计风格进行自定义。通过使用框架提供的自定义选项、CSS样式覆盖、自行设计或者使用其他UI库或组件&#xff0c;你可以实现独特且符合需求的导航条样式。 下面发一些参考给友友们&#xff0c;可以让设…

论文解读:DiAD之SG网络

目录 一、SG网络功能介绍二、SG网络代码实现 一、SG网络功能介绍 DiAD论文最主要的创新点就是使用SG网络解决多类别异常检测中的语义信息丢失问题&#xff0c;那么它是怎么实现的保留原始图像语义信息的同时重建异常区域&#xff1f; 与稳定扩散去噪网络的连接&#xff1a; S…

昇思25天学习打卡营第3天|基础知识-数据集Dataset

目录 环境 环境 导包 数据集加载 数据集迭代 数据集常用操作 shuffle map batch 自定义数据集 可随机访问数据集 可迭代数据集 生成器 MindSpore提供基于Pipeline的数据引擎&#xff0c;通过数据集&#xff08;Dataset&#xff09;和数据变换&#xff08;Transfor…

skynet 入门篇

文章目录 概述1.实现了actor模型2.实现了服务器的基础组件 环境准备centosubuntumac编译安装 ActorActor模型定义组成 Actor调度工作线程流程工作线程权重工作线程执行规则 小结 概述 skynet 是一个轻量级服务器框架&#xff0c;而不仅仅用于游戏&#xff1b; 轻量级有以下几…

C语言百分号打印器

目录 开头程序程序的流程图程序输入与输出的效果例1输入输出 例2输入输出 例3输入输出 结尾 开头 大家好&#xff0c;我叫这是我58。今天&#xff0c;我们来看一下我用C语言编译的百分号打印器和与之相关的一些东西。 程序 #define _CRT_SECURE_NO_WARNINGS 1 #include <…

【RabbitMQ】MQ相关概念

一、MQ的基本概念 定义&#xff1a;MQ全称为Message Queue&#xff0c;是一种提供消息队列服务的中间件&#xff0c;也称为消息中间件。它允许应用程序通过读写队列中的消息来进行通信&#xff0c;而无需建立直接的连接。作用&#xff1a;主要用于分布式系统之间的通信&#x…

CANoe在使用时碰到的一些很少见的Bug

CANoe作为一款成熟且稳定的总线仿真与测试工具&#xff0c;深受汽车工程师们的喜爱。CANoe虽然稳定&#xff0c;但作为一个软件来说&#xff0c;在使用中总会出现一些或大或小的Bug。最近全球范围内的大规模蓝屏事件&#xff0c;是由某个安全软件引起的。而很多CANoe使用者最近…