Dashboard 是 Kubernetes 的 Web GUI,可用于在 Kubernetes 集群上部署容器化应用、应用排障、管理集群本身及其附加的资源等.它常被管理员用于集群及应用速览、创建或修改单个资源(如Deployments、Jobs和DaemonSets等),以及扩展Deployment、启动滚动更新、重启Pod或使用部署向导部署一个新应用等.
Dashboard依赖于Heapster或Metrics Server完成指标数据的采集和可视化.
Dashboard 的认证和授权均可由 Kubernetes 集群实现,它自身仅是一个代理,所有的相关操作都将发给 API Server 进行,而非由 Dashboard 自行完成,目前它支持使用的认证方式有 token 和 kubeconfig 两种,在访问之前需要准备好相应的认证凭证.
DashBoard 安装
Dashboard 1.7(不含)之前的版本在部署时直接赋予了管理权限,这种方式可能存在安全风险,因此,1.7及之后的版本默认在部署时仅定义了运行Dashboard所需要的最小权限,仅能够在Master主机上通过“kubectl proxy”命令创建代理后于本机进行访问,它默认禁止了来自于其他任何主机的访问请求.若要绕过“kubectl proxy”直接访问Dashboard,则需要在部署时提供证书以便与客户端进行通信时建立一个安全的HTTPS连接.证书既可由公信CA颁发,也可自行使用openssl或cfssl一类的工具来创建.
部署Dashboard时会从Secrets对象中加载所需要的私钥和证书文件,需要事先准备好相关的私钥、证书和Secrets对象.需要注意的是,下面的命令需要以管理员的身份在Master节点上运行,否则将无法访问到ca.key文件
-
准备好相关的私钥
[root@master-0 ~]# cd /etc/kubernetes/pki/ [root@master-0 pki]# (umask 077 ; openssl genrsa -out dashboard.key 2048) Generating RSA private key, 2048 bit long modulus ................................................................................................+++ ..........