Как изменить разрешение имени хоста, как файл хоста в 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
}

Я хотел бы, чтобы все мои модули могли разрешать myapi.local для определенного IP-адреса ( 192.168.49.2 ) Есть ли простой способ добиться этого, например, что я могу сделать с хост-файлом ОС

Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
3
0
8 561
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 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, и мой хост не разрешен в кластере. тебе в чем причина? [ВНИМАНИЕ] плагин/хост: файл не существует: custom.hosts

Mahdi.momtaheni 01.05.2023 11:26

Если вы не хотите разрешать запись с помощью метода 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"

https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/

Другие вопросы по теме