CentOS7搭建Kubernetes dashboard
一 环境声明
Centos7三台,master节点一台,node节点两台
Dashboard须要一个镜像,须要执行命令下载:
docker pull mritd/kubernetes-dashboard-amd64:v1.5.1
ps:还有不少其余的镜像也能搭建dashboard,不过这个版本是汉化版node
注意:两个node节点都须要下载此镜像,master节点不用,由于dashboard的pod会被master调度到两台node之一去建立,不会在master本地建立。docker
二.具体操做
如下操做所有在master节点执行:
1.编辑dashboard-controller.yaml,建立dashboard的pod
注意修改红色字体的部分!
vim dashboard-controller.yaml,内容以下:vim
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: kubernetes-dashboard
namespace: kube-system
labels:
k8s-app: kubernetes-dashboard
kubernetes.io/cluster-service: "true"
spec:
selector:
matchLabels:
k8s-app: kubernetes-dashboard
template:
metadata:
labels:
k8s-app: kubernetes-dashboard
annotations:
scheduler.alpha.kubernetes.io/critical-pod: ''
scheduler.alpha.kubernetes.io/tolerations: '[{"key":"CriticalAddonsOnly", "operator":"Exists"}]'
spec:
containers:api
红色字体解释:浏览器
===========================================================app
OK,如今开始编辑dashboard-service.yaml,将dashboard的访问端口映射到两台node宿主机的端口,以便外部访问。
vim dashboard-service.yaml,内容以下:
apiVersion: v1
kind: Service
metadata:
name: kubernetes-dashboard
namespace: kube-system
labels:
k8s-app: kubernetes-dashboard
kubernetes.io/cluster-service: "true"
spec:
type: NodePort
selector:
k8s-app: kubernetes-dashboard
ports:ide
红色字体解释:
port是指service的端口
targetport是指pod的端口
nodePort是指宿主机即node的端口,k8s外部就经过这个端口访问dashboard字体
建立dashboard
kubectl create -f dashboard-controller.yaml
结果显示:deployment "kubernetes-dashboard" createdspa
kubectl create -f dashboard-service.yaml
结果显示:service "kubernetes-dashboard" createdserver
查看建立结果:
[root@k8s-master yaml]# kubectl get pods --namespace=kube-system -o wide
NAME READY STATUS RESTARTS AGE IP NODE
kubernetes-dashboard-56bc76b6bb-b6kfx 1/1 Running 0 32s 172.18.0.194 node1
[root@k8s-master yaml]# kubectl get svc --namespace=kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes-dashboard NodePort 172.18.0.196 <none> 80:30003/TCP 13s
OK,建立成功,接下来就能够经过浏览器访问node节点(两个node任选一个均可以)的30003端口体验kubernetes-dashboard: