Kubernets déploiement du tableau de bord (interface visuelle)

Ivre de poussière & world1y 2022-07-24 01:02:38 阅读数:900

kubernetsploiementdutableaubord

Table des matières

Préface

Un.、dashboard Généralités

1.1 dashboard Introduction

1.2  Scénario d'application

2.、dashboard  Déploiement

2.1 Idées de déploiement

2.2  Installationdashboard

2.2.1  Télécharger le fichier

2.2.2  Validation

2.2.3  Connexion

2.3  Requête de permission

2.4  tokenConnexion authentifiée

2.5  Extraction de mot de passe

2.6  Paramètres token Date d'expiration

2.7  Désinstaller

Questions fréquemment posées:


Préface

Je crois que beaucoup de gens sont confrontés à cette situation dans leur travail d'analyse de données , Les rapports de données que le patron a travaillé dur n'étaient pas assez intuitifs. 、Vive., Le client a vu que l'aversion n'était pas assez grande . Essayez d'utiliser Dashboard Pour présenter les données du rapport ,Certains ont peut - être raison.DashboardPas très familier., C'est bon, laisse - moi te présenter. DashboardQuel est le sacré, Quels sont ses avantages en termes de présentation des données? , Pour vous aider à mieux analyser les données .

Un.、dashboard Généralités

1.1 dashboard Introduction

DashboardEst basé sur le WebKubernetesInterface utilisateur.Vous pouvez utiliserDashboardDéploiement de l'application conteneur versKubernetesEn grappes,Vous pouvez également appliquer le dépannage aux conteneurs,Peut également gérer les ressources du cluster.Vous pouvez utiliserDashboard Obtenir un aperçu des applications qui fonctionnent dans un Cluster , Vous pouvez également créer ou modifier KubernetesRessources( Par exemple:Deployment,Job,DaemonSetAttendez un peu!)
DashboardIl montre aussiKubernetes Information sur l'état des ressources et toutes les erreurs signalées dans le cluster

1.2  Scénario d'application

Dashboard Il existe trois grandes catégories de scénarios pour les principales applications , Surveillance, respectivement 、 Analyse et aperçu des scénarios .

1.Scénario de surveillance

Dans le scénario de surveillance ,Dashboard Il fournit principalement aux utilisateurs une surveillance en temps réel pratique des indicateurs clés. , Informer en temps opportun de l'état anormal , Et guider l'utilisateur pour localiser le problème .

2.Analyse des scénarios

Dans le scénario analytique,Dashboard Principalement à travers les graphiques de données , Analyse des données de différentes dimensions avec contrôle .Par exemple, L'utilisateur peut filtrer la plage de données sur le diagramme, etc., par le contrôle du filtre temporel .

3. Aperçu du scénario

Dans une entreprise complexe,Dashboard Également utilisé pour les scénarios de vue d'ensemble , Présentation centralisée de l'information clé sur la décentralisation des activités , L'utilisateur peut également accéder rapidement aux modules pertinents via l'entrée fournie

En général,Dashboard Les trois principaux scénarios d'utilisation sont utilisés ensemble .Par exemple, Les utilisateurs passent généralement d'abord par la vue d'ensemble Dashboard En savoir plus sur l'ensemble de l'entreprise , Observer l'état des données de surveillance , Si une analyse plus approfondie est nécessaire , L'utilisateur peut effectuer une analyse multidimensionnelle des données pour plus d'informations .

Surveillance、 Analyse et aperçu des principaux scénarios , Résumé extrait Dashboard La valeur directe pour les utilisateurs est principalement la suivante: :

  1. Alarme de surveillance, Et guider l'utilisateur pour localiser le problème
  2. Analyse approfondie des données , Pour plus de détails
  3. Accès rapide à l'information sur les priorités générales de l'entreprise ,Gérer les ressources

2.、dashboard  Déploiement

2.1 Idées de déploiement

  1. Adoptionnginx-ingress Pour rendre l'accès au monde extérieur
    Avantages:Mainstream,Sécurité,Gestion facile
    Inconvénients: La configuration est assez compliquée et difficile , Les étudiants inconnus s'évanouissent
  2. AdoptionserviceDeNodePort Pour rendre l'accès au monde extérieur
    Avantages:Facilité de déploiement,Rapide
    Inconvénients:NodePort Trop de ports causent des problèmes difficiles à gérer ,C'est dangereux.

Ici, j'utilise la deuxième NodePortDe la façon dont( L'environnement de production recommande la première méthode ).

2.2  Installationdashboard

2.2.1  Télécharger le fichier

Sélectionner un dossier,Téléchargerrecommended.yamlDans le dossier.

mkdir -p /home/yaml/dashboard && cd /home/yaml/dashboard
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml
#Par défautDashboardAccès interne au cluster seulement,ModifierServicePourNodePortType,Exposition à l'extérieur:
vi recommended.yaml
...
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kubernetes-dashboard
spec:
ports:
- port: 443
targetPort: 8443
nodePort: 30001
type: NodePort
selector:
k8s-app: kubernetes-dashboard
#Démarrage
kubectl apply -f recommended.yaml

