Kubernetes仪表板是基于Web的用户界面,用于将容器化的应用程序部署到Kubernetes群集:部署、作业、StatefulSet、DaemonSets等,并管理群集资源,同时能够对可能出现的问题进行故障排除,您可以使用仪表板来概述群集上运行的应用程序。本文将讨论如何在Linux服务器中创建可以访问所有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 参考:安装及使用kubectl、kubectx和kubens轻松管理多个Kubernetes集群。
步骤2:创建群集角色绑定 接下来是分配服务帐户,创建一个群集角色,将其绑定为cluster-admin: $ 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" 然后运行以下命令以为创建的admin用户打印令牌: kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep ${SA_NAME} | awk '{print $1}') 输出如下图内容:
复制令牌密钥中的内容,即复制token选项中的内容。
步骤4:访问Kubernetes仪表板 创建令牌后,您可以使用它访问Kubernetes仪表板。如果使用NodePort访问仪表板服务,则可以通过以下命令来获取分配的端口: $ kubectl get services -n <namespace> | grep dashboard kubernetes-dashboard NodePort 10.111.76.69 <none> 443:32254/TCP 414d 对我来说,我将在32254端口上任何群集计算机的IP地址上访问Kubernetes仪表板:
选择令牌身份验证类型,然后粘贴令牌以访问仪表板:
至此,我们已经创建了一个管理员用户帐户,该帐户具有对群集资源的完全访问权限,并且已成功访问了Kubernetes仪表板。
相关主题 |