Назад | Перейти на главную страницу

Адрес для проверки работоспособности сервера API Kubernetes с помощью kubeadm

Я пытаюсь запустить кластер kubernetes на машине с двумя IP-адресами с kubeadm v1.13.1. Я бы хотел, чтобы процесс kube-apiserver был привязан к одному из них специально. Мне удалось сделать это со следующей конфигурацией, переданной в kubeadm init, но часть проверки работоспособности манифеста apiserver использует другой IP-адрес (маршрут по умолчанию). Это приводит к тому, что kubelet разрушает контейнер kube-apiserver из-за неудачных проверок работоспособности.

kind: InitConfiguration
apiVersion: kubeadm.k8s.io/v1beta1
localApiEndpoint:
  advertiseAddress: 192.168.10.10
---
apiVersion: kubeadm.k8s.io/v1beta1
kind: ClusterConfiguration
apiServer:
  certSANs:
  - 192.168.10.10
  extraArgs:
    advertise-address: 192.168.10.10
    bind-address: 192.168.10.10
controlPlaneEndpoint: 192.168.10.10:6443

Похоже, что localApiEndpoint вообще не используется, так как я могу добавить какой-либо мусор в поля AdvertiseAddress, не вызывая ошибок или предупреждений. Ошибочное написание localApiEndpoint или AdvertiseAddress вызывает предупреждения, что означает, что я не ошибся в написании.

Как я могу заставить kubeadm правильно генерировать раздел проверки работоспособности манифеста apiserver?

Я неправильно написал localAPIEndpoint как localApiEndpoint. Исправление орфографии устранило проблему.

Что интересно:

  • localApiEndpoint - кажется, молча игнорируется
  • localAPIEndpoint - работает корректно
  • localAPIEndpoints - вызывает предупреждение