Kubernetes 部署Web UI (Dashboard)

Kubernetes 部署Web UI (Dashboard)

項目下載地址:https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dashboardhtml

相關文件說明git

# UI存放的配置信息
dashboard-configmap.yaml
# UI的控制器
dashboard-controller.yaml
# 受權文件
dashboard-rbac.yaml
# 存放銘感數據信息
dashboard-secret.yaml
# 將UI暴露
dashboard-service.yaml

一、解壓k8s目錄中的壓縮文件、進入指定目錄github

tar -xvzf /root/k8s/kubernetes/kubernetes-src.tar.gz
cd cluster/addons/dashboard/

二、修改dashboard-controller.yaml配置文件中的鏡像vim

  • 鏡像搜索地址推薦:https://promotion.aliyun.com/ntms/act/kubernetes.html

vim dashboard-controller.yamlapi

# 默認地址沒法訪問須要修改地址
- name: kubernetes-dashboard
image: registry.cn-hangzhou.aliyuncs.com/kubernete/kubernetes-dashboard-amd64:v1.10.0

三、Master 端 k8s 建立配置文件中的配置網絡

kubectl create -f dashboard-configmap.yaml 
kubectl create -f dashboard-rbac.yaml
kubectl create -f dashboard-secret.yaml
kubectl create -f dashboard-controller.yaml

四、查看建立進項app

NAME READY STATUS RESTARTS AGE
kubernetes-dashboard-75584d7f6f-fpdhp 1/1 Running 0 21s
kubectl get pods -n kube-system

五、查看日誌詳情ide

2019/08/08 05:28:43 Starting overwatch
2019/08/08 05:28:43 Using in-cluster config to connect to apiserver
2019/08/08 05:28:43 Using service account token for csrf signing
2019/08/08 05:28:43 No request provided. Skipping authorization
kubectl logs kubernetes-dashboard-75584d7f6f-fpdhp -n kube-system

六、修改 service 配置文件添加網絡測試

apiVersion: v1
kind: Service
metadata:
  name: kubernetes-dashboard
  namespace: kube-system
  labels:
    k8s-app: kubernetes-dashboard
    kubernetes.io/cluster-service: "true"
    addonmanager.kubernetes.io/mode: Reconcile
spec:
  # 添加 NodePort 使service可訪問
  type: NodePort
  selector: 
    k8s-app: kubernetes-dashboard
  ports:
  - port: 443
    targetPort: 8443
vim dashboard-service.yaml

七、建立 service 服務網站

kubectl create -f dashboard-service.yaml 

八、查看建立信息

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes-dashboard NodePort 10.0.0.162 <none> 443:42487/TCP 46s
kubectl get svc -n kube-system

九、測試訪問。使用Node節點外網IP

火狐:https://47.99.164.47:42487/#!/login

十、建立 k8s-admin.yaml 文件、建立管理綁定指定用戶到cluster-admin

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

十一、建立生成yaml文件中的服務

kubectl create -f k8s-admin.yaml

十二、查看產生的 token 結果

NAME TYPE DA
dashboard-admin-token-xhw6x kubernetes.io/service-account-token 3 
default-token-zk7jr kubernetes.io/service-account-token 3 
kubernetes-dashboard-certs Opaque 0 
kubernetes-dashboard-key-holder Opaque 2 
kubernetes-dashboard-token-xxwd9 kubernetes.io/service-account-token 
kubectl get secret -n kube-system

1三、複製下方token輸出值、複製到網站 Kubernetes 儀表板中令牌

kubectl describe secret dashboard-admin-token-xhw6x -n kube-system
Name:         dashboard-admin-token-xhw6x
Namespace:    kube-system
Labels:       <none>
Annotations:  kubernetes.io/service-account.name: dashboard-admin
              kubernetes.io/service-account.uid: 986e8ba8-b9a2-11e9-b85b-00163e088172

Type:  kubernetes.io/service-account-token

Data
====
token:      eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4teGh3NngiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiOTg2ZThiYTgtYjlhMi0xMWU5LWI4NWItMDAxNjNlMDg4MTcyIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmRhc2hib2FyZC1hZG1pbiJ9.iNshqwHJwKwVfuHDSsitxUgS8_zOo_rfCWi3wguCg3vVRu5RH1hamW-kiidAyVDnPNams3K8QzL4fqxDpbtCXa8c5aUFlDeP45j6bYYEP2huiLFDC-Pg3NUmSa5uxPxnVQPWNLen43WMwkQ1pX_lMD6uT9QRdQHZ7aSQQRJM5DEPaZipUACKNVZH4HDKLnE2vmB_zfQ2Ra2ZpOjkFcHhgywqreZ9a1iv_QJU1_fPy6JkcRZaWnxh6KrZ_m7rjFWsxHwD3wejXvwVXdtkY5UxOwuRjl0hUzHyr9YpqqRuhoBvo7uhaJcZhWUlttD60g_n7zGalgSA5VAZR7zYsMGnmw
ca.crt:     1359 bytes
namespace:  11 byte
密令

1四、儀表盤中輸入令牌

1五、登陸後顯示輸出內容

1六、使用K8S UI 使用比較簡單 支持中文隨便點擊熟悉就能夠。

相關文章
相關標籤/搜索