k8s部署Dashboard

目录

    • 一、准备工作
      • 1.1 安装或关闭以下服务
      • 1.2 本次安装环境
    • 二、安装
      • 2.1 下载
      • 2.2 修改配置文件
      • 2.3 安装
    • 三、登录访问
      • 3.1 访问
      • 3.2 获取token
      • 3.3登录
    • 四、其他
      • 4.1 访问https://192.168.1.10:32232无法进入
      • 4.2登录进去后报错


一、准备工作

1.1 安装或关闭以下服务

关闭防火墙等

linux时间校对

docker安装

二进制安装K8S集群-上

二进制安装K8S集群-下

K8S命令补全

1.2 本次安装环境

配置信息 说明
master IP地址 192.168.1.10
linux系统版本 CentOS7.4
内核 ml-3.10.0
K8S版本 1.23.4

二、安装

2.1 下载

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

2.2 修改配置文件

vim recommended.yaml 
spec:
  type: NodePort    #新增,NodePort在集群中的主机节点上为Service提供一个代理端口,以允许从主机网络上对Service进行访问
  ports:
      - port: 443
        targetPort: 8443
        nodePort: 32232       #指定访问端口

2.3 安装

kubectl apply -f recommended.yaml  
kubectl get pods -A      #查看运行状态
NAMESPACE              NAME                                         READY   STATUS             RESTARTS         AGE
kubernetes-dashboard   dashboard-metrics-scraper-799d786dbf-d97vr   1/1     Running            0                3m2s
kubernetes-dashboard   kubernetes-dashboard-674846bfb9-5lr4m        1/1     Running            0                3m2s
kubectl get svc -n kubernetes-dashboard          #查看暴露端口
NAME                        TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)         AGE
dashboard-metrics-scraper   ClusterIP   10.0.105.149   <none>        8000/TCP        11s
kubernetes-dashboard        NodePort    10.0.201.219   <none>        443:32232/TCP   11s

三、登录访问

3.1 访问

https://192.168.1.10:32232 #IP地址+yaml上指定端口
k8s部署Dashboard_第1张图片

3.2 获取token

kubectl get secret -n kubernetes-dashboard                     #查看
NAME                               TYPE                                  DATA   AGE
default-token-857n2                kubernetes.io/service-account-token   3      6d22h
kubernetes-dashboard-certs         Opaque                                0      6d22h
kubernetes-dashboard-csrf          Opaque                                1      6d22h
kubernetes-dashboard-key-holder    Opaque                                2      6d22h
kubernetes-dashboard-token-sg2pb   kubernetes.io/service-account-token   3      6d22h
kubectl describe secret -n kubernetes-dashboard kubernetes-dashboard-token-sg2pb #获取token

3.3登录

将获取到的token输入进去
k8s部署Dashboard_第2张图片

四、其他

4.1 访问https://192.168.1.10:32232无法进入

访问会提示攻击者可能试图从192.168.1.10窃取你的信息(例如,密码、消息或信用卡)。如下图所示
k8s部署Dashboard_第3张图片
临时解决办法:在当前页面用键盘输入thisisunsafe,不是在地址栏输入。页面即会自动刷新进入网页。

4.2登录进去后报错

namespaces is forbidden: User "system:serviceaccount:kubernetes-dashboard:kubernetes-dashboard" cannot list resource "namespaces" in API group "" at the cluster scope

k8s部署Dashboard_第4张图片
解决办法

kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard      #创建dashboard-admin
kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin  #绑定为集群管理员
kubectl get secret -n kubernetes-dashboard   #查看有个dashboard-admin开头的token
NAME                               TYPE                                  DATA   AGE
dashboard-admin-token-45m6q        kubernetes.io/service-account-token   3      13s
kubectl describe secret -n kubernetes-dashboard dashboard-admin-token-45m6q #获取token

重新登录后无报错
k8s部署Dashboard_第5张图片

你可能感兴趣的:(K8s,kubernetes,linux,运维)