K8S Dashboard 是 Kubernetes 的一个可视化管理界面,它为我们提供了一个方便的方式来查看和管理 Kubernetes 集群中的资源,如 Pod、Service、Deployment 等。在本篇文章中,我将向你介绍如何部署 K8S Dashboard,并提供相关的代码示例,帮助你完成关键词的实现。

### 第一步:下载 K8S Dashboard 的 YAML 文件

首先,我们需要下载 K8S Dashboard 的 YAML 文件。你可以从官方的 GitHub 仓库中获取最新的 YAML 文件。在终端中执行以下命令来下载文件:

```shell
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml
```

### 第二步:修改 K8S Dashboard 的 Service 类型

默认情况下,K8S Dashboard 的 Service 类型为 ClusterIP,我们需要将其修改为 NodePort,以便我们可以通过浏览器访问 Dashboard。打开下载的 YAML 文件,在 `kubectl edit` 命令后添加 `-n kubernetes-dashboard` 参数,即可修改其 Service 类型为 NodePort。

### 第三步:创建必要的授权账号和角色绑定

在终端中执行以下命令来创建必要的授权账号和角色绑定:

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

kubectl apply -f dashboard-adminuser.yaml
```

其中,`dashboard-adminuser.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
```

这样就创建了一个名为 `admin-user` 的 ServiceAccount,并将其绑定到 `cluster-admin` 角色,以便获得管理员权限。

### 第四步:启动 K8S Dashboard

在终端中执行以下命令来启动 K8S Dashboard:

```shell
kubectl proxy
```

执行了以上命令后,你将在终端中看到一个类似于 `Starting to serve on 127.0.0.1:8001` 的提示信息,这表示成功启动了 K8S Dashboard。

### 第五步:访问 K8S Dashboard

打开浏览器,输入以下地址来访问 K8S Dashboard:

```
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
```

你将会看到一个登录页面,选择 "Token" 选项,并复制终端中输出的一个用于访问授权的 Token。将 Token 粘贴到登录页面的输入框中,并点击 "Sign In" 按钮,即可成功登录 K8S Dashboard。

至此,我们已经成功部署和访问了 K8S Dashboard。你可以通过该界面查看和管理你的 Kubernetes 集群,包括资源的创建、编辑、删除等操作。

我特意整理了以上步骤的代码示例,希望对你有所帮助。如果你有任何问题,请随时向我提问。