Настройка для защиты системных пространств имен Deckhouse#
Создание учетной записи для агента Kubernetes
Создайте ресурс
Secretс токеном для служебной учетной записиdeckhouse:apiVersion: v1 kind: Secret metadata: name: deckhouse-secret namespace: d8-system annotations: kubernetes.io/service-account.name: deckhouse type: kubernetes.io/service-account-token
Выполните следующую команду:
kubectl -n d8-system describe secret deckhouse-secret
Получите и сохраните токен служебной ученой записи
deckhouse:root@k8s-d-node1:/home/myuser# kubectl -n d8-system describe secret deckhouse-secret Name: deckhouse-secret Namespace: d8-system Labels: <none> Annotations: kubernetes.io/service-account.name: deckhouse kubernetes.io/service-account.uid: 1db29c03-13d5-4a9d-a084-00348b739b05 Type: kubernetes.io/service-account-token Data ==== ca.crt: 1107 bytes namespace: 9 bytes token: <...>
Подготовка конфигурационного файла kubeconfig
Загрузите на рабочую машину файл
kubeconfigпо умолчанию.Внесите в файл следующие изменения:
замените имя исходной служебной учетной записи (например,
kubernetes-admin) наdeckhouse;замените сертификат для аутентификации пользователя (
client-certificate-data: <...>) на токен (token: <...>), который был подготовлен при создании учетной записи для агента Kubernetes.
Сохраните внесенные изменения.
Пример файла, который должен получиться в итоге:
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: <...>
server: https://10.11.12.13:6443
name: deckhouse
contexts:
- context:
cluster: deckhouse
user: deckhouse
name: deckhouse@deckhouse
current-context: deckhouse@deckhouse
kind: Config
preferences: {}
users:
- name: deckhouse
user:
token: <...>