# Використання CoreDNS для виявлення Service

LLMS index: [llms.txt](/llms.txt)

---

<!-- overview -->

Ця сторінка описує процес оновлення CoreDNS та як встановити CoreDNS замість kube-dns.

## Перш ніж ви розпочнете

<p>Вам треба мати кластер Kubernetes, а також інструмент командного рядка kubectl має бути налаштований для роботи з вашим кластером. Рекомендується виконувати ці настанови у кластері, що має щонайменше два вузли, які не виконують роль вузлів управління. Якщо у вас немає кластера, ви можете створити його, за допомогою <a href="https://minikube.sigs.k8s.io/docs/tutorials/multi_node/">minikube</a> або використовувати одну з цих пісочниць:</p>
<ul>
<li><a href="https://labs.iximiuz.com/playgrounds?category=kubernetes&filter=all">iximiuz Labs</a></li>
<li><a href="https://killercoda.com/playgrounds/scenario/kubernetes">Killercoda</a></li>
<li><a href="https://kodekloud.com/public-playgrounds">KodeKloud</a></li>
</ul>
 
 
 Версія вашого Kubernetes сервера має бути не старішою ніж v1.9.
  <p>Для перевірки версії введіть  <code>kubectl version</code>.</p>


<!-- steps -->

## Про CoreDNS {#about-coredns}

[CoreDNS](https://coredns.io) — це гнучкий, розширюваний DNS-сервер, який може обслуговувати DNS кластера Kubernetes. Як і Kubernetes, проєкт CoreDNS є проєктом <a class='glossary-tooltip' title='Cloud Native Computing Foundation' data-bs-toggle='tooltip' data-bs-placement='top' href='https://cncf.io/' target='_blank' aria-label='CNCF'>CNCF</a>.

Ви можете використовувати CoreDNS замість kube-dns у своєму кластері, замінивши kube-dns у наявному розгортанні, або використовуючи інструменти, такі як kubeadm, які встановлюють і оновлюють кластер за вас.

## Встановлення CoreDNS {#installing-coredns}

Для ручного розгортання або заміни kube-dns, дивіться документацію на [вебсайті CoreDNS](https://coredns.io/manual/installation/).

## Міграція на CoreDNS {#migrating-to-coredns}

### Оновлення наявного кластера за допомогою kubeadm {#upgrading-an-existing-cluster-with-kubeadm}

У версії Kubernetes 1.21, kubeadm припинив підтримку `kube-dns` як застосунку DNS. Для `kubeadm` v1.36, єдиний підтримуваний DNS застосунок кластера —
це CoreDNS.

Ви можете перейти на CoreDNS, використовуючи `kubeadm` для оновлення кластера, який використовує `kube-dns`. У цьому випадку, `kubeadm` генерує конфігурацію CoreDNS ("Corefile") на основі ConfigMap `kube-dns`, зберігаючи конфігурації для stub доменів та сервера імен вище в ієрархії.

## Оновлення CoreDNS {#upgrading-coredns}

Ви можете перевірити версію CoreDNS, яку kubeadm встановлює для кожної версії Kubernetes на сторінці [Версія CoreDNS у Kubernetes](https://github.com/coredns/deployment/blob/master/kubernetes/CoreDNS-k8s_version.md).

CoreDNS можна оновити вручну, якщо ви хочете тільки оновити CoreDNS або використовувати власний кастомізований образ. Є корисні [рекомендації та посібник](https://github.com/coredns/deployment/blob/master/kubernetes/Upgrading_CoreDNS.md), доступні для забезпечення плавного оновлення. Переконайтеся, що поточна конфігурація CoreDNS ("Corefile") зберігається при
оновленні вашого кластера.

Якщо ви оновлюєте свій кластер за допомогою інструменту `kubeadm`, `kubeadm` може самостійно зберегти поточну конфігурацію CoreDNS.

## Налаштування CoreDNS {#tuning-coredns}

Коли використання ресурсів є проблемою, може бути корисним налаштувати конфігурацію CoreDNS. Для детальнішої інформації перевірте [документацію зі збільшення масштабу CoreDNS](https://github.com/coredns/deployment/blob/master/kubernetes/Scaling_CoreDNS.md).

## Що далі

Ви можете налаштувати [CoreDNS](https://coredns.io) для підтримки багатьох інших сценаріїв, ніж kube-dns, змінивши конфігурацію CoreDNS ("Corefile"). Для отримання додаткової інформації дивіться [документацію](https://coredns.io/plugins/kubernetes/) для втулка `kubernetes` CoreDNS, або читайте [Власні DNS записи для Kubernetes](https://coredns.io/2017/05/08/custom-dns-entries-for-kubernetes/) в блозі CoreDNS.
