zoukankan      html  css  js  c++  java
  • 安装Dashboard应用

    一、下载官方Dashboard应用文件

    # Dashboard的GitHub地址:https://github.com/kubernetes/dashboard
    
    # 找个目录下载应用 yaml 文件,连接不上的在"/etc/hosts"添加"199.232.68.133  raw.githubusercontent.com"
    
    $ wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml
    

    二、拉取镜像

    # 编辑下载的 yaml 文件
    
    $ vim recommended.yaml   ---做以下两件事
    
       ---找到"kind: Service"、"port: 443"、"targetPort: 8443",在"ports"上加"type: NodePort"
       ---加"type: NodePort"是为了方便测试,加了后可以使用节点加端口直接访问Dashboard页面
    
       ---定位第191行,"kind: Deployment"下看看使用的镜像,作者的是:kubernetes/dashboard/v2.0.4
    
    $ docker pull [对应的镜像]   ---自行找资源拉取对应的镜像
    
    # 作者下载镜像的地址:https://hub.docker.com/r/kubernetesui/dashboard
    

    三、安装Dashboard

    $ kubectl apply -f recommended.yaml   ---执行后下方会列出创建的资源对象
    

    四、确认安装

    # 检查是否有"kubernetes-dashboard"
    
    $ kubectl get namespaces   ---列出所有 namespace 
    
    # 检查是否有"kubernetes-dashboard-xxxx"的 pod,看一下它在哪个节点上
    
    $ kubectl get pods -n kubernetes-dashboard -o wide   ---列出 namespace 下所有的 pod
    
    # 检查是否有"kubernetes-dashboard"的 service
    
    $ kubectl get svc -n kubernetes-dashboard   ---列出 namespace 下所有的 service
    
    # 上面这条命令可以看到列出了我们设置的 NodePort 的 Type 和它的端口号
    # 这时候你可以用你的 节点 IP:它给的端口号 访问Dashboard页面
    # 由于端口是 443 ,访问的时候使用 https 协议
    
    # 查看更多的 service 信息
    
    $ kubectl describe svc [service 名] -n [namespace 名]
    

    五、注册

    # 访问Dashboard会让你登录,两种方式:kubeconfig、token,这里使用 token 登录
    # 使用 token 登录要写一个 yaml 文件进行注册
    
    # 找个目录新建一个 yaml 文件,添加以下内容
    
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      labels:
        k8s-app: kubernetes-dashboard
      name: [自定义的账号名,英文!!!]
      namespace: kubernetes-dashboard
    
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: [与上方自定义的账号名一致]
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: [这里写死为"ClusterRole"]
      name: [这里写死为"cluster-admin",表示最高权限]
    subjects:
      - kind: ServiceAccount
        name: kubernetes-dashboard
        namespace: kubernetes-dashboard
    
    # 应用这个 yaml 文件,应用成功会列出创建角色的信息
    
    $ kubectl apply -f xxx.yaml
    
    # 这个 yaml 内容是基于第一步 wget 下载的 yaml 文件里Copy出来修改的
    # 如果和 yaml 文件有差异,建议从 wget 的文件Copy下来进行修改
    # 认准"kind: ServiceAccount"和"kind: ClusterRoleBinding"即可
    

    六、查找 token

    # 列出指定 namespace 的所有服务账号
    
    $ kubectl get serviceaccount -n [Dashboard的命名空间]
    
    # 查看指定账户的详细信息,记住"[用户名-token-随机字符]",如:leon-token-ewqdsa
    
    kubectl describe serviceaccount [账户名] -n [Dashboard的命名空间]
    
    # 查看指定 namespace 的所有 secret
    
    $ kubectl get secret -n [Dashboard的命名空间]
    
    # 查看指定的 secret 详细信息,这里会出现你登录要用的 token 
    
    $ kubectl describe secret [用户名-token-随机字符] -n [Dashboard的命名空间]
    
    # 复制 token 粘贴到Dashboard页面登录即可,选定 namespace 查看你的集群所有内容
    # 如果使用你创建的账号登录没有内容展示,就用默认账号登录,作者的默认账户是:kubernetes-dashboard
    

    End...

  • 相关阅读:
    字符串匹配算法
    密码学概述
    java实现的一道编程题
    java实现二进制的加法
    递归实现任意个字符的排列组合
    java中的断言
    java中的可变参
    SSH框架之Spring
    简单工厂模式
    String ,StringBuilder,StringBuffer
  • 原文地址:https://www.cnblogs.com/mrjiang-test/p/14065604.html
Copyright © 2011-2022 走看看