如何更改主机名解析像 coredns 中的主机文件
How to change host name resolve like host file in coredns
我有这样的 CoreFile 配置
.:53 {
errors
health {
lameduck 5s
}
ready
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods insecure
fallthrough in-addr.arpa ip6.arpa
ttl 30
}
prometheus :9153
forward . /etc/resolv.conf {
max_concurrent 1000
}
cache 30
loop
reload
loadbalance
}
我希望我所有的 pods 能够将 myapi.local 解析为特定 IP ( 192.168.49.2 )
有什么简单的方法可以实现这一点,就像我可以用 OS 的主机文件
做的那样
下面的配置应该可以解决问题
.:53 {
errors
health
ready
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods insecure
fallthrough in-addr.arpa ip6.arpa
}
prometheus :9153
hosts custom.hosts myapi.local {
192.168.49.2 myapi.local
fallthrough
}
forward . 8.8.8.8 8.8.4.4
cache 30
loop
reload
loadbalance
}
引用https://medium.com/@hjrocha/add-a-custom-host-to-kubernetes-a06472cedccb
或者您可以尝试使用主机插件https://coredns.io/plugins/hosts/
如果您不想使用 coredns 解析条目,则有一种方法可以在特定 pod 的主机文件中设置条目,该文件会镜像在节点上设置 /etc/hosts:
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"
我有这样的 CoreFile 配置
.:53 {
errors
health {
lameduck 5s
}
ready
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods insecure
fallthrough in-addr.arpa ip6.arpa
ttl 30
}
prometheus :9153
forward . /etc/resolv.conf {
max_concurrent 1000
}
cache 30
loop
reload
loadbalance
}
我希望我所有的 pods 能够将 myapi.local 解析为特定 IP ( 192.168.49.2 ) 有什么简单的方法可以实现这一点,就像我可以用 OS 的主机文件
做的那样下面的配置应该可以解决问题
.:53 {
errors
health
ready
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods insecure
fallthrough in-addr.arpa ip6.arpa
}
prometheus :9153
hosts custom.hosts myapi.local {
192.168.49.2 myapi.local
fallthrough
}
forward . 8.8.8.8 8.8.4.4
cache 30
loop
reload
loadbalance
}
引用https://medium.com/@hjrocha/add-a-custom-host-to-kubernetes-a06472cedccb
或者您可以尝试使用主机插件https://coredns.io/plugins/hosts/
如果您不想使用 coredns 解析条目,则有一种方法可以在特定 pod 的主机文件中设置条目,该文件会镜像在节点上设置 /etc/hosts:
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"