当前位置: 首页 > news >正文

宿主机和容器 ping 不通域名解决方法

目录

一、问题描述

二、宿主机解决方法

三、容器解决办法


一、问题描述

        宿主机是Ubuntu,在宿主机上 ping 不通域名:xxxx.cn,但是个人电脑能 ping 通。

        同时宿主机上的启动的k8s容器也无法ping通。

二、宿主机解决方法

        ①编辑文件:/etc/systemd/resolved.conf,取消注释并修改 DNS 行,例如:

[Resolve]
DNS=8.8.8.8

        ②重启 systemd-resolved 服务,并更新 /etc/resolv.conf

sudo systemctl restart systemd-resolved
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

        ③再次ping域名,验证是否生效

三、容器解决办法

        ①在 yaml 文件(如:xxx_deploy.yaml)增加 hostAliases 配置:

apiVersion: apps/v1
kind: Deployment
metadata:name: testlabels:app: test
spec:replicas: 1revisionHistoryLimit: 10strategy:type: RollingUpdaterollingUpdate:maxSurge: 1maxUnavailable: 0selector:matchLabels:app: testtemplate:metadata:labels:app: testspec:hostAliases:- ip: "xx.xx.xx.xx"hostnames:- "xxxx.cn"initContainers:- name: init-xximage: busybox:1.28.3containers:- name: testimagePullPolicy: IfNotPresentimage: xxxxxxxx# .......

        ②重启 pod,进入 pod ping 对应的域名,如果还是 ping 不通,那么需要在宿主机手动添加路由,手动添加路由方法如下:

        1、执行以下命令手动添加路由(重启服务器会失效):

route add -net xx.xx.xx.xx netmask 255.255.0.0 gw xx.xxx.xxx.xxx

        查看路由信息:route -n

        2、编辑 /etc/sysconfig/static-routes 文件(没有该文件时手动新建),添加永久的静态路由

any net xx.xx.xx.xx netmask 255.255.0.0 gw xx.xxx.xxx.xxx

相关文章:

  • 51c大模型~合集120
  • 汽车可变转向比系统的全面认识
  • Linux下载与安装
  • Python内置函数---breakpoint()
  • 基于deepseek的模型微调
  • 校园外卖服务系统的设计与实现(代码+数据库+LW)
  • 智能客服开发实战:用ONE-API构建多模态对话系统
  • 第1节:Backtrader到底是个啥?能干嘛?
  • c语言指针3
  • 免费且开源的企业级监控解决方案:Zabbix
  • JEnv-for-Windows​管理JDK版本
  • 如何提升个人解决问题的能力?
  • 【论文精读】Reformer:高效Transformer如何突破长序列处理瓶颈?
  • 本地服务器 Odoo 安装指南,并实现公网访问
  • STM32提高篇: 蓝牙通讯
  • 服务器上部署Nginx的几种方式
  • 位运算知识
  • 第九篇:系统分析师第三遍——5、6章
  • 相机中各个坐标系的转换关系如像素坐标系到世界坐标系以及相机标定的目的
  • Java Arrays工具类解析(Java 8-17)
  • 著名哲学家、中山大学哲学系原系主任李锦全逝世
  • 杨靖︱“一笔糊涂账”:博马舍与美国革命
  • 养胃不是顿顿喝粥,这份“胃的使用说明书”请收好
  • 商标乱象调查:“120W”充电器功率仅12W,120W为商标名
  • 上海小朋友喜欢读什么书?来看这份“少年儿童阅读报告”
  • 宝马董事长:继续倡导自由贸易和开放市场,坚信全球性挑战需要多协作而非对立,将引入DeepSeek