zoukankan      html  css  js  c++  java
  • kubernetes之安装集群图形化界面Dadhboard

    安装集群图形化界面(Dashboard )

    Dashboard 是 基 于 网 页 的 Kubernetes 用 户 界 面 。 您 可 以 使 用 Dashboard 将 容 器 应 用 部 署 到Kubernetes 集群中,也可以对容器应用排错,还能管理集群本身及其附属资源。您可以使用 Dashboard 获取运行在集群中的应用的概览信息,也可以创建或者修改 Kubernetes 资源(如Deployment,Job,DaemonSet等等)。

    1、安装图形化界面

    可以对 Deployment 实现弹性伸缩、发起滚动升级、重启 Pod 或者使用向导创建新的应用。
    
    # 1、下载资源清单并生成
    方式一:giitubx下载
    [root@k8s-m-01 ~]#  wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml
    
    方式二:自己网站下载并生成
    [root@k8s-m-01 ~]#  wget  http://www.mmin.xyz:81/package/k8s/recommended.yaml
    [root@k8s-m-01 ~]# kubectl apply -f recommended.yaml 
    
    方式三:一步生成并安装
    [root@k8s-m-01 ~]# kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml  
    
    # 2、查看端口
    [root@k8s-m-01 ~]# kubectl get svc -n kubernetes-dashboard
    NAME                        TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
    dashboard-metrics-scraper   ClusterIP   10.109.218.188   <none>        8000/TCP   20s
    kubernetes-dashboard        ClusterIP   10.97.27.199     <none>        443/TCP    20s
    
    # 3、开一个端口,用于访问
    [root@k8s-m-01 ~]# kubectl edit svc -n kubernetes-dashboard kubernetes-dashboard
    type: ClusterIP   =>  type: NodePort  #修改成NodePort
    
    # 4、重新查看端口
    [root@k8s-m-01 ~]# kubectl get svc -n kubernetes-dashboard
    NAME                        TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)         AGE
    dashboard-metrics-scraper   ClusterIP   10.96.44.119   <none>        8000/TCP        12m
    kubernetes-dashboard        NodePort    10.96.42.127   <none>        443:40927/TCP   12m
    
    # 5、创建token配置文件
    [root@k8s-m-01 ~]# vim token.yaml
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: admin-user
      namespace: kube-system
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: admin-user
      annotations:
        rbac.authorization.kubernetes.io/autoupdate: "true"
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: cluster-admin
    subjects:
    - kind: ServiceAccount
      name: admin-user
      namespace: kube-system
    
    # 6、部署token到集群
    [root@k8s-m-01 ~]# kubectl apply -f token.yaml 
    serviceaccount/admin-user created
    clusterrolebinding.rbac.authorization.k8s.io/admin-user created
    
    # 7、获取token
    [root@k8s-m-01 ~]#  kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}') | grep token: | awk '{print $2}'
    eyJhbGciOiJSUzI1NiIsImtpZCI6Ik1NeTJxSDZmaFc1a00zWVRXTHdQSlZlQnNjWUdQMW1zMjg5OTBZQ1JxNVEifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLWpxMm56Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyN2Q4MjIzYi1jYmY1LTQ5ZTUtYjAxMS1hZTAzMzM2MzVhYzQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06YWRtaW4tdXNlciJ9.Q4gC_Kr_Ltl_zG0xkhSri7FQrXxdA5Zjb4ELd7-bVbc_9kAe292w0VM_fVJky5FtldsY0XOp6zbiDVCPkmJi9NXT-P09WvPc9g-ISbbQB_QRIWrEWF544TmRSTZJW5rvafhbfONtqZ_3vWtMkCiDsf7EAwDWLLqA5T46bAn-fncehiV0pf0x_X16t72Qqa-aizHBrVcMsXQU0wnYC7jt373pnhnFHYdcJXx_LgHaC1LgCzx5BfkuphiYOaj_dVB6tAlRkQo3QkFP9GIBW3LcVfhOQBmMQl8KeHvBW4QC67PQRv55IUaUDJ_lRC2QKbeJzaUto-ER4YxFwr4tncBwZQ
    
    # 8、验证集群是否成功
    [root@k8s-m-01 kubernetes]# kubectl run test01 -it --rm --image=busybox:1.28.3
    If you don't see a command prompt, try pressing enter.
    / # nslookup kubernetes
    Address 1: 10.96.0.2 kube-dns.kube-system.svc.cluster.local
    
    Name:      kubernetes
    Address 1: 10.96.0.1 kubernetes.default.svc.cluster.local
    / 
    # 9、通过token访问
    https://192.168.15.51:32464  # 第4步查看端口
    

    2、部署nginx服务

    # 1、部署服务
    [root@k8s-m-01 ~]# kubectl create deployment nginx --image=nginx
    deployment.apps/nginx created
    [root@k8s-m-01 ~]# kubectl expose deployment nginx --port=80 --type=NodePort
    service/nginx exposed
    
    # 2、查看部署的服务
    [root@k8s-m-01 ~]# kubectl get svc
    NAME         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
    kubernetes   ClusterIP   10.96.0.1      <none>        443/TCP        2d21h
    nginx        NodePort    10.109.78.82   <none>        80:31463/TCP   5s
    
    # 3、使用token登录
    [root@k8s-m-01 ~]# kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}') | grep token: | awk '{print $2}'
    eyJhbGciOiJSUzI1NiIsImtpZCI6IjFGREpGUDZnbmkyeUJVSmplMm9TUEdVRmdKMGwxOWpFWEo0eE4wU1dmTzgifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLWJ4cXRzIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJlNTMxMjc0Mi1mZTlkLTRjMWQtOTI4YS04MGM4MWQwZjMyNGQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06YWRtaW4tdXNlciJ9.Cq9Z1pe4GErpTfHIe80tNo-M1hGLrn8T5tQzXCUosdwX55Tzu_ySAB8roHAXmWqOP4343w5ZQRJc6moH3gZ2tpDCDlssXGSEafX3N4UodBphr9XgsQvb_Ev1uhr5pVJmomwE3JRzGORt28SHdlm1PlAeTo0Bg9M9fNYXHzA8YGyCNN-fb--3wEb_gVqP1Go2HsReYHUZsmvxxxEuXXnDGK_U6mPOT8_hw-zEx-svGYoh5l4LKILG42FqUKFJo2qwj7hGl2RrPYELonx4OtL0vmbLyyxExC76g9d7sdXdzHLx7lZXXsgEBbgG54HC11SAHd0I7OL6PQfUFjQEDOzvXQ
    
    # 4、查看kubernetes部署的服务
    [root@k8s-m-01 ~]# kubectl get svc
    NAME         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
    kubernetes   ClusterIP   10.96.0.1      <none>        443/TCP        2d21h
    nginx        NodePort    10.109.78.82   <none>        80:31463/TCP   4m19s  # nginx服务
    
    [root@k8s-m-01 ~]# kubectl get svc -n kubernetes-dashboard 
    NAME                        TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)         AGE
    dashboard-metrics-scraper   ClusterIP   10.96.46.62   <none>        8000/TCP        11h
    kubernetes-dashboard        NodePort    10.103.2.97   <none>        443:30327/TCP   11h  #网络插件
    

  • 相关阅读:
    如何下载Bilibili视频
    pyqt5 主界面打开新主界面、打开Dialog、打开提示框的实现模板
    【爬坑】python3+pyqt5+pyinstaller 打包成exe的各种问题
    【PyQt5-Qt Designer】QComboBox(下拉列表框) 使用模板
    【PyQt5-Qt Designer】读取txt文件在打印
    pyqt5核心-信号与槽(第二弹)
    使用QT设计师-信号和槽signal-slot(第一弹)
    【python基础】python程序打包成.exe运行时会弹出黑框
    【pyqt5】QdateTimeEdit(日期时间)
    pyqt5-对文本样式进行操作
  • 原文地址:https://www.cnblogs.com/caodan01/p/15102902.html
Copyright © 2011-2022 走看看