Это 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 на панель управления, чтобы войти в систему.
15.5 Другие платформы управления
Суть приборной панели K8s заключается в вызове базового API для обеспечения операций графического интерфейса для удобства пользователей, что удобно и быстро и снижает сложность использования K8s, но не требует дополнительных облачных веб-функций. Существует также множество отличных платформ управления контейнерами, таких как старый ранчо, кубесфера, разработанная китайцами и т. д., с активными сообществами, управлением/мониторингом/сигнализацией/devops службы интеграции продуктов и многими другими функциями, позволяющими пользователям испытать приватную и гладкий опыт контейнера.
разное
Публикуйте свои заметки по адресу:GitHub.com/RedHat Series/Арвин…Добро пожаловать в один клик