zoukankan      html  css  js  c++  java
  • k8s-搭建Dashboard(2)

    一、查看要安装的Dashboard版本

    https://github.com/kubernetes/dashboard/releases

    二、安装命令

    此处选择v2.0.4版本安装

    所需的两个镜像分别为:

    kubernetesui/dashboard:v2.0.4、kubernetesui/metrics-scraper:v1.0.4

    可从阿里云公共镜像提前拉取上述两个镜像,再执行下面命令安装

    kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml
    

    三、查看是否安装成功

    kubectl get pods --all-namespaces
    

    四、配置登录权限

    #创建用于登录的用户
    kubectl create serviceaccount dashboard-admin -n kube-system
    
    #关联权限
    kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
    
    #导出登录用的token
    kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep dashboard-admin|awk '{print $1}')|grep token:|awk '{print $2}'
     
    #运行
    kubectl proxy
     
    #在master用浏览器访问
    http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
    
    

    PS:重新运行kubectl proxy的方法

    查看占用端口

    ps aux | grep kubectl
    

    杀死进程

    kill -9 1549
    

    重新启动

    kubectl proxy
    

    五、通过NodePort暴露dashboard

    上述dashboard默认servcie Type 为ClusterIP,只能通过proxy集群内部访问,下面修改yaml文件改为NodePort,从而从外部访问。

    下载官方的recommended.yaml文件到本地:

    wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml
    

    重命名为kubernetes-dashboard.yaml:

    mv recommended.yaml kubernetes-dashboard.yaml
    

    修改dashboard的ServiceType为NodePort,加入nodePort:

    image-20201014232524879

    重新生成dashboard:

    kubectl apply -f  kubernetes-dashboard.yaml
    

    查看pod,svc状态:

    kubectl get pod,svc -n kubernetes-dashboard
    

    image-20201014232927793

    通过chrome浏览器访问https://192.168.124.201:31111:

    image-20201014233248451

    如果因为证书问题,可以修改chrome的以下设置:

    解决k8s自签名SSL验证不通过的问题,以下是chrome浏览器的解决方案:

    chrome://flags/#allow-insecure-localhost

    And enable "Allow invalid certificates for resources loaded from localhost.

    获取token:

    kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep dashboard-admin|awk '{print $1}')|grep token:|awk '{print $2}'
    

    输入生成token即可访问dashboard:

    image-20201014233540165

    其他证书问题可以参考:

    https://github.com/ubuntu/microk8s/issues/1046

    https://github.com/kubernetes/dashboard/issues/2995

  • 相关阅读:
    GO-GRPC实践(二) 增加拦截器,实现自定义context(带request_id)、recover以及请求日志打印
    第六章-堆
    第五章-本地方法接口和本地方法栈
    第四章-虚拟机栈
    第三章-运行时数据区及程序计数器
    04-再谈类的加载器
    03-类的加载过程(类的生命周期)详解
    1.编程入门
    SpringBoot 整合 SpringSecurity 梳理
    pip版本过低无法升级问题
  • 原文地址:https://www.cnblogs.com/roluodev/p/13823130.html
Copyright © 2011-2022 走看看