Kubernetes(简称K8S)是一个用于自动部署、扩展和管理容器化应用程序的开源平台。K8S提供了许多强大的功能,但是通常使用命令行界面来管理K8S集群并不是很方便。为了更直观地管理集群,我们可以使用Kubernetes Dashboard来展示集群的运行状态、部署应用程序等操作。

### 流程概述

为了使用K8S好用的Dashboard,我们需要进行以下步骤:

| 步骤 | 操作 |
| ------ | ------- |
| 1 | 安装Kubernetes Dashboard |
| 2 | 部署Dashboard UI |
| 3 | 创建Dashboard用户身份验证令牌 |

### 详细步骤

#### 步骤1:安装Kubernetes Dashboard

首先我们需要安装Kubernetes Dashboard。我们可以通过kubectl apply命令来部署Dashboard:

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

#### 步骤2:部署Dashboard UI

接下来我们需要创建一个用于访问Dashboard的Service Account。我们可以通过以下操作创建Service Account:

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

创建dashboard-adminuser.yaml文件,内容如下:

```yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: dashboard-adminuser
namespace: kubernetes-dashboard
```

然后,为Service Account授权ClusterRoleBinding:

```bash
kubectl apply -f dashboard-adminrolebinding.yaml
```

创建dashboard-adminrolebinding.yaml文件,内容如下:

```yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: dashboard-adminuser
subjects:
- kind: ServiceAccount
name: dashboard-adminuser
namespace: kubernetes-dashboard
roleRef:
kind: ClusterRole
name: cluster-admin
apiGroup: rbac.authorization.k8s.io
```

#### 步骤3:创建Dashboard用户身份验证令牌

最后,我们需要创建一个用于验证的身份令牌。我们可以通过以下命令创建Token:

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

然后,我们可以通过以下命令启动Dashboard UI:

```bash
kubectl proxy
```

在浏览器中打开http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/,输入刚才获取的Token进行登录,即可进入Kubernetes Dashboard进行管理操作。

通过以上步骤,我们成功地安装并配置好了Kubernetes Dashboard,使得管理K8S集群变得更加方便。希望以上步骤能帮助到刚入行的小白,享受K8S带来的便利和快捷!