kubernetes安装dashboard步骤

本篇文章参考kubernetes---dashboardv1.8.3版本安装详细步骤及 kubernetes-dashboard(1.8.3)部署与踩坑这两篇文章,详细写了自己部署过程中的操作、遇到的问题及解决方案。

部署Dashboard UI

kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended/kubernetes-dashboard.yaml

安装成功后查看pods

安装成功界面

发现问题: 显示ImagePullBackOff,这是因为docker镜像并没有能够下载下来。

获取dashboard镜像

获取镜像版本

  • 下载yaml文件
curl -O https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended/kubernetes-dashboard.yaml
  • 查看yaml文件查看镜像版本
cat  kubernetes-dashboard.yaml|grep kubernetes-dashboard

文件内容

手动拉取镜像并且改名

docker pull gcrxio/kubernetes-dashboard-amd64:v1.10.1
docker tag gcrxio/kubernetes-dashboard-amd64:v1.10.1 k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1

修改获取镜像策略

  • 修改获取镜像策略,使得在本地拉取镜像
vi kubernetes-dashboard.yaml
  • 在如下位置,增加语句:
imagePullPolicy: IfNotPresent

修改位置

  • 在添加上需要注意,不要使用tab键,否则会出错

重新安装dashboard

kubectl delete -f kubernetes-dashboard.yaml
kubectl create -f kubernetes-dashboard.yaml
  • 使用命令查看是否dashboard镜像是否正常运行

    成功页面

可能产生的错误

  • 完成了上述操作却发现还是ImagePullBackO0ff的错误
    使用命令查看错误原因
kubectl --namespace=kube-system describe pod <pod_name>

发现pod运行在副节点k8s-node1上,所以依然找不到docker镜像。
需要将dashboard调度到master节点上去。
输入命令,为master节点添加label

kubectl label node k8s-master type=master

在kubernetes-dashboard.yaml中添加nodeSelecor定义:

配置文件详情

配置完成之后,再重新安装dashboard,发现问题得到了解决。

访问dashboard的方法

kubernetes-dashboard(1.8.3)部署与踩坑这篇文章中,提到了四种访问方式,下面只介绍我试过的两种访问方式

使用kubectl proxy

输入命令

kubectl proxy

启动成功界面:

启动成功界面

启动成功后,则在内网中的节点浏览器中可以进行访问,访问地址如下:

http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/

如果是vmware虚拟化节点,可以使用curl http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/查看是否能够访问。

使用API Server

如果Kubernetes API服务器是公开的,可以从外部访问的,就可以用API Server来访问。
访问的地址为
https://<master-ip>:<apiserver-port>/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
但是可能返回的结果为

{
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {

  },
  "status": "Failure",
  "message": "services \"https:kubernetes-dashboard:\" is forbidden: User \"system:anonymous\" cannot get services/proxy in the namespace \"kube-system\"",
  "reason": "Forbidden",
  "details": {
    "name": "https:kubernetes-dashboard:",
    "kind": "services"
  },
  "code": 403
}

这是因为没有进行认证,需要去创建一个证书

创建证书

  • 将kubectl的配置文件复制到$HOME/.kube/config
  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config
  • 生成p12文件
# 生成client-certificate-data
grep ‘client-certificate-data‘ ~/.kube/config | head -n 1 | awk ‘{print $2}‘ | base64 -d >> kubecfg.crt

# 生成client-key-data
grep ‘client-key-data‘ ~/.kube/config | head -n 1 | awk ‘{print $2}‘ | base64 -d >> kubecfg.key

# 生成p12,这里会要求输入密码,记住这个密码
openssl pkcs12 -export -clcerts -inkey kubecfg.key -in kubecfg.crt -out kubecfg.p12 -name "kubernetes-client"
  • 导入p12文件
    如果是用vmware虚拟的节点,可以使用软件filezilla导入到本机
    双击打开p12文件,进行安装,安装过程中需要输入的密码则为生成p12文件过程中输入的密码
    安装完成后,关闭所有的浏览器,再重新打开,就会显示让选择证书的界面,选择证书,就会出现登录界面。

登录界面

创建用户

创建服务账号

利用vi admin-user.yaml命令创建admin-user.yaml文件,输入以下内容,来创建admin-user的服务账号,放在kube-system名称空间下:

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kube-system

输入命令kubectl create -f admin-user.yaml来执行。

绑定角色

利用vi admin-user-role-binding.yaml命令创建admin-user-role-binding.yaml文件,输入以下内容,来进行绑定

apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kube-system

输入命令kubectl create -f admin-user-role-binding.yaml来执行。

获取token

