> For the complete documentation index, see [llms.txt](https://utm-1.gitbook.io/utm-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://utm-1.gitbook.io/utm-docs/dokumentaciya/utm-it/resheniya/kubernetes/nastroika-klastera/prorabotat.md).

# Проработать

### Ошибка при подключении через Internet

failed to verify certificate: x509: certificate is valid for 10.96.0.1, 192.168.4.1, 192.168.1.100, not 77.51.201.4

#### Возможное решение 1

Тут: [stackoverflow.com](https://stackoverflow.com/questions/77164815/tls-failed-to-verify-certificate-x509-certificate-is-valid-for-10-x-x-x)

<details>

<summary>Проработать</summary>

Решение:

Удалить старый сертификат

```yaml
rm /etc/kubernetes/pki/apiserver.* -f
```

Создать новый сертификат

```yaml
kubeadm init phase certs apiserver --apiserver-cert-extra-sans 10.0.0.x --apiserver-cert-extra-sans 10.233.0.x --apiserver-cert-extra-sans localhost
```

</details>

#### Возможное решение 2

Поиск: [ya.ru/search](https://ya.ru/search/?text=kubeadm+init+phase+certs+apiserver\&lr=10716\&search_source=yaru_desktop_common\&search_domain=yaru)

<details>

<summary>Проработать</summary>

```bash
kubeadm init phase certs apiserver <параметры>
```

**Команда «kubeadm init phase certs apiserver» используется для генерации новых сертификатов сервера API Kubernetes** на основе указанного файла конфигурации. [dev.to](https://dev.to/aws-builders/securing-kubernetes-api-server-adding-a-new-hostname-or-ip-address-to-kubernetes-api-server-1aej)[dbi-services.com](https://www.dbi-services.com/blog/kubernetes-certificates-overview-and-regeneration-example/)Например, с помощью этой команды можно добавить новый IP-адрес или hostname в сертификат сервера API. Для этого нужно выполнить следующие шаги:

1. **Получить файл конфигурации kubeadm из кластера и сохранить его локально**.
2. **Открыть файл в текстовом редакторе и найти раздел certSANs под apiServer**. Если его нет, то нужно создать.
3. **Добавить новый IP-адрес или hostname в раздел certSANs**.
4. **Перейти по SSH к серверу API (контрольной плоскости) и переместить старые сертификаты в другую папку**, чтобы kubeadm мог создать новые.
5. **Использовать kubeadm для генерации новых сертификатов apiserver**. Пример команды: **«kubeadm init phase certs apiserver --insecure-skip-tls-verify --config kubeadm.yaml»**.
6. **Остановить и перезапустить контейнер kubeapiserver** с помощью docker или critools. Kubelet автоматически перезапустит контейнер, который будет использовать новые сертификаты.

Как добавить новое имя хоста или IP-адрес на автономный сервер API Kubernetes: [kloudle.com](https://kloudle.com/academy/how-to-add-new-hostname-ipaddress-to-kubernetes-api-server/)

Перед внесением изменений в сертификат необходимо учесть производственную среду. [dev.to](https://dev.to/aws-builders/securing-kubernetes-api-server-adding-a-new-hostname-or-ip-address-to-kubernetes-api-server-1aej)

фаза инициализации kubeadm: [kubernetes.io](https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-init-phase/)

kubeadm init phase certs apiserver \[flags]: [kubernetes.io](https://kubernetes.io/docs/reference/setup-tools/kubeadm/generated/kubeadm_init/kubeadm_init_phase_certs_apiserver/)

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://utm-1.gitbook.io/utm-docs/dokumentaciya/utm-it/resheniya/kubernetes/nastroika-klastera/prorabotat.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
