Модули k3s не развернуты на правильном узле

У меня есть кластер k3s с несколькими узлами, скажем 3 узлами. На каждом узле мне нужно развернуть несколько модулей. Это «статическое развертывание», означающее, что я хочу развернуть каждый модуль на определенном узле. Я не хочу, чтобы k3s делал это автоматически.

Например:

      Node_1:
    pod_a
    pod_b
    pod_c
Node_2:
    pod_d
    pod_e
    pod_f
Node_3:
    pod_h
    pod_i
    pod_g

Для этого я использую метки. Я помечаю каждый узел определенными метками, а затем указываю метку в файле развертывания:

Например, что-то вроде этого:

      apiVersion: v1
kind: Node
metadata:
  name: node3
  labels:
    db: 'true'

Иyamlфайлы развертывания, например для базы данных:

      apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: db
  namespace: default
spec:
    spec:
      nodeSelector:
        db: 'true'

Итак, обычно модульdbдолжен быть развернут наNode3. Но иногда это не так. Когда я выполняю перераспределение, модуль перераспределяется на другой узел, и я не понимаю, почему и как переместить его обратно на правильный узел.

Это довольно раздражает, потому что для некоторых критических модулей у меня есть данные, смонтированные на хосте, и если модуль развернут неправильно, мое приложение может выйти из строя.

Как убедиться, что мой модуль всегда развертывается правильно? И почему иногда его не удается правильно развернуть? Спасибо

0 ответов

Другие вопросы по тегам