一、K8S管理控制台
Kubernetes Web UI(或Kubernetes Dashboard)是用于管理和监视Kubernetes集群的不同工具和用户界面。以下是一些常见的Kubernetes Web UI工具和用户界面:
- Kubernetes Dashboard: Kubernetes官方提供的Web用户界面,用于管理和监视Kubernetes集群中的各种资源。它是最常见和广泛使用的Kubernetes Web UI。
- KubeSphere: KubeSphere是一个开源的容器化应用管理平台,提供了一个Web UI,用于创建、部署和管理容器化应用程序,以及监视和调优Kubernetes集群。
- Rancher: Rancher是一个用于管理和操作Kubernetes、Docker和其他容器编排引擎的平台。它提供了一个直观的Web界面,支持多个Kubernetes集群的管理。
- Octant: Octant是一个开源的Kubernetes Web UI工具,它提供了直观的集群资源查看和交互式探索功能,可以帮助开发人员更容易地理解和调试他们的应用程序。
- Lens: Lens是一个强大的开源Kubernetes IDE,提供了一个跨平台的桌面应用程序,用于管理和监视Kubernetes集群。它支持多个集群、多个命名空间和内置的CLI终端。
- Kubernetes Web View: Kubernetes Web View是一个轻量级的开源Web UI,用于查看和导航Kubernetes集群中的资源。它的设计简单,适用于快速查看集群状态。
- K9s: 虽然不是传统的Web UI,但K9s是一个基于终端的TUI(文本用户界面)工具,用于管理和监视Kubernetes集群。它提供了强大的命令行交互性能。
- Supergiant: Supergiant是一个用于部署、管理和监视Kubernetes集群的平台。它提供了一个Web界面,用于自动化Kubernetes基础设施。
二、Kubernetes-Dashboard v2.7.0
Kubernetes Dashboard 是 Kubernetes 的官方 Web UI。它提供了集群的详细信息和管理功能。以下是安装和使用 Kubernetes Dashboard 的步骤:
安装前需要先选择与你安装的Kubernetes对应版本的Dashboard,不然会出现各种问题。每个releases都会有一张对应表,如下图:
https://github.com/kubernetes/dashboard/releases。
步骤 1:安装Dashboard
首先,您需要安装 Kubernetes Dashboard。执行以下命令:
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
为了可以在集群外面访问,我们把recommended.yaml里访问方式调整为nodeport。
找到这一段,大约在30行左右,特点是:
- kind: Service
- k8s-app: kubernetes-dashboard
增加一行,type=NodePort。
再执行apply部署 Kubernetes-Dashboard v2.7.0。
kubectl apply -y recommended.yaml
执行后会卡很长时间,主要是在下载docker镜像,从配置文件可以看到是以下两个镜像,如果发现最后下载出问题也可以单独的docker pull下面两镜像。
- kubernetesui/dashboard:v2.7.0
- kubernetesui/metrics-scraper:v1.0.8
步骤 2:创建 Dashboard 用户
Dashboard 默认启用了令牌认证,因此您需要创建一个用户帐户来登录。首先,创建一个 YAML 文件(例如 dashboard-adminuser.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
然后,通过以下命令创建用户:
kubectl apply -f dashboard-adminuser.yaml
步骤 3:获取令牌
要获取登录到 Dashboard 所需的令牌,请运行以下命令:
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')
这将显示一个长令牌字符串,将其复制以备用。
步骤 4:查看端口
kubectl get pod,svc -n kubernetes-dashboard
这样我们通过主机的ip+30081就可以访问dashboard了。下面用的ip是主机的ip,并不是上面出现的cluster-ip,cluster-ip是集群内部访问的ip。
总结:总体来说dashboard安装还是比较简单,但如果你安装的是新版本,感觉还是会出现不少问题,还是得把版本控制好。
三、Dashboard界面
- 登录界面
- 主界面-监控集群的状态
- 部署应用-可以通过这里直接部署应用
- 部署应用-详细配置
包含应用名称、容器镒、pod数量、Service非常的方便,不想设置配置yaml的可以很方便的部署。
- Deployments
- Pods
- Nodes
- Services
- 监控
四、相关问题
1、token没有生成
(1)创建serviceaccount
kubectl create serviceaccount myadmin -n kubernetes-dashboard
(2)查看账户信息
kubectl get serviceaccount myadmin -o yaml -n kubernetes-dashboard
(3)绑定角色
kubectl create clusterrolebinding myadmin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:myadmin -n kubernetes-dashboard
(4)生成token
kubectl create token myadmin -n kubernetes-dashboard