16boke - 一路博客

3、安装Kubernetes-dashboard

一、准备yaml文件

vim kubernetes-dashboard.yaml

# ------------------- Dashboard Deployment ------------------- #

kind: Deployment

apiVersion: apps/v1

metadata:

 labels:

   k8s-app: kubernetes-dashboard

 name: kubernetes-dashboard

 namespace: kube-system

spec:

 replicas: 1

 selector:

   matchLabels:

     k8s-app: kubernetes-dashboard

 template:

   metadata:

     labels:

       k8s-app: kubernetes-dashboard

   spec:

     containers:

     - name: kubernetes-dashboard

       image: k8s.gcr.io/kubernetes-dashboard-amd64:v1.6.3

       ports:

       - containerPort: 9090

       args:

       - --apiserver-host=http://192.168.13.117:8080

       livenessProbe:

         httpGet:

           path: /

           port: 9090

         initialDelaySeconds: 30

         timeoutSeconds: 30

---

# ------------------- 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

 selector:

   k8s-app: kubernetes-dashboard

注意:

1、需要修改--apiserver-host=http://192.168.13.117:8080,改为自己kubernetes集群的master的apiserver地址

2、需要提前下载好k8s.gcr.io/kubernetes-dashboard-amd64:v1.6.3镜像,在国内无法访问google,所以先在阿里云上下载好镜像,然后通过docker tag重新打成k8s.gcr.io/kubernetes-dashboard-amd64:v1.6.3的标签。

二、启动dashboard

kubectl create -f kubernetes-dashboard.yaml

三、校验

[root@k8s-master cfg]# kubectl get deployment --all-namespaces

NAMESPACE     NAME                   READY   UP-TO-DATE   AVAILABLE   AGE

default       nginx                  1/1     1            1           4d6h

kube-system   kubernetes-dashboard   1/1     1            1           18m

[root@k8s-master cfg]# kubectl get svc  --all-namespaces

NAMESPACE     NAME                   TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE

default       kubernetes             ClusterIP   10.10.10.1           443/TCP        4d7h

default       nginx                  NodePort    10.10.10.59           88:30772/TCP   4d6h

kube-system   kubernetes-dashboard   NodePort    10.10.10.161         80:30329/TCP   18m

[root@k8s-master cfg]# kubectl get pod  -o wide  --all-namespaces

NAMESPACE     NAME                                    READY   STATUS    RESTARTS   AGE    IP            NODE             NOMINATED NODE   READINESS GATES

default       nginx-7cdbd8cdc9-cl4jr                  1/1     Running   0          4d6h   172.17.91.2   192.168.13.126           

kube-system   kubernetes-dashboard-5fc67b7585-g6l8q   1/1     Running   0          18m    172.17.91.3   192.168.13.126           

发现kubernetes-dashboard已经处于Running状态,并且随机生成的NodePort端口为30329,并且Pod部署在192.168.13.126 node上。

四、访问

通过浏览器访问:http://192.168.13.126:30329,其中192.168.13.126为node节点的ip地址,端口30329为随机生成的NodePort端口