在Kubernetes(K8S)中,通过Web UI来管理和监控集群是一种便捷的方式。在本文中,我将教你如何通过命令行打开Kubernetes Dashboard Web UI。首先,我们来看一下整个操作的流程:

| 步骤 | 操作 |
| ---- | ---- |
| 1 | 安装kubectl |
| 2 | 启动Kubernetes Dashboard |
| 3 | 访问Dashboard Web UI |

接下来,我们将逐步进行操作:

### 步骤一:安装kubectl

kubectl是Kubernetes的命令行工具,可以用于与集群进行交互。在安装kubectl之前,确保你已经安装了Kubernetes集群并且具有集群的访问权限。以下是在Linux系统上安装kubectl的命令:

```bash
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
```

### 步骤二:启动Kubernetes Dashboard

在命令行中输入以下命令来启动Kubernetes Dashboard:

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

这个命令将会部署Kubernetes Dashboard到你的集群中。接着,我们需要创建一个用于访问Dashboard的Service Account。创建Service Account的YAML文件如下:

```yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kube-system
---
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: kube-system
```

保存上述内容到admin-user.yaml文件中,然后执行以下命令:

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

### 步骤三:访问Dashboard Web UI

现在,我们已经准备好通过Web浏览器访问Kubernetes Dashboard。首先,获取Dashboard的访问令牌:

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

拷贝输出中的token值,然后运行以下命令来启动代理:

```bash
kubectl proxy
```

在浏览器中访问http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/,并且粘贴上一步中获取的token值来完成登录。

至此,你已经成功打开了Kubernetes Dashboard Web UI。通过Dashboard,你可以查看集群中的资源使用情况、执行命令、查看日志等操作。希望这篇文章对你有所帮助!