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;包括磨皮、美白、瘦…

EEPROM的最小擦除单元居然不是字节,而是页!

如果EEPROM的最小擦除单位是字节&#xff0c;那为什么还不能跨页写&#xff1f; 实际上&#xff0c;EEPROM的擦除操作通常是按页面进行的&#xff0c;而不是按字节进行的。虽然EEPROM支持按字节进行编程操作&#xff08;1->0&#xff09;&#xff0c;但擦除操作&#xff08…

Unity横板动作游戏 -为什么我又开始学习Unity,而不是Godot。

Readme 最近开始学习Unity制作2D动作游戏&#xff0c;由于一些操作第一次接触&#xff0c;为了加深印象&#xff0c;准备写这样一篇同步教程的笔记。 之前也接触过Unity&#xff0c;用 Unity 制作过一个非常简单的小游戏 Flappy Bird&#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;理论…

“等保测评:企业如何构建全面的信息安全管理体系“

随着信息技术的快速发展&#xff0c;企业面临的信息安全威胁日益严峻&#xff0c;信息安全管理体系的构建成为企业保障数据安全、维护业务连续性的关键。本文将围绕“等保测评&#xff1a;企业如何构建全面的信息安全管理体系”这一主题&#xff0c;从以下几个方面展开讨论&…

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

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

第三方支付平台接口通道有什么优势及弊端?

目前&#xff0c;第三方支付是指支付机构通过互联网向用户提供在线支付服务。主要有两种支付方式&#xff1a;预付卡和信用卡支付。预付卡是指通过银行卡接受支付业务的银行卡。信用卡支付是指通过信用卡&#xff08;包括在线支付&#xff09;使用银行卡、手机通过POS等方式实现…

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;含小区名称、价格、地区、地址、商圈、标签、经纬度、物业类型、交易权属、竣工时间、产权年限、开发商、总户数、总建面积、绿化率、容积率、统一供暖 供水供电、停车位、停车费、物业费、物业公司 车位管理费、在售房源、在租房源 …

供销集团探索元宇宙:传统农业与现代科技的融合之旅

随着元宇宙这一概念的兴起&#xff0c;越来越多的行业开始探索与这一新兴技术的融合可能性。作为一个历史悠久且在农业领域拥有深厚底蕴的供销集团&#xff0c;也正在积极探索如何将元宇宙技术应用于农业领域&#xff0c;以期为传统农业带来新的生机与活力。 ### 一、背景与意…

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

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

mac 如何给默认终端(zsh)装插件,使得更美观易用

要给 Zsh 安装插件并使其更美观和易用&#xff0c;最常用的方法是使用 Oh My Zsh&#xff0c;这是一款开源的 Zsh 配置管理框架&#xff0c;提供了大量的插件和主题。以下是安装 Oh My Zsh 并配置插件和主题的步骤&#xff1a; 安装 Oh My Zsh 安装 Zsh&#xff1a; 确保你已经…