首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在运行Pod中自动更新/etc/host文件条目而不进入吊舱

如何在运行Pod中自动更新/etc/host文件条目而不进入吊舱
EN

Stack Overflow用户
提问于 2019-02-22 10:52:35
回答 1查看 3.2K关注 0票数 1

我们如何能够自动更新(删除,创建,更改) /etc/hosts文件中运行的pod,而不实际进入豆荚?

我们致力于SAP应用服务器的容器化,到目前为止使用Kubernetes成功地实现了这一点。

代码语言:javascript
复制
apiVersion: v1
kind: Pod
spec:
  hostNetwork: true

由于我们使用的是主机网络方法,所以每当创建新的pod时,都会复制VM /etc/hosts文件的所有条目。

但是,一旦创建了pod并处于运行状态,对VM /etc/hosts文件的任何更改都不会转移到已经运行的pod中。

我们希望根据我们的项目需求实现这一目标。

EN

回答 1

Stack Overflow用户

发布于 2019-02-22 11:26:43

Kubernetes确实有几种影响名称解析的不同方法,您的请求与这里和相关页面非常相似。

这是一个摘录,重点是我的。

当DNS和其他选项不适用时,将条目添加到Pod的/etc/host文件中,将为主机名解析提供Pod级覆盖。在1.7中,用户可以使用HostAliases字段在PodSpec中添加这些自定义条目。 不建议使用修改HostAliases,因为该文件由Kubelet管理,可以在Pod创建/重新启动期间覆盖。

使用HostAliases的Pod规范示例如下:

代码语言:javascript
复制
apiVersion: v1
kind: Pod
metadata:
  name: hostaliases-pod
spec:
  restartPolicy: Never
  hostAliases:
  - ip: "127.0.0.1"
    hostnames:
    - "foo.local"
    - "bar.local"
  - ip: "10.1.2.3"
    hostnames:
    - "foo.remote"
    - "bar.remote"
  containers:
  - name: cat-hosts
    image: busybox
    command:
    - cat
    args:
    - "/etc/hosts"

这里的一个问题是,如果网络IP发生变化,您将需要使用一组新的HostAliases更新和重新启动Pods。这可能会导致您的系统停机。

你确定你需要这个机制而不是指向外部端点的服务。吗?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54825508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档