5.2.4.1. Маркировка узлов
Этот раздел посвящён маркировке и ограничению узлов управляющего контура. Здесь описывается, как задать роль control-plane для узла и применить taint, запрещающий планирование рабочих подов на мастер-ноды. Эти действия необходимы для обеспечения изоляции управляющих компонентов (control plane) и соблюдения архитектурной модели кластера.
- init
- join
Маркировка и ограничение узла
● Обязателен к применению
Маркировка и ограничение узла
● Обязателен к применению
Этот раздел описывает конфигурацию кластера, позволяющую заранее задать политику планирования контейнеров и обеспечить изоляцию управляющего контура от незапланированных нагрузок.
- master-1
export HOST_NAME=master-1
Переменные окружения
export CLUSTER_NAME=my-first-cluster
export BASE_DOMAIN=example.com
export FULL_HOST_NAME=${HOST_NAME}.${CLUSTER_NAME}.${BASE_DOMAIN}
- HardWay
- Kubeadm
Маркировка узла
kubectl label node ${FULL_HOST_NAME} node-role.kubernetes.io/control-plane="" \
--kubeconfig=/etc/kubernetes/super-admin.conf
node/master-1.my-first-cluster.example.com labeled
Ограничение узла
kubectl taint node ${FULL_HOST_NAME} node-role.kubernetes.io/control-plane="":NoSchedule \
--overwrite \
--kubeconfig=/etc/kubernetes/super-admin.conf
node/master-1.my-first-cluster.example.com modified
kubeadm init phase mark-control-plane \
--config=/var/run/kubeadm/kubeadm.yaml
[mark-control-plane] Marking the node master-1.my-first-cluster.example.com as control-plane by adding the labels: [node-role.kubernetes.io/control-plane node.kubernetes.io/exclude-from-external-load-balancers]
[mark-control-plane] Marking the node master-1.my-first-cluster.example.com as control-plane by adding the taints [node-role.kubernetes.io/control-plane:NoSchedule]
Маркировка и ограничение узла
● Обязателен к применению
Маркировка и ограничение узла
● Обязателен к применению
Этот раздел описывает конфигурацию кластера, позволяющую заранее задать политику планирова ния контейнеров и защитить управляющий контур от незапланированных нагрузок.
- master-2
- master-3
export HOST_NAME=master-2
export HOST_NAME=master-3
Переменные окружения
export CLUSTER_NAME=my-first-cluster
export BASE_DOMAIN=example.com
export FULL_HOST_NAME=${HOST_NAME}.${CLUSTER_NAME}.${BASE_DOMAIN}
- HardWay
- Kubeadm
Маркировка узла
kubectl label node ${FULL_HOST_NAME} node-role.kubernetes.io/control-plane="" \
--kubeconfig=/etc/kubernetes/super-admin.conf
node/master-<n>.my-first-cluster.example.com labeled
Ограничение узла
kubectl taint node ${FULL_HOST_NAME} node-role.kubernetes.io/control-plane="":NoSchedule \
--overwrite \
--kubeconfig=/etc/kubernetes/super-admin.conf
node/master-<n>.my-first-cluster.example.com modified
kubeadm join phase control-plane-join mark-control-plane \
--config=/var/run/kubeadm/kubeadm.yaml
[mark-control-plane] Marking the node master-<n>.my-first-cluster.example.com as control-plane by adding the labels: [node-role.kubernetes.io/control-plane node.kubernetes.io/exclude-from-external-load-balancers]
[mark-control-plane] Marking the node master-<n>.my-first-cluster.example.com as control-plane by adding the taints [node-role.kubernetes.io/control-plane:NoSchedule]