1. 查询k8s集群部署pod的基本情况

如下图,我们可知容器coredns和dnsutils都部署成功,但是由于域名解析的问题,导致coredns和dnsutils的容器不断重启(原因heath检查,无法请求成功,被kubelet重启了pod)

命令如下:

root >> kubectl get all --all-namespaces -o wide

root >> kubectl describe pod coredns-57bbd778b9-kxl7b -n kube-system

root >> kubectl logs coredns-57bbd778b9-kxl7b -n kube-system

2. 修改VM的DNS解析文件之前,

如下图:cat /etc/resolv.conf 中192.168.3.1是我VM物理机的网卡设置的DNS名称,这个是一个虚拟的错误的DNS地址,实际上是我路由器的IP。

docker exec -it fda365569efa /bin/bash,表示进入k8s容器dnsutils-ds-55fpd内部。

10.3.0.2,这个是我k8s集群中定义和创建的CoreDNS容器的ClusterIP,如果部署成功的话,内外网的域名或服务访问,都可以通过它做地址解析。

问题:如下图,在容器内部,不能正常解析 外网地址www.baidu.com 和 内部地址cluster.local。这里说明是物理机VM的nameserver配置错误导致的。

3. 修改VM的DNS解析文件之后,

# 修改VM机器上的网卡配置文件eno01,如下图替换为正确的DNS地址。

# 这里我们用谷歌的DNS域名地址8.8.8.8 和 本地K8S集群CoreDNS的CluterIP地址10.3.0.2。

root >> vi /etc/sysconfig/network-scripts/ifcfg-eno01

# 然后记得保存,重启VM机器之后,我们在重新检查CoreDNS解析是否正常,操作如下:

root >> cat /etc/sysconfig/network-scripts/ifcfg-eno01

root >> cat /etc/resolv.conf

root >> ping -c 1 www.baidu.com

root >> ping -c 1 10.3.0.2

root >> ping -c 1 kubernetes

root >> nslookup www.baidu.com

root >> nslookup kubernetes

root >> nslookup kube-dns.kube-system.svc

root >> nslookup kube-dns.kube-system.svc.cluster.local

root >> nslookup cluster.local

#### docker 内部检查dns 解析

root >> docker ps | grep dns

dnsutils root >>

K8S CoreDNS部署失败,问题分析的更多相关文章

  1. K8S CoreDNS部署失败,发现的一个问题

    K8S CoreDNS部署失败,查看错误日志,提示如下 root >> kubectl get all --all-namespaces -o wide root >> kub ...

  2. K8S从入门到放弃系列-(12)Kubernetes集群Coredns部署

    摘要: 集群其他组件全部完成后我们应当部署集群 DNS 使 service 等能够正常解析,1.11版本coredns已经取代kube-dns成为集群默认dns. 1)下载yaml配置清单 [root ...

  3. 10、二进制安装K8s之部署CoreDNS 和Dashboard

    二进制安装K8s之部署CoreDNS 和Dashboard CoreDNS 和Dashboard 的yaml文件在 k8s源代码压缩包里面可以找到对应的配置文件,很多人从网上直接下载使用别人的,会导致 ...

  4. IdentityServer4环境部署失败分析贴(一)

    前言: 在部署Idv4站点和其客户端在外网时,发现了许多问题,折腾了许久,翻看了许多代码,写个MD记录一下. 1.受保护站点提示错误: Unable to obtain configuration f ...

  5. Hexo - 记录一次Pages服务部署失败的原因

    问题与分析 某天忽然发现,一直运行得好好的Pages服务部署失败了,GitHub Pages报错如下: Your site is having problems building: The tag c ...

  6. Kubernetes之在k8s中部署Java应用

    部署好了k8s以后 部署参考https://www.cnblogs.com/minseo/p/12055731.html 怎么在k8s部署应用 项目迁移到k8s平台是怎样的流程 1,制作镜像 2,控制 ...

  7. Kubernetes addons 之 coredns部署

    Kubernetes addons 之 coredns部署 2019.06.04 18:04:35字数 1045阅读 121 DNS 是 Kubernetes 的核心功能之一,通过 kube-dns ...

  8. 在k8s上部署日志系统elfk

    日志系统elfk 前言 经过上周的技术预研,在本周一通过开会研究,根据公司的现有业务流量和技术栈,决定选择的日志系统方案为:elasticsearch(es)+logstash(lo)+filebea ...

  9. 优化:在k8s上部署的gitlab

    gitlab组件图 gitlab在k8s上占用资源 # kubectl top pods -n default | grep git* gitlab-gitaly-0 9m 444Mi gitlab- ...

随机推荐

  1. Navicat Premium 详解

    Navicat是一套数据库管理工具,专为简化数据库的管理及降低系统管理成本而设. Navicat 是以直觉化的图形用户界面而建的,可以安全和简单地创建.组织.访问并共用信息.  Navicat Pre ...

  2. 201871010124--王生涛--《面向对象程序设计(java)》第十二周学习总结

    博文正文开头格式: 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nw ...

  3. Anaconda 下载

    Anaconda官网:https://repo.anaconda.com/archive/清华大学镜像站:https://mirrors.tuna.tsinghua.edu.cn/anaconda/a ...

  4. (translation.E004) You have provided a value for the LANGUAGE_CODE setting that is not in the LANGUAGES setting.

    django3.0开始LANGUAGE_CODE前面必须配相应的LANGUAGES配置如下: from django.utils.translation import gettext_lazy as ...

  5. Apex 小知识:SOQL 在循环中的应用

    两种在循环中引用 SOQL 的方法 第一种方法: List<Account> accounts = [SELECT Id FROM Account WHERE NumberOfEmploy ...

  6. html 单元格合并

    <table border="1" style={{margin:200}}> <tbody> <tr> <th colspan=&quo ...

  7. 生成指定python项目中所有的依赖文件

    一. pipreqs工具 这个工具的好处是可以通过对项目目录的扫描,自动发现使用了那些类库,自动生成依赖清单. 缺点是可能会有些偏差,需要检查并自己调整下. 安装: pip install pipre ...

  8. [LeetCode] 723. Candy Crush 糖果消消乐

    This question is about implementing a basic elimination algorithm for Candy Crush. Given a 2D intege ...

  9. [LeetCode] 99. Recover Binary Search Tree 复原二叉搜索树

    Two elements of a binary search tree (BST) are swapped by mistake. Recover the tree without changing ...

  10. Git的学习总结

    首先,Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.  Git 也是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件. ...