Как указать имя кластера для кластера Kubernetes

Я пытаюсь инициализировать кластер Kubernetes с помощью Kubeadm.

У меня в основном 3 вопроса. 1 большой и 2 дополнительных вопроса, если хотите

Мне трудно присвоить кластеру имя. Когда я читаю kubeadm документы, имеет флаг --config, где вы можете указать файл yml, который будет использоваться для инициализации кластера.

На их странице указан пример файла yml, но в этом файле много конфигураций, которые я не знаю, как установить. Поэтому я создал файл конфигурации, как показано ниже:

apiVersion: kubeadm.k8s.io/v1beta1
kind: InitConfiguration
advertiseAddress: "10.62.194.4" # is this correct (see below)
bindPort: 6443
---
apiVersion: kubeadm.k8s.io/v1beta1
kind: ClusterConfiguration
networking:
    podSubnet: "10.62.194.0/16" # is this correct (see below)
controlPlaneEndpoint: "10.62.194.4:6443" #is this correct (see below)
clusterName: "dev-cluster"

Я инициализирую вот так sudo kubeadm init --config=config.yml

Однако, когда я пытаюсь инициализировать указанный выше файл, он не работает должным образом и через некоторое время отключается.

Ошибка похожа на следующую: К сожалению, произошла ошибка: истекло время ожидания условия Эта ошибка, вероятно, вызвана: - Кубелет не запущен - Кубелет неработоспособен из-за неправильной конфигурации узла каким-либо образом (требуется cgroups отключены)

Когда я делаю docker ps, я вижу, что все контейнеры kube-system работают без закрытых контейнеров. Контейнеры, которые работают, - это kube-scheduler kube-controller-manager_kube-controller kube-apiserver etcd-ubuntu kube-controller-manager-ubuntu-xenial.

Второй вопрос: важны ли названия кластеров? Я хочу установить имя кластера, потому что я планирую настроить 3 кластера для 3 разных сред, что будет означать 3 разных контекста. Если все 3 имеют одно и то же имя кластера по умолчанию, возникнет ли проблема?

Также последняя третья часть этого вопроса, если IP-адрес сервера (это также главный), я запускаю команды, 10.62.194.4 правильны ли поля advertiseAddress, podSubnet и controlPlaneEndpoint? Я планирую добавить еще один узел в этот кластер, и его IP-адрес - 10.62.194.5 Спасибо.


person user538578964    schedule 22.07.2019    source источник
comment
Решили ли приведенные ниже решения вашу проблему?   -  person Malgorzata    schedule 17.03.2021


Ответы (2)


Я считаю, что вы планируете настроить высокодоступную настройку кубернетов. Вы должны настроить / предоставить IP-адрес Loadbalancer в опции controlPlaneEndpoint.

  apiVersion: kubeadm.k8s.io/v1beta1
  kind: ClusterConfiguration
  networking:
      podSubnet: "10.62.194.0/16" 
  controlPlaneEndpoint: "Loadbalancer IP:6443" 
  clusterName: "dev-cluster"

Вы должны добавить параметр --upload-certs в команду инициализации kubeadm, как показано ниже.

  sudo kubeadm init --config=config.yaml --upload-certs

Выходные данные приведенной выше команды предоставляют команду соединения для добавления еще одного главного узла в эту настройку кластера HA kubernetes.

person Subramanian Manickam    schedule 22.07.2019

Я знаю, что это немного поздно, но кажется, что podSubnet перекрывает подсеть, в которой есть ваши узлы. Я бы использовал для этого другую подсеть / 16 и назначил узлы (виртуальные машины или машины без операционной системы) другой подсети.

person Andi M.    schedule 03.06.2020