Kubernetes 1.5 配置dashboard


配置kubernetes的dashboard相對簡單。同樣的,只需要從源碼中獲取到dashboard-controller.yaml及dashboard-service.yaml文件,稍加修改即可:

wget https://rawgit.com/kubernetes/kubernetes/master/cluster/addons/dashboard/dashboard-controller.yaml
wget https://rawgit.com/kubernetes/kubernetes/master/cluster/addons/dashboard/dashboard-service.yaml

修改dashboard-controller.yaml如下:

kind: Deployment
apiVersion: extensions/v1beta1
metadata:
  labels:
    app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kube-system
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: kubernetes-dashboard
  template:
    metadata:
      labels:
        app: kubernetes-dashboard
      # Comment the following annotation if Dashboard must not be deployed on master
      annotations:
        scheduler.alpha.kubernetes.io/tolerations: |
          [
            {
              "key": "dedicated",
              "operator": "Equal",
              "value": "master",
              "effect": "NoSchedule"
            }
          ]
    spec:
      containers:
      - name: kubernetes-dashboard
        image: myhub.fdccloud.com/library/kubernetes-dashboard-amd64:v1.5.1
        imagePullPolicy: Always
        ports:
        - containerPort: 9090
          protocol: TCP
        args:
          # Uncomment the following line to manually specify Kubernetes API server Host
          # If not specified, Dashboard will attempt to auto discover the API server and connect
          # to it. Uncomment only if the default does not work.
     #額外增加
- --apiserver-host=http://10.5.10.116:8080 livenessProbe: httpGet: path: / port: 9090 initialDelaySeconds: 30 timeoutSeconds: 30

dashboard-service.yaml不需要修改,這里直接給出源碼中的示例文件:

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

執行啟動即可:

kubectl create -f dashboard-controller.yaml
kubectl create -f dashboard-service.yaml

啟動后,可以通過如下指令查看映射的nodeport:

[root@server-116 kubernetes]# kubectl get svc --namespace=kube-system
NAME                   CLUSTER-IP     EXTERNAL-IP   PORT(S)         AGE
kube-dns               10.254.0.100   <none>        53/UDP,53/TCP   5h
kubernetes-dashboard   10.254.68.60   <nodes>       80:30097/TCP    1d

以下訪問地址皆可用於訪問:

http://10.5.10.116:8080/ui

http://10.5.10.116:30097

dashboard界面如圖:

 

錯誤說明:

在實際的配置過程中,發現dashboard無法啟動,通過kubectl logs 查看pod日志,如下:

Using HTTP port: 9090
Error while initializing connection to Kubernetes apiserver. This most likely means that the cluster is misconfigurhas invalid apiserver certificates or service accounts configuration) or the --apiserver-host param points to a ser not exist. Reason: invalid configuration: no configuration has been provided
Refer to the troubleshooting guide for more information: https://github.com/kubernetes/dashboard/blob/master/docs/uubleshooting.md

這個錯誤,就是因為需要在dashboard啟動的args參數里加上如下參數:

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

 

另外,我們發現這個dashboard的訪問沒有任何的認證與授權機制,后續會專門對kubernetes的認證機制做相關說明。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM