Ubuntu下搭建Kubernetes集群(4)--部署K8S Dashboard

K8S Dashboard是官方的一个基于WEB的用户界面,专门用来管理K8S集群,并可展示集群的状态。K8S集群安装好后默认没有包含Dashboard,我们需要额外创建它。

首先我们执行命令:

wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

我们需要对kubernetes-dashboard.yaml进行一些用户权限修改,否则默认情况登录进入会有很多权限问题。

我们把apiVersion: rbac.authorization.k8s.io/v1下面的一行改为:

kind: ClusterRoleBinding

并修改roleRef中的kind为ClusterRole,name为cluster-admin。如下所示:

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: kubernetes-dashboard-minimal
namespace: kube-system
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: kubernetes-dashboard
namespace: kube-system

此外,为了能让外网能直接访问,需要设置nodePort转发:

# ------------------- Dashboard Service ------------------- #

kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kube-system
spec:
type: NodePort
ports:
- port: 80
targetPort: 9090
nodePort: 30001
selector:
k8s-app: kubernetes-dashboard

然后直接运行:

kubectl create -f kubernetes-dashboard.yaml

通过kubectl get pods --all-namespaces命令可以看到kubernetes-dashboard正处于ContainerCreating阶段,需要等到一段时间,可能等待的时间有点长(如果时间过长还没有成功,请关掉从节点后再试)。

过段时间刷新后,发现kubernetes-dashboard处于Running状态了,表明已经正确安装。

现在你可以直接访问:http://ip:30001 ,其中ip是master节点的ip,30001是之前配置的nodePort值。

此外你也可以运行代理,运行:

kubectl proxy --address='0.0.0.0' --accept-hosts='^*'  --disable-filter=true

设置address和accept-hosts时为了让其他ip也能访问,否则就只能用127.0.0.1访问。

现在你可以访问Dashboard:http://localhost:8001/api/v1/namespaces/kube-system/services/http:kubernetes-dashboard:/proxy/#!/login

Ubuntu下搭建Kubernetes集群(4)--部署K8S Dashboard

可以选择Token登录,查看token的命令是kubeadm token list

登录进去后,就能了解集群的一些基本情况:

Ubuntu下搭建Kubernetes集群(4)--部署K8S Dashboard

上一篇:Java:IO流之转换流


下一篇:CSS躬行记(4)——浮动形状