K8S Dashboard是官方的一个基于WEB的用户界面,专门用来管理K8S集群,并可展示集群的状态。K8S集群安装好后默认没有包含Dashboard,我们需要额外创建它。

首先我们执行命令:

  1. wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

我们需要对kubernetes-dashboard.yaml进行一些用户权限修改,否则默认情况登录进入会有很多权限问题。

我们把apiVersion: rbac.authorization.k8s.io/v1下面的一行改为:

  1. kind: ClusterRoleBinding

并修改roleRef中的kind为ClusterRole,name为cluster-admin。如下所示:

  1. apiVersion: rbac.authorization.k8s.io/v1
  2. kind: ClusterRoleBinding
  3. metadata:
  4. name: kubernetes-dashboard-minimal
  5. namespace: kube-system
  6. roleRef:
  7. apiGroup: rbac.authorization.k8s.io
  8. kind: ClusterRole
  9. name: cluster-admin
  10. subjects:
  11. - kind: ServiceAccount
  12. name: kubernetes-dashboard
  13. namespace: kube-system

此外,为了能让外网能直接访问,需要设置nodePort转发:

  1. # ------------------- Dashboard Service ------------------- #
  2. kind: Service
  3. apiVersion: v1
  4. metadata:
  5. labels:
  6. k8s-app: kubernetes-dashboard
  7. name: kubernetes-dashboard
  8. namespace: kube-system
  9. spec:
  10. type: NodePort
  11. ports:
  12. - port: 80
  13. targetPort: 9090
  14. nodePort: 30001
  15. selector:
  16. k8s-app: kubernetes-dashboard

然后直接运行:

  1. kubectl create -f kubernetes-dashboard.yaml

通过kubectl get pods --all-namespaces命令可以看到kubernetes-dashboard正处于ContainerCreating阶段,需要等到一段时间,可能等待的时间有点长(如果时间过长还没有成功,请关掉从节点后再试)。

过段时间刷新后,发现kubernetes-dashboard处于Running状态了,表明已经正确安装。

现在你可以直接访问:http://ip:30001 ,其中ip是master节点的ip,30001是之前配置的nodePort值。

此外你也可以运行代理,运行:

  1. kubectl proxy --address='0.0.0.0' --accept-hosts='^*' --disable-filter=true

设置address和accept-hosts时为了让其他ip也能访问,否则就只能用127.0.0.1访问。

现在你可以访问Dashboard:http://localhost:8001/api/v1/namespaces/kube-system/services/http:kubernetes-dashboard:/proxy/#!/login

可以选择Token登录,查看token的命令是kubeadm token list

登录进去后,就能了解集群的一些基本情况:

