Dashboard安装配置
获取dashboard yaml文件
- curl -O https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
更改官网镜像地址
- sed -i 's/k8s\.gcr\.io/jicki/g' kubernetes-dashboard.yaml
导入文件
- # kubectl apply -f kubernetes-dashboard.yaml
- secret "kubernetes-dashboard-certs" created
- serviceaccount "kubernetes-dashboard" created
- role "kubernetes-dashboard-minimal" created
- rolebinding "kubernetes-dashboard-minimal" created
- deployment "kubernetes-dashboard" created
- service "kubernetes-dashboard" created
访问方式
Kubernetes 暴露服务的方式目前只有三种:LoadBlancer Service、NodePort Service、Ingress
1、NodePort
为了方便验证,这里采用NodePort是将节点直接暴露在外网的一种方式,只建议在开发环境,单节点的安装方式中使用。
启用NodePort很简单,只需执行kubectl edit命令进行编辑,将type: ClusterIP修改为type: NodePort(将service监听端口映射到node节点)
保存后使用kubectl get service命令来查看自动生成的端口
- # kubectl -n kube-system edit service kubernetes-dashboard
type: ClusterIP --->type:NodePort
- #kubectl -n kube-system get svc
- NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
- service/kubernetes-dashboard NodePort 10.254.37.88 <none> :/TCP 2d18h k8s-app=kubernetes-dashboard
此时可以通过局域网进行正常访问
- https://172.17.213.60:30469
2、API Server
做好下面的浏览器访问kube-apiserver安全端口后可以直接通过 API Server的方式进行访问:
- https://172.17.213.60:6443/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
Dashboard登陆认证
首先创建一个dashboard rbac超级用户
# vim dashboard-admin-rbac.yaml
- ---
- apiVersion: v1
- kind: ServiceAccount
- metadata:
- labels:
- k8s-app: kubernetes-dashboard
- name: kubernetes-dashboard-admin
- namespace: kube-system
- ---
- apiVersion: rbac.authorization.k8s.io/v1
- kind: ClusterRoleBinding
- metadata:
- name: kubernetes-dashboard-admin
- labels:
- k8s-app: kubernetes-dashboard
- roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cluster-admin
- subjects:
- - kind: ServiceAccount
- name: kubernetes-dashboard-admin
- namespace: kube-system
# kubectl apply -f dashboard-admin-rbac.yaml
查看超级用户的token名称
# kubectl -n kube-system get secret | grep kubernetes-dashboard-admin
查看token部分
# kubectl describe -n kube-system secret/kubernetes-dashboard-admin-token-*****
登陆web ui选择“令牌登陆”,输入上面的token
浏览器访问kube-apiserver安全端口
一般情况下访问kube-apiserver的安全端口6443时,会提示证书不被信任。这是因为 kube-apiserver 的 server 证书是我们创建的根证书 ca.pem 签名的,需要将根证书 ca.pem 导入操作系统,并设置永久信任。对于 Mac,操作如下: 启动台-->搜索输入“钥匙串访问”
对于win使用以下命令导入ca.perm
keytool -import -v -trustcacerts -alias appmanagement -file "PATH...\\ca.pem" -storepass password -keystore cacerts
再次访问 https://172.17.213.60:6443/,已信任,但提示 401,未授权的访问:Unauthorized
我们需要给浏览器生成一个 client 证书,访问 apiserver 的 6443 https 端口时使用。
这里使用部署 kubectl 命令行工具时创建的 admin 证书、私钥和上面的 ca 证书,创建一个浏览器可以使用的 PKCS#12/PFX 格式的证书:
- openssl pkcs12 -export -out admin.pfx -inkey admin-key.pem -in admin.pem -certfile ca.pem
将创建的 admin.pfx 导入到系统的证书中
重启浏览器,再次访问时提示选择一个浏览器证书,选中上面导入的 admin.pfx 后实现访问正常。
客户端选择证书的原理
- 1、证书选择是在客户端和服务端 SSL/TLS 握手协商阶段商定的;
- 2、服务端如果要求客户端提供证书,则在握手时会向客户端发送一个它接受的 CA 列表;
- 3、客户端查找它的证书列表(一般是操作系统的证书,对于 Mac 为 keychain),看有没有被 CA 签名的证书,如果有,则将它们提供给用户选择(证书的私钥);
- 4、用户选择一个证书私钥,然后客户端将使用它和服务端通信;
Dashboard安装配置的更多相关文章
- kubernetes(K8S)集群及Dashboard安装配置
环境准备 机器信息 主机名 操作系统 IP地址 K8sm-218 Centos 7.5-x86_64 172.17.0.218 k8s-219 Centos 7.5-x86_64 172.17.0.2 ...
- Kubernetes入门(二)——Dashboard 安装
Kubernetes集群搭建完成后,可以通过命令行方式可以了解集群资源的使用情况,但是这种方式比较笨拙且不直观,因此考虑给集群安装Dashboard,这样能更直观了解集群状态.本文Dashboard的 ...
- Linux下xampp集成环境安装配置方法 、部署bugfree及部署禅道
XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包.XAMPP 是一个易于安装且包含 MySQL.PHP 和 Perl 的 Apache 发行版.XAMPP 的确非 ...
- Centos7安装配置gitlab
Centos7安装配置gitlab 这篇文字我会介绍在Centos7上安装gitlab,配置gitlab的smtp,并且创建项目demo. sudo yum install openssh-serve ...
- Ceph luminous 安装配置
Ceph luminous 安装配置 #环境centos7 , Ceph V12 openstack pike 与 ceph 集成 http://www.cnblogs.com/elvi/p/7897 ...
- elk安装配置
ELK介绍 官网https://www.elastic.co/cn/ 中文指南https://www.gitbook.com/book/chenryn/elk-stack-guide-cn/det ...
- asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程
最近在学习张善友老师的NanoFabric 框架的时了解到Exceptionless : https://exceptionless.com/ !因此学习了一下这个开源框架!下面对Exceptionl ...
- 02:zabbix-agent安装配置 及 web界面管理
目录:Django其他篇 01: 安装zabbix server 02:zabbix-agent安装配置 及 web界面管理 03: zabbix API接口 对 主机.主机组.模板.应用集.监控项. ...
- codis3.2安装配置中的一些问题
1.参考文档与参考资料问题 安装codis集群之前,我先在网上找资料,然后又到github的项目官方地址找,不得不说,相关的资料不好找,而且找到之后有些东西说的也不是很清楚.由于codis版本迭代的问 ...
随机推荐
- 结合数据结构来看看Java的String类
数据结构中定义字符串是由零个或多个字符组成的有限序列,有限,指出字符串的长度是一个有限的数值:所谓的序列,说明串的相邻字符之间具有前驱和后继的关系.字符串一般记为s="a1a2...an&q ...
- QT中资源文件的使用
1.在工程中点右键,选添加文件: 在下一页中输入一个资源文件名,如uires,这样工程树下就会出现资源文件夹. 2.右键,选择“Open in Editor”打开它 3.添加或修改前缀名,前缀的作用类 ...
- GNU make 汇总
= 是最基本的赋值 := 是覆盖之前的值?= 是如果没有被赋值过就赋予等号后面的值+= 是添加等号后面的值 $@--目标文件,$^--所有的依赖文件,$<--第一个依赖文件 makefile获取 ...
- Mysql在sql中截取时间类型字段的年月日
//显示年月日 select date_format(date ,'%Y-%m-%d' ) from talbe_a //根据年月日分组 select date_format(date ,'%Y-%m ...
- 7.2 if else 语句
7.2 if else 语句 if else语句的通用形式是: if ( expression ) statement1 else statement2 如果expression为真(非0),则执行s ...
- select、poll、epoll之间的区别总结[转载]
转载:https://www.cnblogs.com/Anker/p/3265058.html select,poll,epoll都是IO多路复用的机制.I/O多路复用就通过一种机制,可以监视多个描述 ...
- uWSGI的配置与发布
参考: https://www.cnblogs.com/pyyu/p/9481344.html 一.什么是wsgi, uwsgi, uWSGI wsgi 全称web server gateway ...
- 前端使用nginx 达到前后分离的开发目的
前言: 由于现在要开发一套基于python 的日志分析系统,设计到日志收集,分析,可视化输出,所以我使用前后端分离的做法.记录学习的过程: 00x1: 下载配置nginx:在E盘创建Service 目 ...
- 一个tomcat下部署不同端口多个应用
通过配置tmcat的server.xml来实现多端口多应用: <?xml version='1.0' encoding='utf-8'?> <Server port="80 ...
- mybatis使用枚举优化
文章转自: https://segmentfault.com/a/1190000010755321 问题 在编码过程中,经常会遇到用某个数值来表示某种状态.类型或者阶段的情况,比如有这样一个枚举: p ...