K8S是一种容器编排工具,可以用来轻松管理大规模的容器化应用程序。在使用K8S时,我们通常会使用UI界面来实现可视化管理,方便操作和监控。下面我将介绍如何实现K8S访问UI界面的方法,供你参考。

整体流程如下表所示:

| 步骤 | 操作 |
| ---- | ------------------------------------ |
| 1 | 部署Kubernetes Dashboard |
| 2 | 创建Service Account和ClusterRoleBinding |
| 3 | 获取Token |
| 4 | 运行代理 |
| 5 | 访问UI界面 |

接下来分步骤详细说明各个操作:

### 步骤一:部署Kubernetes Dashboard

首先需要部署Kubernetes Dashboard,可以使用以下命令:

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

这个命令将会拉取Dashboard的最新版本并进行部署。

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

创建一个Service Account用于访问Dashboard,并为其绑定ClusterRole,可以使用以下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文件:

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

### 步骤三:获取Token

获取刚刚创建的Service Account的Token,可以使用以下命令:

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

将会输出一个Token,将其保存下来。

### 步骤四:运行代理

运行一个代理来将Dashboard绑定到localhost的8001端口,可以使用以下命令:

```shell
kubectl proxy
```

### 步骤五:访问UI界面

打开浏览器,在地址栏输入以下地址:

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

在登录页面选择"Token"选项,将刚刚获取的Token复制粘贴到输入框中,点击"Sign in"按钮即可登录到Dashboard的UI界面。

通过以上步骤,你就可以成功访问Kubernetes Dashboard的UI界面了。希望这篇文章能帮助你快速了解如何实现“k8s 访问ui界面”。如果有任何问题,欢迎随时向我提问!