Kubernetes (K8S) 是一个开源的容器编排系统,用于自动化容器化的部署、扩展和管理。Kubernetes Dashboard 是一个基于 Web 的用户界面,用于可视化管理 Kubernetes 集群。在使用 Kubernetes Dashboard 时,通常需要账号和密码进行登录,本文将介绍如何实现“k8s dashboard账号密码登陆”。

**整体流程:**

| 步骤 | 操作 |
|------------|------------------------------------------|
| 步骤一: | 部署 Kubernetes Dashboard |
| 步骤二: | 创建 Service Account 和 ClusterRoleBinding |
| 步骤三: | 获取登录 Token |
| 步骤四: | 登录 Kubernetes Dashboard |

**步骤一:部署 Kubernetes Dashboard**

首先,需要在 Kubernetes 集群中部署 Kubernetes Dashboard。可以通过以下命令进行部署:

```bash
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml
```

该命令会部署 Dashboard 组件到 Kubernetes 集群中,并创建必要的 Service、Deployment 和 ServiceAccount。

**步骤二:创建 Service Account 和 ClusterRoleBinding**

为了让 Dashboard 可以使用账号密码方式登录,需要创建一个 Service Account 和 ClusterRoleBinding。可以通过以下 YAML 文件进行创建:

```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
```

将上面的 YAML 文件保存为`admin-user.yaml`文件,然后通过以下命令创建 Service Account 和 ClusterRoleBinding:

```bash
kubectl apply -f admin-user.yaml
```

**步骤三:获取登录 Token**

接下来,需要获取登录 Dashboard 的 Token。可以通过以下命令获取 Token:

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

执行该命令会输出一个包含登录 Token 的字符串,复制这个 Token 以备后续登录使用。

**步骤四:登录 Kubernetes Dashboard**

最后,打开浏览器,在地址栏输入 Dashboard 的 URL(可以通过 `kubectl cluster-info` 命令获取),然后在登录页面选择“Token”方式登录,并粘贴之前获取的 Token。

至此,你已经成功实现了“k8s dashboard账号密码登陆”,可以方便地管理和监控 Kubernetes 集群了。祝你使用愉快!

通过以上步骤,我们成功实现了 Kubernetes Dashboard 的账号密码登录,使得管理和监控 Kubernetes 集群更加方便。希望这篇文章对你有帮助,祝你在 Kubernetes 的世界中探索得更深入!