Kubernetes Notes (15) — информационная панель

Kubernetes
Kubernetes Notes (15) — информационная панель

Это 18-й день моего участия в Gengwen Challenge.Подробности о мероприятии:Обновить вызов

пятнадцать приборная панель

Он существует как приложение к кластеру k8s и является одним из официальных проектов kubernetes.Подробнее см.:GitHub.com/Это так особенно/…

15.1 Процесс развертывания

  • Предоставить ssl-сертификат для панели управления
# 生成私钥
(umask 077; openssl genrsa -out dashboard.key 2048)

# 生成一个自签证书,注意 CN 的值必须要与自己的域名完全一致
openssl req -new -x509 -key dashboard.key -out dashboard.crt -subj "/O=dashboard/CN=k8s.dashboard.com"

# 查看证书
openssl x509 -in dashboard.crt -text -noout
  • Скачать файл манифеста приборной панели
wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
  • Создать секретный объект для приборной панели
kubectl -n kube-system create secret generic kubernetes-dashboard-certs --from-file=dashboard.crt=./dashboard.crt --from-file=dashboard.key=./dashboard.key
  • Измените режим работы службы в списке панели мониторинга на nodeport.
sed -i '/targetPort: 8443/a\ \ type: NodePort' kubernetes-dashboard.yaml
  • Закомментируйте определение манифеста сертификата Dashboard Secret в файле манифеста kubernetes-dashboard.yaml.
# ------------------- Dashboard Secret ------------------- #

#apiVersion: v1
#kind: Secret
#metadata:
#  labels:
#    k8s-app: kubernetes-dashboard
#  name: kubernetes-dashboard-certs
#  namespace: kube-system
#type: Opaque

#---
  • Контрольный список панели мониторинга развертывания
kubectl apply -f kubernetes-dashboard.yaml
  • Получить порт, на котором работает служба
kubectl get service -n kube-system
  • Доступ к панели инструментов с помощью Chrome
https://172.16.100.102:31097/

15.2 Вход с токеном

  • Создайте объект serviceaccount для POD, который является учетными данными POD для доступа к apiserver.
kubectl create serviceaccount dashborad-admin -n kube-system
  • Создайте привязку к кластерной роли, чтобы связать пользователя с администратором кластера администратора кластера (самая высокая привилегия).
kubectl create clusterrolebinding dashborad-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashborad-admin
  • Найдите объект serviceaccount, который вы только что создали.
kubectl get secret -n kube-system
  • Получить токен в объекте serviceaccount
kubectl describe secret -n kube-system dashborad-admin

15.3 Иерархическое управление

Теперь нам нужно создать пользователя, который может управлять только пространством имен по умолчанию, затем мы можем использовать привязку ролей для привязки объекта admin clusterrolue, а затем получить права администратора текущего пространства имен.

  • Создать логин сервисного аккаунта
kubectl create serviceaccount def-ns-admin -n default
  • Используйте объект привязки ролей, чтобы связать учетную запись службы def-ns-admin в пространстве имен по умолчанию с ролью кластера администратора.
kubectl create rolebinding def-ns-admin --clusterrole=admin --serviceaccount=default:def-ns-admin
  • Найдите объект serviceaccount, который вы только что создали.
kubectl get secret -n kube-system
  • Получить токен в объекте serviceaccount
kubectl describe secret def-ns-admin

15.4 Аутентификация профиля

В отличие от предыдущего файла конфигурации на основе SSL-сертификата, на этот раз используется файл конфигурации на основе токена.Вместо создания сертификата можно использовать токен существующего объекта serviceaccount.

  • Установите сертификат центра сертификации для подключения к кластеру, --kubeconfig может указать расположение файла конфигурации, используемого kubectl, по умолчанию конфигурация находится в домашнем каталоге пользователя .kube.
kubectl config set-cluster k8s-cluster --server=https://172.16.100.101:6443 --certificate-authority=/etc/kubernetes/pki/ca.crt --embed-certs=true --kubeconfig=/tmp/test.conf 
  • Получить токен объекта serviceaccount с привязанной ролью
kubectl describe secret def-ns-admin
  • Используйте токен для создания пользователя в профиле
kubectl config set-credentials def-ns-admin --token=<TOKEN> --kubeconfig=/tmp/test.conf
  • Создайте объект контекста, чтобы разрешить пользователю kaliarch доступ к кластеру с именем kubernetes.
kubectl config set-context def-ns-admin@k8s-cluster --cluster=k8s-cluster --user=def-ns-admin --kubeconfig=/tmp/test.conf
  • Переключите текущий используемый контекст на контекст, который авторизует kaliarch для kubernetes.
kubectl config use-context def-ns-admin@k8s-cluster --kubeconfig=/tmp/test.conf
  • Скопируйте файл /tmp/test.conf на панель управления, чтобы войти в систему.

image.png

15.5 Другие платформы управления

Суть приборной панели K8s заключается в вызове базового API для обеспечения операций графического интерфейса для удобства пользователей, что удобно и быстро и снижает сложность использования K8s, но не требует дополнительных облачных веб-функций. Существует также множество отличных платформ управления контейнерами, таких как старый ранчо, кубесфера, разработанная китайцами и т. д., с активными сообществами, управлением/мониторингом/сигнализацией/devops службы интеграции продуктов и многими другими функциями, позволяющими пользователям испытать приватную и гладкий опыт контейнера.

разное

Публикуйте свои заметки по адресу:GitHub.com/RedHat Series/Арвин…Добро пожаловать в один клик