我们如何能够自动更新(删除,创建,更改) /etc/hosts文件中运行的pod,而不实际进入豆荚?
我们致力于SAP应用服务器的容器化,到目前为止使用Kubernetes成功地实现了这一点。
apiVersion: v1
kind: Pod
spec:
hostNetwork: true由于我们使用的是主机网络方法,所以每当创建新的pod时,都会复制VM /etc/hosts文件的所有条目。
但是,一旦创建了pod并处于运行状态,对VM /etc/hosts文件的任何更改都不会转移到已经运行的pod中。
我们希望根据我们的项目需求实现这一目标。
发布于 2019-02-22 11:26:43
Kubernetes确实有几种影响名称解析的不同方法,您的请求与这里和相关页面非常相似。
这是一个摘录,重点是我的。
当DNS和其他选项不适用时,将条目添加到Pod的/etc/host文件中,将为主机名解析提供Pod级覆盖。在1.7中,用户可以使用HostAliases字段在PodSpec中添加这些自定义条目。 不建议使用修改HostAliases,因为该文件由Kubelet管理,可以在Pod创建/重新启动期间覆盖。
使用HostAliases的Pod规范示例如下:
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。这可能会导致您的系统停机。
你确定你需要这个机制而不是指向外部端点的服务。吗?
https://stackoverflow.com/questions/54825508
复制相似问题