Ubuntu下搭建Kubernetes集群(4)--部署K8S Dashboard的更多相关文章

  1. Ubuntu下搭建Kubernetes集群(3)--k8s部署

    1. 关闭swap并关闭防火墙 首先,我们需要先关闭swap和防火墙,否则在安装Kubernetes时会导致不成功: # 临时关闭 swapoff -a # 编辑/etc/fstab,注释掉包含swa ...

  2. Ubuntu下搭建Kubernetes集群(2)--docker基本操作

    查看当前的容器和images docker ps -a docker images 1.创建新的容器 docker run -it --name 容器名 镜像名 /bin/bash # 挂载目录和端口 ...

  3. Ubuntu下搭建Kubernetes集群(1)--安装docker

    可以使用物理机,也可以使用虚拟机. 首先参考https://docs.docker.com/install/linux/docker-ce/ubuntu/ 官方文档学会安装docker. 1.首先移除 ...

  4. Ubuntu 16.04下搭建kubernetes集群环境

    简介 目前Kubernetes为Ubuntu提供的kube-up脚本,不支持15.10以及16.04这两个使用systemd作为init系统的版本. 这里详细介绍一下如何以非Docker方式在Ubun ...

  5. kubeadm搭建kubernetes集群之三:加入node节点

    在上一章<kubeadm搭建kubernetes集群之二:创建master节点>的实战中,我们把kubernetes的master节点搭建好了,本章我们将加入node节点,使得整个环境可以 ...

  6. kubeadm搭建kubernetes集群之二:创建master节点

    在上一章kubeadm搭建kubernetes集群之一:构建标准化镜像中我们用VMware安装了一个CentOS7虚拟机,并且打算用这个虚拟机的镜像文件作为后续整个kubernetes的标准化镜像,现 ...

  7. 手把手从0到1:搭建Kubernetes集群

    搭建 k8s 集群网上很多教程,如果是手工部署或者实验环境可以直接使用 MiniKube 或者 Kind,来在本地启动简单的 Kubernetes 集群进行后面的学习即可.如果是使用 MiniKube ...

  8. Linux下搭建tomcat集群全记录(转)

    本文将讲述如何在Linux下搭建tomcat集群,以及搭建过程中可能的遇到的问题和解决方法.为简单起见,本文演示搭建的集群只有两个tomact节点外加一个apache组成,三者将安装在同一机器上:ap ...

  9. Windows下搭建Redis集群

    Redis集群: 如果部署到多台电脑,就跟普通的集群一样:因为Redis是单线程处理的,多核CPU也只能使用一个核, 所以部署在同一台电脑上,通过运行多个Redis实例组成集群,然后能提高CPU的利用 ...

随机推荐

  1. 非ssl给163发邮件,报错,无解ing

    #给163发送邮件import smtplibfrom email.mime.text import MIMETextnam='15527721040@163.com'send='1552772104 ...

  2. SpringCloud学习笔记(五、SpringCloud Netflix Hystrix)

    目录: Hystrix简介 线程隔离:线程池.信号量 服务降级.服务熔断.请求缓存.请求合并 Hystrix完整流程.Hystrix属性值 注解方式实现Hystrix Hystrix Dashboar ...

  3. python的http包

    http包简介 http包提供了 HTTP协议的一些功能,主要模块有: http.client   --- 底层的 HTTP 协议的一些功能,可以为 urllib.request 模块所用 http. ...

  4. aiomysql

    aiomysql: import aiomysql import asyncio async def aiomysql_test(): loop = asyncio.get_event_loop() ...

  5. day80_10_29git冲突解决与短信服务redis

    一.开发中的操作. 在项目开发中,在工作区进行开发,开发结束后提交到本地版本库. 再拉取远程仓库,具体如下: """ 1.开发前,拉一次远程仓库 2.工作区进行开发 3. ...

  6. 从游击队到正规军:马蜂窝旅游网的IM系统架构演进之路

    本文引用自马蜂窝公众号,由马蜂窝技术团队原创分享. 一.引言 今天,越来越多的用户被马蜂窝持续积累的笔记.攻略.嗡嗡等优质的分享内容所吸引,在这里激发了去旅行的热情,同时也拉动了马蜂窝交易的增长.在帮 ...

  7. 【shell脚本】批量修改扩展名===modifyExtension.sh

    前提:需切换到需要批量修改扩展名的目录下,运行脚本 [root@VM_0_10_centos shellScript]# cat modifyExtension.sh #!/bin/bash # 编写 ...

  8. My time is limited

    Your time is limited, so don't waste it living someone else's life. Don't be trapped by dogma - whic ...

  9. 使用 Floccus 插件和坚果云同步 Chrome 类浏览器书签

    使用 Floccus 插件和坚果云同步 Chrome 类浏览器书签 魏刘宏  2019 年 11 月 22 日 如题,本文讨论在使用 Chromium 内核的浏览器上,使用 Floccus 插件,配合 ...

  10. 读取txt文件内容,并按一定长度分页显示

    private List<string> SaveContentUpload(FileUpload file) { List<string> list_content = ne ...