Рабочие узлы Kubernetes должны иметь точно такое же оборудование и ОС - PullRequest
0 голосов
/ 27 апреля 2020

Когда я использую для создания кластеров Hypervisor (то есть VMWare, Hyper-V и т. Д. c.), ВСЕ оборудование и программное обеспечение должны быть точно такими же. В противном случае я допустил, что рабочая нагрузка может столкнуться с «конфликтом» (т. Е. Виртуальная машина не будет работать из-за различий в оборудовании или ОС), если на одном из узлов произойдет сбой.

Если вы создаете кластеры kubernetes из разного (то есть устаревшего) оборудования, расположенного вокруг серверной комнаты (то есть разных поставщиков [Dell, HPE, et c.], разных типов процессоров [т.е. AMD, Intel, et c.], разные версии B IOS, объем памяти и т. д. c.). У рабочих узлов kubernetes должно быть одно и то же оборудование, чтобы рабочая нагрузка правильно балансировала по кластеру (то есть распределяла рабочую нагрузку по узлам). модули и сервисы) должны были бы быть одинаковыми. Я просто пытаюсь найти общий ответ на вопрос, на который я не нашел хорошего ответа?

Ответы [ 2 ]

2 голосов
/ 27 апреля 2020

Как правило, в Kubernetes можно использовать разнородное оборудование. Если все вы - машины X86, вам не о чем беспокоиться, поскольку ваши docker образы должны работать везде. Например, обычно смешивают различные типы точечных экземпляров в облаке, и это прекрасно работает.

Однако, если вы смешиваете архитектуру (например, arm и x86) или операционные системы (например, windows и linux) обычно имеет смысл добавить метку, указывающую на это. Это типичные метки в Kubernetes 1.15 +:

$ kubectl describe node xxxxx
Name:               xxxxx
Roles:              node
Labels:             beta.kubernetes.io/arch=amd64
                    beta.kubernetes.io/instance-type=dell_xyz
                    beta.kubernetes.io/os=linux
[...]

Затем эти метки можно использовать в селекторе узлов в модуле:

apiVersion: v1
kind: Pod
metadata:
  name: x86-pod
spec:
  containers:
    - name: x86-test
      image: "yourrepo.io/test_repo"
  nodeSelector:
    beta.kubernetes.io/arch: amd64
1 голос
/ 27 апреля 2020

Рабочие узлы Kubernetes могут быть неоднородными как с аппаратной, так и с программной точки зрения. Только связанные с kubernetes сервисы (kubelet, контейнер выполнения, CNI) должны быть совместимы с версией плоскости управления.

Вы даже можете запустить смесь узлов windows и linux .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...