惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
D
Docker
IT之家
IT之家
博客园_首页
罗磊的独立博客
V
V2EX
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
美团技术团队
Y
Y Combinator Blog
博客园 - 聂微东
量子位
阮一峰的网络日志
阮一峰的网络日志
GbyAI
GbyAI
Microsoft Security Blog
Microsoft Security Blog
博客园 - Franky
Martin Fowler
Martin Fowler
Jina AI
Jina AI
大猫的无限游戏
大猫的无限游戏
C
Check Point Blog
月光博客
月光博客
G
Google Developers Blog
B
Blog
T
The Blog of Author Tim Ferriss
爱范儿
爱范儿

i4T

OpenClaw在Macmini下网络HTTPS_Proxy代理配置 | i4T 容器化部署OpenClaw授权View权限对Kubernetes集群进行巡检故障排查 | i4T 初试VictoriaLogs集群采集Kubernetes Pod日志 | i4T Kubernetes 部署Elasticsearch为WordPress提供文章搜索 | i4T Kubernetes使用Prometheus监控爱快路由器iKuai_Exporter | i4T RustDesk API集成Authentik ODIC单点登录 | i4T Kubernetes 部署RustDesk API实现专业版功能及管理Web UI | i4T 使用Kubernetes 快速部署RustDesk替换向日葵toDesk进行远程连接 | i4T Authentik 集成群晖Synology DSM 实现单点登录 | i4T Authentik 集成Kubernetes Grafana 实现SSO单点登录 | i4T Authentik 集成接入VMware vCenter 8.0.3实现ldP身份提供商登录 | i4T Kubernetes v1.29.9部署Authentik 统一认证平台并接入Harbor | i4T 二进制Kafka_2.13-3.9.0集群开启并配置ACL用户授权 | i4T R730 ESXI 8.0平台PCI直通2080Ti 实现Windows远程游戏以及AI模型 | i4T Dell R730虚拟化ESXI8.0.3平台使用丽台Tesla V100配置vGPU | i4T Nginx 使用resolver变量实现动态DNS解析配置 | i4T Kubernetes LoadBalancer负载均衡外部访问方案MetalLB | i4T Kubernetes 1.29.0 部署配置Ingress-nginx-controller | i4T Ubuntu环境下Docker Compose配置Harbor开机自启 | i4T Dell PowerEdge R730更新iDRAC8版本 | i4T Kubernetes部署RedisShake实现Redis哨兵异地灾备 | i4T Kubernetes部署开源Excalidraw实现在线绘图 | i4T Kubernetes部署DNSmgr聚合公网DNS多平台域名解析系统及SSL自续签 | i4T Kubernetes Grafana数据从Sqlite3迁移到MySQL | i4T 宝塔内网Nginx获取公网宝塔Nginx用户真实IP | i4T 基于Kubernetes Categraf SNMP插件采集Dell R730服务器硬件并使用Grafana监控 | i4T Kubernetes v1.29.9安装Grafana 12并开启匿名访问 | i4T Containerd 配置免费镜像加速源 | i4T Docker集成Containerd实现容器管理 | i4T
Kubernetes使用HostAliases手动为容器Pod添加hosts解析 | i4T
https://i4t.com/users/auuAwtzuk · 2025-08-07 · via i4T

很多场景下,不希望修改宿主机/etc/hosts或者DNS解析,此时就需要考虑为Pod设置单独的DNS解析,当然使用静态修改Host也有问题,就是无法动态解析,如果更换域名后就需要修改配置文件重建Pod。添加前请根据实际业务场景配置,考虑是否适合/etc/hosts的方式

hostAliases 是 Kubernetes 中的一项功能,用于在 Pod 中的 /etc/hosts 文件中添加自定义主机名与 IP 地址的映射。这个功能允许开发者为每个 Pod 手动定义主机名解析,而无需依赖外部 DNS 服务。

缺点

  • hostAliases 仅对 Pod 内部有效,不会影响集群中的其他 Pod。
  • 它只适用于静态的 IP 地址,无法自动处理动态 IP 变化。
  • 无法通过 Kubernetes 的服务发现机制自动更新主机名映射。

配置方法

hostAliases配置也很简单,参考如下

为test.1.com添加1.1.1.1 IP解析

#在spec字段下配置如下参数
  hostAliases:
  - ip: "1.1.1.1"
    hostnames:
    - "test.1.com"

这里我使用官方提供的Pod文件进行演示,Deployment格式相同

apiVersion: v1
kind: Pod
metadata:
  name: hostaliases-pod
spec:
  restartPolicy: Never
  hostAliases:
  - ip: "192.168.21.98"
    hostnames:
    - "i4t.com"
    - "frps.cn"
  - ip: "192.168.21.10"
    hostnames:
    - "nginx.frps.cn"
  containers:
  - name: cat-hosts
    image: busybox:1.28
    command:
    - cat
    args:
    - "/etc/hosts"

创建测试Pod

root@k8s-master-01:/tmp# kubectl apply -f pod.yaml
pod/hostaliases-pod created

查看Pod状态

root@k8s-master-01:/tmp# kubectl get pod |grep host
hostaliases-pod                           0/1     Completed   0               57s

检查Pod文件hosts内容:

此时,Pod中/etc/hosts解析已经生效

root@k8s-master-01:/tmp# kubectl logs hostaliases-pod
# Kubernetes-managed hosts file.
127.0.0.1       localhost
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
fe00::0 ip6-mcastprefix
fe00::1 ip6-allnodes
fe00::2 ip6-allrouters
10.0.0.136      hostaliases-pod

# Entries added by HostAliases.
192.168.21.98   i4t.com frps.cn
192.168.21.10   nginx.frps.cn

个人中心

购物车

优惠劵

今日签到

有新私信 私信列表

搜索

幸运之星正在降临...

点击领取今天的签到奖励!

恭喜!您今天获得了{{mission.data.mission.credit}}积分

  • 限制以下商品使用: 限制以下商品分类使用: 不限制使用:

    所有商品和商品类型均可使用