- moi. Ils ont besoin de ChangementtypePourNodePort, Spécifie que son Extranet est accessible , Sinon, les autres ordinateurs ne seront pas accessibles ,Votre attention, s'il vous plaît.!

Oui. DashboardAjouter àk8s

2.2.2  Validation

kubectl -n kubernetes-dashboard get service

VoirpodL'état derunningDescriptiondashboardDéploiement réussi

kubectl get svc,pods -n kubernetes-dashboard

2.2.3  Connexion

Adresse d'accès:https://NodeIP:30001 

L'autorisation est requise pour le moment

2.3  Requête de permission

role: Permissions système pour les espaces de noms

clusterrole:Permissions globales

Permissions du système

# Interroger toutes les permissions du système dans un espace de noms
~]# kubectl -n kube-system get role
# Interroger les détails des permissions du système dans l'espace de noms
~]# kubectl -n kube-system describe role kube-proxy 

Permissions globales

# Voir toutes les permissions globales
~]# kubectl -n kube-system get clusterrole
# Spécifiez les détails pour voir une permission
~]# kubectl -n kube-system describe clusterrole admin 

2.4  tokenConnexion authentifiée

K8S Il y a deux types d'utilisateurs :User Et Service Account,User Pour les gens. ,Service Account Pour le processus , Donner au processus les permissions appropriées ,Dashboard C'est un processus,Nous pouvons créer unService Account Donne - le.

  1. CréationServiceAccount, Conformément à ses objectifs de gestion ,UtiliserrolebindingOuclusterrolebinding Lié à raisonnable roleOuclusterrole;
  2. Obtenez ceci ServiceAccountDesecret,VoirsecretDétails de,Il y en a un.token;

Méthode 1:

# Write permission Resource
~]# vim admin-token.yaml
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
~]# kubectl apply -f admin-token.yaml
~]# kubectl -n kubernetes-dashboard get secrets
NAME TYPE DATA AGE
admin-user-token-bxjlz kubernetes.io/service-account-token 3 23s
~]# kubectl -n kubernetes-dashboard describe secrets admin-user-token-bxjlz
Name: admin-user-token-bxjlz
... ...
ca.crt: 1025 bytes
namespace: 20 bytes
token: ..... # Cette longue chaîne est l'authentification que vous recherchez. token

Méthode 2:

Créationservice accountEt lier par défautcluster-adminRôle du Groupe d'administrateurs:

 # Créer un utilisateur
kubectl create serviceaccount dashboard-admin -n kube-system
# Autorisation de l'utilisateur
kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
# Obtenir l'utilisateurToken
kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')

Connectez - vous à nouveau pour vérifier :

2.5  Extraction de mot de passe

Il faudra se reconnecter plus tard dashboard Page et laissez - vous entrer votre mot de passe , Vous n'avez qu'à saisir la commande suivante pour récupérer le mot de passe :

kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')

2.6  Paramètres token Date d'expiration

Avec token Débarquement kubernetes-dashboard,Par défaut token La date de certification est 900s/15 Minutes, Il est difficile de se reconnecter en raison d'une défaillance. ,Ajouter- --token-ttl=604800 (Unité s)Modification des paramètres token La date d'expiration est 7 Oh, mon Dieu.. kubernetes-dashboard La plate - forme peut utiliser les méthodes suivantes , Vous pouvez également choisir de modifier recommended.yaml Documentation,Re apply C'est tout.

Étapes:

  • Sélectionner kubernetes-dashboard Espace de noms
  • Édition deployment/kubernetes-dashboard Profil
  • Ajouter  - --token-ttl=604800 (Unité s)
  • Cliquez sur mise à jour pour entrer en vigueur

2.7  Désinstaller

Si elle est installée dashboardErreur, Vous pouvez désinstaller et réinstaller .

kubectl get secret,sa,role,rolebinding,services,deployments --namespace=kubernetes-dashboard | grep dashboard
kubectl delete deployment kubernetes-dashboard --namespace=kubernetes-dashboard
kubectl delete service kubernetes-dashboard --namespace=kubernetes-dashboard
kubectl delete role kubernetes-dashboard-minimal --namespace=kubernetes-dashboard
kubectl delete rolebinding kubernetes-dashboard-minimal --namespace=kubernetes-dashboard
kubectl delete sa kubernetes-dashboard --namespace=kubernetes-dashboard
kubectl delete secret kubernetes-dashboard-certs --namespace=kubernetes-dashboard
kubectl delete secret kubernetes-dashboard-key-holder --namespace=kubernetes-dashboard

Questions fréquemment posées:

1、nodeport Plage de port par défaut 30000-32767, Et si vous voulez changer la plage de port ?
Solutions:vim /etc/kubernetes/manifests/kube-apiserver.yaml
Ajouter
spec:
  containers:
  - command:
    - kube-apiserver
      - --service-node-port-range=1-65535

Les modifications entrent en vigueur immédiatement
 

Copyright:Cet article est[Ivre de poussière & world1y]Établi,Veuillez apporter le lien original pour réimprimer,remercier。 https://fra.fheadline.com/2022/205/202207240101312962.html