dashboard是商业智能仪表盘(business intelligence dashboard,BI dashboard)的简称,它是一般商业智 能都拥有的实现数据可视化的模块,是向企业展示度量信息和关键业务指标(KPI)现状的数据虚拟化工具 . dashboard在一个简单屏幕上联合并整理数字、公制和绩效记分卡。它们调整适应特定角色并展示为单一视角或部门指定的度量。 dashboard关键的特征是从多种数据源获取实时数据,并且是定制化的交互式界面。 dashboard以丰富的,可交互的可视化界面为数据提供更好的使用体验.
K8s也有相对直观的图形话界面,官网已经把五个yaml文件合成了一个,但是这里我们还是使用旧款的五个文件进行的模拟实验
根据上一次昨晚的多节点K8s接着部署
上传上面的全部文件
[root@localhost ~]# cd k8s/ [root@localhost k8s]# mkdir dashboard [root@localhost k8s]# cd dashboard/ [root@localhost dashboard]# kubectl get nodes NAME STATUS ROLES AGE VERSION 20.0.0.4 Ready <none> 8d v1.12.3 20.0.0.5 Ready <none> 8d v1.12.3 [root@localhost dashboard]# rz -E rz waiting to receive. [root@localhost dashboard]# ls dashboard-configmap.yaml dashboard-rbac.yaml dashboard-service.yaml dashboard-controller.yaml dashboard-secret.yaml k8s-admin.yaml根据我提供的顺序,安装yaml文件
[root@localhost dashboard]# kubectl create -f dashboard-rbac.yaml role.rbac.authorization.k8s.io/kubernetes-dashboard-minimal created rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard-minimal created [root@localhost dashboard]# kubectl create -f dashboard-secret.yaml secret/kubernetes-dashboard-certs created secret/kubernetes-dashboard-key-holder created [root@localhost dashboard]# kubectl create -f dashboard-configmap.yaml configmap/kubernetes-dashboard-settings created [root@localhost dashboard]# kubectl create -f dashboard-controller.yaml serviceaccount/kubernetes-dashboard created deployment.apps/kubernetes-dashboard created [root@localhost dashboard]# kubectl create -f dashboard-service.yaml service/kubernetes-dashboard created完成后查看创建在指定的kube-system命名空间下的pods
[root@localhost dashboard]# kubectl get pods,service -n kube-system NAME READY STATUS RESTARTS AGE pod/kubernetes-dashboard-65f974f565-wtvtr 0/1 ContainerCreating 0 100s ##要等到创建成功才可以继续下一步,现在时创建中 NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/kubernetes-dashboard NodePort 10.0.0.238 <none> 443:30001/TCP 95s这边看到是在我 20.0.0.5的节点上,对外端口暴露为30001
[root@localhost dashboard]# kubectl get pods,service -n kube-system -o wi de NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE pod/kubernetes-dashboard-65f974f565-wtvtr 1/1 Running 0 4m15s 172.17.54.2 20.0.0.5 <none> NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR service/kubernetes-dashboard NodePort 10.0.0.238 <none> 443:30001/TCP 4m10s k8s-app=kubernetes-dashboard推荐使用火狐浏览器,可以跳过验证
成功看到图形界面
某些浏览器打开会报不安全,并且也不允许接受风险,像是下图这样,那我们就要手动添加证书
[root@localhost dashboard]# vim dashboard-cert.sh cat > dashboard-csr.json <<EOF { "CN": "Dashboard", "hosts": [], "key": { "algo": "rsa", "size": 2048 }, "names": [ { "C": "CN", "L": "BeiJing", "ST": "BeiJing" } ] } EOF K8S_CA=$1 cfssl gencert -ca=$K8S_CA/ca.pem -ca-key=$K8S_CA/ca-key.pem -config=$K8S_CA/ca-config.json -profile=kubernetes dashboard-csr.json | cfssljson -bare dashboard kubectl delete secret kubernetes-dashboard-certs -n kube-system kubectl create secret generic kubernetes-dashboard-certs --from-file=./ -n kube-system [root@localhost dashboard]# vim dashboard-controller.yaml ##这里声明两个证书文件 args: # PLATFORM-SPECIFIC ARGS HERE - --auto-generate-certificates - --tls-key-file=dashboard-key.pem ##这行和下面的 - --tls-cert-file=dashboard.pem [root@localhost dashboard]# bash dashboard-cert.sh /root/k8s/k8s-cert/ [root@localhost dashboard]# kubectl apply -f dashboard-controller.yaml Warning: kubectl apply should be used on resource created by either kubectl create --save-config or kubectl apply serviceaccount/kubernetes-dashboard configured Warning: kubectl apply should be used on resource created by either kubectl create --save-config or kubectl apply deployment.apps/kubernetes-dashboard configured再次查看就OK了
