#kubernetes #kubectl #minikube #coredns
#kubernetes #kubectl #мини-куб #coredns
Вопрос:
У меня есть конфигурация основного файла, подобная этой
.: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)
Есть ли какой-нибудь простой способ добиться этого, например, что я могу сделать с файлом хоста ОС
Ответ №1:
Приведенная ниже конфигурация должна сделать свое дело
.: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 /
Ответ №2:
Если вы не хотите разрешать запись с помощью метода 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"