Метки узлов

Добавьте метки на узлы, чтобы workloads планировались корректно

Как работают топологические метки

При запуске Kubernetes-кластера в нескольких дата-центрах важно понимать, какие workloads нужно размещать рядом друг с другом, например базу данных и backend-приложение, а какие - распределять по разным площадкам, например несколько реплик frontend, реплики базы данных или реплики томов. Первый шаг к этому - добавить метки на узлы Kubernetes. В публичных облаках обычно используются термины zone и region. В Kubernetes наиболее распространенный способ обозначить географическое расположение - использовать метки topology.kubernetes.io/zone и topology.kubernetes.io/region или только метку zone.

Пример для Talos

В других дистрибутивах Kubernetes метки обычно задаются вручную, но в Talos топологию можно описать как код.

Пример конфигурации talm:

values.yaml:

nodes:
  node1:
    labels:
      topology.kubernetes.io/zone: "us-west-1"
      topology.kubernetes.io/region: "us-west"
  node2:
    labels:
      topology.kubernetes.io/zone: "us-east-1"
      topology.kubernetes.io/region: "us-east"

_helpers.tpl:

{{- $nodeLabels := .Values.nodes | dig (include "talm.discovered.hostname" .) "labels" nil }}
machine:
  {{- with $nodeLabels }}
  nodeLabels:
    {{- toYaml . | nindent 4 }}
  {{- end }}
Last modified 2026-06-29: translate 1.5 (73d3d03)