如何创建管理员用户以访问Kubernetes仪表板

Kubernetes Dashboard是一个基于Web的用户界面,用于将容器化的应用程序部署到Kubernetes集群。管理群集资源,同时对部署,作业,有状态集,DaemonSets e.t.c和潜在问题进行故障排除。您可以使用仪表板来概述群集上运行的应用程序。

要了解如何部署Kubernetes仪表板,请参阅以下指南。

本指南描述了如何创建对所有Kubernetes资源具有访问权限的管理用户。管理员用户可以修改所有名称空间中的对象,并管理集群中的其他组件。

步骤1:建立管理服务帐户

让我们从创建服务帐户清单文件开始。命名您的服务帐户 jmutai-admin。

$ vim admin-sa.yml
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: jmutai-admin
  namespace: kube-system

哪里 jmutai-admin 要创建的服务帐户的名称。

创建文件后,应用清单以在kubernetes集群中创建对象。

$ kubectl apply -f admin-sa.yml
serviceaccount/jmutai-admin created
clusterrolebinding.rbac.authorization.k8s.io/jmutai-admin created

步骤2:创建集群角色绑定

接下来,将集群角色绑定分配给创建的服务帐户 集群管理员。

$ vim admin-rbac.yml
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: jmutai-admin
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: jmutai-admin
    namespace: kube-system

交换 jmutai-admin 在步骤1中创建的服务帐户的名称。

应用文件。

$  kubectl apply -f admin-rbac.yml

步骤3:取得管理员使用者凭证

您可以用来打印为您的服务帐户生成的令牌。 Kubectl 命令

设置一个变量来存储服务帐户的名称。

SA_NAME="jmutai-admin"

接下来,执行以下命令以打印创建的管理用户的令牌。


kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep ${SA_NAME} | awk '{print $1}')

输出:

Name:         jmutai-admin-token-mm9jd
Namespace:    kube-system
Labels:       
Annotations:  kubernetes.io/service-account.name: jmutai-admin
              kubernetes.io/service-account.uid: 80fade4b-4270-11ea-9fe4-005056ba45bd

Type:  kubernetes.io/service-account-token

Data
====
token:      eyJhbGciOiJSUzI1NiIsImtpZCI9IiJ9.eyJpc7MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUxOiJqa211dGFpLWFkbWluLXRva2VuLW1tOWpkIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImprbXV0YWktYWRtaW4iLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiI4MGZhZGU0Yi00MjcwLTExZWEtOWZlNC0wMDUwNTZiYTQ1YmQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06amttdXRhaS1hZG1pbiJ9.uMC2ydeHF4jVA5tnKFbBeHRvc4NWqL920jigk2FDeduUdBuFhsNyDcscmL-pBbWHG5KKwOAEuAAeyNaknaHsDadNnbLpp4AMZTTdr22FEp-_v7MfIEQm3QWmq-c0ykpdrzUzGmk5Q3JIpfqeorDI0lZd52-DF4IVMw3VtTNp6ZMHdieQUNRnCEyfs98raCTRAotiXZQaMvmRW5s9peu5hfxM71jufg-Qzmflr9nO-dY2dOHh1WZcKhJqfNfB73GYX2TQlUlurV4Oy0-2CpUUpJ1HAjcSHzKGuSrMUAMAhRwhbZZXhwvbQ6Ei_9Vv2PkD8_Pw9c-k9x-bblFSAqyFhA
ca.crt:     1025 bytes
namespace:  11 bytes

复制内容 代币 关键

步骤4:访问Kubernetes仪表板

创建令牌后,您可以使用它来访问Kubernetes仪表板。如果使用NodePort访问仪表板服务,则可以发出命令以获取分配的端口。

$ kubectl get services -n  | grep dashboard
kubernetes-dashboard   NodePort    10.111.76.69            443:32254/TCP                   414d

就我而言,访问Kubernetes仪表板以获取端口上任何群集计算机的IP地址 32254。

请选择 代币 输入身份验证类型并粘贴令牌以访问仪表板。

如何创建管理员用户以访问Kubernetes仪表板

步骤5:创建一个非管理员用户帐户

创建了对群集资源具有完全访问权限的管理员用户帐户。如果要授予用户有限名称空间的访问权限,请参见下面的上一指南。

创建限于一个名称空间的Kubernetes服务/用户帐户

有关Kubernetes和容器的其他指南:

运行Kubernetes的顶级最小容器操作系统

将新的Kubernetes工作者节点加入现有集群

如何将指标服务器部署到Kubernetes集群

在Kubernetes集群上安装和使用Helm 3

Docker与CRI-O与Containered

Sidebar