• kubernetes 1.21 部署 dashboard


    https://www.cloudsavvyit.com/13967/how-to-monitor-kubernetes-with-the-official-dashboard

    1. 安装

    curl -k https://raw.fastgit.org/kubernetes/dashboard/master/aio/deploy/recommended.yaml -o /tmp/recommended.yaml 
    
    sed -e 's|image: kubernetesui|image: 192.168.100.198:5000/kubernetesui|g' -i /tmp/recommended.yaml
    
    kubectl apply -f /tmp/recommended.yaml 
    
    curl -k https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.5.2/components.yaml -o /tmp/components.yaml
    
    sed -e 's|image: k8s.gcr.io|image: 192.168.100.198:5000|g' -i /tmp/components.yaml
    
        spec:
          containers:
          - args:
            - --cert-dir=/tmp
            - --secure-port=4443
            - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
            - --kubelet-use-node-status-port
            - --kubelet-insecure-tls
            - --metric-resolution=15s
    
    增加 - --kubelet-insecure-tls
    
    kubectl apply -f /tmp/components.yaml 
    
    # kubectl get service -n kubernetes-dashboard
    NAME                        TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
    dashboard-metrics-scraper   ClusterIP   10.101.17.245    <none>        8000/TCP   92s
    kubernetes-dashboard        ClusterIP   10.111.184.225   <none>        443/TCP    92s
    
    # kubectl get pods -n kubernetes-dashboard -o wide
    NAME                                         READY   STATUS    RESTARTS   AGE     IP             NODE     NOMINATED NODE   READINESS GATES
    dashboard-metrics-scraper-69f5454dfd-8bbxh   1/1     Running   0          2m14s   10.240.2.130   vm-197   <none>           <none>
    kubernetes-dashboard-75d7886db6-79sms        1/1     Running   0          2m14s   10.240.36.4    vm-207   <none>           <none>
    # 
    

    2. 建立admin用户

    cat > /tmp/dashboard-admin.yml << EOF
    kind: ClusterRoleBinding
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: admin
      annotations:
        rbac.authorization.kubernetes.io/autoupdate: "true"
    roleRef:
      kind: ClusterRole
      name: cluster-admin
      apiGroup: rbac.authorization.k8s.io
    subjects:
    - kind: ServiceAccount
      name: admin
      namespace: kubernetes-dashboard
    ---
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: admin
      namespace: kubernetes-dashboard
      labels:
        kubernetes.io/cluster-service: "true"
        addonmanager.kubernetes.io/mode: Reconcile
    EOF
    
    
    # kubectl describe serviceaccount admin -n kubernetes-dashboard
    Name:                admin
    Namespace:           kubernetes-dashboard
    Labels:              addonmanager.kubernetes.io/mode=Reconcile
                         kubernetes.io/cluster-service=true
    Annotations:         <none>
    Image pull secrets:  <none>
    Mountable secrets:   admin-token-brljz
    Tokens:              admin-token-brljz
    Events:              <none>
    
    
    # kubectl describe secret admin-token-brljz -n kubernetes-dashboard
    Name:         admin-token-brljz
    Namespace:    kubernetes-dashboard
    Labels:       <none>
    Annotations:  kubernetes.io/service-account.name: admin
                  kubernetes.io/service-account.uid: 3f90cffe-d383-477a-8b9f-dc80c4503b13
    
    Type:  kubernetes.io/service-account-token
    
    Data
    ====
    ca.crt:     1066 bytes
    namespace:  20 bytes
    token:      eyJhbGciOiJSUzI1NiIsImtpZCI6ImdYTlA4cVU0czkyVTlHUi1vVFFvWlg3Y2tkR3JRYkk1bEVjV3RtV3ZIQlkifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi10b2tlbi1icmxqeiIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJhZG1pbiIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjNmOTBjZmZlLWQzODMtNDc3YS04YjlmLWRjODBjNDUwM2IxMyIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlcm5ldGVzLWRhc2hib2FyZDphZG1pbiJ9.uPlUhUMDQiw8-1HKBMc0BtC9nDhcYW2BY2-pOtsIEE1VP4QJaK5Dfp9JOdDaBwgJfrRTGOo15p2JR4h_YfRnWi-bj-oX28xL9Lcu0vQKERQp4wo0KBcBUAZHzWQ_uSE0XJkQZQnLuLs6WGwwPOsfI8oIkMCvg3expHj7lbGEVUxoC4lWxoFekI9EYDRmQcew5foiQzl9quKZoAgg-GPWjzPdbP6uFJG9BTMaqflYKIxY1e_62IMa_g4MukZ1jseMH8eWmTuWpkIYNcqzdnxSEycQB6gZ6OAnKE5b7urFEWMgc2JqHKPUz2_9o0IL1ovF3R5mTSugsb7Yx9PnMI7S-Q
    

    3. 访问

    # kubectl edit service kubernetes-dashboard -n kubernetes-dashboard
    type: ClusterIP -> type: LoadBalancer
    
    # kubectl get service -n kubernetes-dashboard
    NAME                        TYPE           CLUSTER-IP       EXTERNAL-IP       PORT(S)         AGE
    dashboard-metrics-scraper   ClusterIP      10.106.199.173   <none>            8000/TCP        178m
    kubernetes-dashboard        LoadBalancer   10.96.83.57      192.168.100.161   443:31854/TCP   178m
    
    https://192.168.100.161
    使用token登录
    
  • 相关阅读:
    [转] egg(28)--mongoose使用聚合管道
    [转] mongoose的populate
    [转]express常用中间件
    [转] SuperAgent使用文档
    [转] node爬虫之gbk网页中文乱码解决方案
    [转] js日期对象Date对象方法 时间方法
    [转] Nodejs学习笔记(十四)— Mongoose介绍和入门
    [转] 深入理解vue 一些底层原理
    [转] Nginx之八 URL重写(rewrite)配置
    随笔
  • 原文地址:https://www.cnblogs.com/liujitao79/p/15527878.html
Copyright © 2020-2023  润新知