输入以下命令来创建用户token,利用token来登录dashboard:

kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk ‘{print $1}‘)

登录dashboard

将token复制到登录界面中:

登录界面

集成Heapster

  • Heapster是容器集群监控和性能分析工具
  • 执行命令
kubectl create -f http://mirror.faasx.com/kubernetes/heapster/deploy/kube-config/influxdb/influxdb.yaml
kubectl create -f http://mirror.faasx.com/kubernetes/heapster/deploy/kube-config/influxdb/grafana.yaml
kubectl create -f http://mirror.faasx.com/kubernetes/heapster/deploy/kube-config/influxdb/heapster.yaml
kubectl create -f http://mirror.faasx.com/kubernetes/heapster/deploy/kube-config/rbac/heapster-rbac.yaml

当pod的状态全都变成了running,则能够使用。

pod状态

原文地址:https://www.cnblogs.com/ExMan/p/11650833.html

时间: 2024-10-06 11:49:05

kubernetes安装dashboard步骤的相关文章

kubernetes+docker+dashboard安装部署详细步骤

对docker和kubernetes都不熟悉,搜了很多指导,在kubernetes集群中安装dashboard的时候总是会遇到各种问题,花了两天时间试了很多方法,终于安装成功,主体步骤来自https://blog.csdn.net/chenyufeng1991/article/details/79251498,补全安装过程中遇到的问题及解决方法. 实验环境: 1.OS:Centos7.5 每个操作系统设置一个主机IP 2.使用的软件包 master:docker/kubernetes-maste

安装 Dashboard 插件

Kubernetes Dashboard 是 k8s集群的一个 WEB UI管理工具,代码托管在 github 上,地址:https://github.com/kubernetes/dashboard 安装: 直接使用官方的配置文件安装即可: $ wget https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml 为了测试方便,我们将

Kubernetes安装手记-kubeadm

十.Kubernetes实践篇 10.1) Kubernetes安装三种方式(官方提供) 10.1.1)minikubeMinikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernetes或日常开发的用户使用.不能用于生产环境. 官方文档: https://kubernetes.io/docs/setup/minikube/ 10.1.2)kubeadmkubeadm可帮助你快速部署一套kubernetes集群.kubeadm设计目的为新用户开始尝试kubern

kuberneets 1.17 安装 dashboard nginx-ingress

一.首先安装dashboard https://github.com/kubernetes/dashboard 需要下载的yaml文件 https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml可以进行一些修改首先是HTTPS的修改部分 containers: - name: kubernetes-dashboard image: kubernetesui/dash

open-falcon 安装Dashboard时候报错&quot;SSLError: The read operation timed out&quot;

在部署open-falcon环境过程中,安装Dashboard时候报错"SSLError: The read operation timed out".如下: [[email protected] dashboard]# ./env/bin/pip install -r pip_requirements.txt Downloading/unpacking Flask==0.10.1 (from -r pip_requirements.txt (line 1)) Downloading

安装IIS步骤图解

这几日好些网友来找iis安装包,但是因为新浪爱问的共享资料已关闭导致下载链接不可用,笔者在新浪微盘的备份资料只有5.1版,现共享链接如下: IIS5.1 for windows xp下载链接http://vdisk.weibo.com/s/zoCx8Tk_v9ypK 以下为原文 IIS5.1 for windows xp下载链接http://ishare.iask.sina.com.cn/f/5035949.html IIS6.0  for  windows 2003下载链接 http://is

Oracle11g安装详细步骤

Oracle11g安装详细步骤,详见附件↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

Linux下PHP环境安装具体步骤

Linux下 PHP环境安装 您需要以下安装包: 1.     字体引擎,freetype-2.1.10.tar.gz 2.     JPEG 图形库,jpegsrc.v6b.tar.gz 3.     PNG图形库,libpng-1.2.8-config.tar.gz 4.     数据压缩库,zlib-1.2.3.tar.gz 5.     加密算法扩展库,libmcrypt-2.5.7.tar.gz 6.     PHP的源码包,php-5.3.3.tar.gz6 确保您的安装linux环

Storm集群安装部署步骤【详细版】

作者: 大圆那些事 | 文章可以转载,请以超链接形式标明文章原始出处和作者信息 网址: http://www.cnblogs.com/panfeng412/archive/2012/11/30/how-to-install-and-deploy-storm-cluster.html 本文以Twitter Storm官方Wiki为基础,详细描述如何快速搭建一个Storm集群,其中,项目实践中遇到的问题及经验总结,在相应章节以“注意事项”的形式给出. 1. Storm集群组件 Storm集群中包含两