У меня есть такая конфигурация 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
}
Я хотел бы, чтобы все мои модули могли разрешать myapi.local для определенного IP-адреса ( 192.168.49.2 ) Есть ли простой способ добиться этого, например, что я могу сделать с хост-файлом ОС
Ниже конфигурация должна помочь
.: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
Или вы можете попробовать использовать плагин hosts https://coredns.io/plugins/hosts/
Если вы не хотите разрешать запись с помощью метода coredns, существует метод для настройки записей в файлах хоста конкретного модуля, который будет отражать установку /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"
Я сделал это, но у меня есть это предупреждение в журнале coredns, и мой хост не разрешен в кластере. тебе в чем причина? [ВНИМАНИЕ] плагин/хост: файл не существует: custom.hosts