Kubernetes Dashboards

?Dashboard Github 地址:

鏈接

Heapster Github 地址:

鏈接

Kubernetes Dashboards

Service NodePort

Ingress

Kubernetes Dashboards

官方 Dashboard 只適用于開發(fā)人員或者運維人員,并且配合?heapster 服務獲取容器內(nèi)的資源信息。

啟動服務:

$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

啟動完成后,對服務只有 proxy 方式映射進行訪問:

$ kubectl proxy --address='0.0.0.0'--port=8086 --accept-hosts='^*$'

此時可通過如地址http://127.0.0.1:8086/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/方式進行訪問。

第一次訪問時會提示使用哪種鑒權方式:(官方文檔)

選擇 Token 方式,則創(chuàng)建 ClusterRoleBinding:

admin-user.yml展開源碼

創(chuàng)建:

$ kubectl apply -f admin-user.yml

獲取 Token:

$ SECRET=$(kubectl -n kube-system get sa admin-user -o yaml |?awk'/admin-user-token/ {print $3}')

$ kubectl -n kube-system describe secret $(kubectl -n kube-system get secret |?grepadmin-user |?awk'{print $1}')

然后把 Token 值貼入 Dashboard 頁面:

如果使用 KubeConfig 報錯如下:

請創(chuàng)建 Token 值:

$ kubectl create serviceaccount dashboard-admin -n kube-system

$ kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin

$ kubectl describe secret -n kube-system $(kubectl get secret -n kube-system |?grepdashboard-admin |?awk'{print $1}')

請把上述創(chuàng)建出的 Token 拷貝至 KubeConfig 配置文件末尾一行(并格式對其)。

新建 Kubeconfig 配置如下:

$ kubectl create serviceaccount dashboard-admin -n kube-system

$ DASHBOARD_ADMIN_SECRET=$(kubectl get secret -n kube-system `kubectl get secret -n kube-system |grepdashboard-admin |?awk'{print $1}'` -o jsonpath={.data.token} |base64 -d)

$ kubectl config?set-credentials dashboard-admin --token=$DASHBOARD_ADMIN_SECRET --kubeconfig=/root/dashboard-admin.conf

$ kubectl config?set-context dashboard-admin@kubernetes --cluster=kubernetes --user=dashboard-admin --kubeconfig=/root/dashboard-admin.conf

$ kubectl config use-context dashboard-admin@kubernetes --kubeconfig=/root/dashboard-admin.conf

$ kubectl config view --kubeconfig=/root/dashboard-admin.conf

$?cd/etc/kubernetes/pki/&& kubectl config?set-cluster kubernetes --certificate-authority=./ca.pem --server="https://10.140.0.12:6443"--embed-certs=true--kubeconfig=/root/dashboard-admin.conf

Service NodePort

配置如下:

dashboard-svc.yaml

kind: Service

apiVersion: v1

metadata:

??labels:

????k8s-app: kubernetes-dashboard

??name: kubernetes-dashboard

??namespace: kube-system

spec:

??type: NodePort

??ports:

????- port: 443

??????targetPort: 8443

??????nodePort: 5555

??selector:

????k8s-app: kubernetes-dashboard

Ingress

配置如下:

dashboard-ingress.yaml

apiVersion: apps/v1

kind: Ingress

metadata:

??name: k8s

??namespace: kube-system

spec:

??rules:

??- host: k8s.shileizcc.com

????http:

??????paths:

??????- path: /

????????backend:

??????????serviceName: kubernetes-dashboard

??????????servicePort: 443

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容