kubernetes实战篇之通过api-server访问dashboard
前面一节我们介绍了如何使用kube-proxy搭建代理访问dashboard,这样做缺点非常明显,第一可以通过http访问,第二是这种方式要启动一个后台进程,如果进程关闭了则不能够访问了,还需要手动开启proxy.另外一个问题就是可能有部分读者已经遇到了,在输入token的时候,web界面无影响,笔者在本机试的时候通过firefox无响应,通过谷歌浏览器有时候无响应,有时候偶尔会有响应.下面通过使用api-server地址来访问dashboard.
- 创建.kube文件夹并把admin.conf复制到此文件夹
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
注,此步骤也可以不要,只是以下的操作步骤用到
$HOME/.kube/config都要换成/etc/kubernetes/admin.conf,这里是参照了这篇文章,我就和作者保持一致.
- 生成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"
其中生成kubecfg.p12这一步需要输入密码,以供以后导入时使用
[root@k8s-master key]# openssl pkcs12 -export -clcerts -inkey kubecfg.key -in kubecfg.crt -out kubecfg.p12 -name "kubernetes-client"
Enter Export Password:
这里输入密码,这里是设置密码,因此可以输入你自己方便管理的密码,输入完以后要求再次确认,确认完以后就会生成一个kubecfg.p12文件.完成以后我们把kubecfg.p12复制到要访问dashboard的机器上,如果是windows机,则双击这个文件,会弹出一个安装向导,需要输入我们刚才设置的密码,输入完以后一直下一步就行了.
执行完以上操作后,打开谷歌内核浏览器,输入https://192.168.124.59:6443/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:https/proxy就可以不用搭建proxy来访问dashboard了.(访问的时候浏览器会出现一个提示,让选择证书,点击确证就好了)
目前使用火狐会出现403 forbidden现象,切换到谷歌就行了
有的童鞋跟着以上操作可能最终也成功了,但是一脸懵,为什么要这样操作.这个地址又是哪来的,我要用记事本把这一长串地址保存起来么?
实际上以上dashboard是通过kubectl cluster-info命令获取到的
[centos@k8s-master dashboard]$ kubectl cluster-info
Kubernetes master is running at https://192.168.124.59:6443
KubeDNS is running at https://192.168.124.59:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
kubernetes-dashboard is running at https://192.168.124.59:6443/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:https/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
[centos@k8s-master dashboard]$
设置证书是因为这个地址是https地址,需要生成证书来访问.
kubernetes实战篇之通过api-server访问dashboard的更多相关文章
- kubernetes实战篇之helm安装
系列目录 Helm是kubernetes的应用包管理工具,是CNCF孵化器下的一个项目,主要用来管理 Charts.类似于 Ubuntu 中的 APT 或 CentOS 中的 YUM.它提供了一种简单 ...
- kubernetes实战篇之dashboard搭建
系列目录 kubernetes dashboard是kubernetes官方提供的web管理界面,通过dashboard可以很方便地查看集群的各种资源.以及修改资源编排文件,对集群进行扩容操作,查看日 ...
- javamail模拟邮箱功能发送电子邮件-基础实战篇(javamail API电子邮件实例)
引言: JavaMail 是一种可选的.能用于读取.编写和发送电子消息的包 JavaMail jar包下载地址:http://java.sun.com/products/javamail/downlo ...
- kubernetes实战篇之创建一个只读权限的用户
系列目录 上一节我们讲解到了如何限制用户访问dashboard的权限,这节我们讲解一个案例:如何创建一个只读权限的用户. 虽然可以根据实际情况灵活创建各种权限用户,但是实际生产环境中往往只需要两个就行 ...
- kubernetes实战篇之Dashboard的访问权限限制
系列目录 前面我们的示例中,我们创建的ServiceAccount是与cluster-admin 绑定的,这个用户默认有最高的权限,实际生产环境中,往往需要对不同运维人员赋预不同的权限.而根据实际情况 ...
- kubernetes实战篇之helm填坑与基本命令
系列目录 其实前面安装部分我们已经分享一些互联网上其它网友分享的一些坑,本篇介绍helm的基本使用以及在使用过程中碰到的一些坑. 客户端版本和服务端版本不一致问题 有些朋友可能在使用helm init ...
- kubernetes实战篇之部署一个.net core微服务项目
目录 继上一篇kubernetes理论知识完结.本篇主要讲解基于nexus搭建一个docker镜像仓库(当然大家实践过程是不必完全跟着做,也可以搭建harbor仓库或者直接把镜像推送到docker h ...
- kubernetes实战篇之helm完整示例
系列目录 构建一个 Helm Chart 下面我们通过一个完整的示例来学习如何使用 Helm 创建.打包.分发.安装.升级及回退Kubernetes应用. 创建一个名为 mychart 的 Chart ...
- kubernetes实战篇之创建密钥自动拉取私服镜像
系列目录 前面我们讲解了如何搭建nexus服务器,以及如何使用nexus搭建docker私有镜像仓库,示例中我们都是手动docker login登陆私服,然后通过命令拉取镜像然后运行容器.然而这种做法 ...
随机推荐
- struts2 no extension(excludePattern)
采用struts2 小伙伴非常希望更改或删除action扩展,本文将帮助你实现 struts2-core-2.3.16.jar , 下载链接: http://repo1.maven.org/maven ...
- QT之二级菜单(二级菜单的箭头可以使用QSS设置图片)
QT之二级菜单 QT之二级菜单 开场白 效果图 上代码 可参考文章 下代码 结尾 开场白 今天我们一起来了解下,在我们QT中,二级菜单是如何实现的,在上篇我们学习了QT之系统托盘,QT之自定义菜单, ...
- 概率论经典问题 —— 三个事件 A、B、C 独立 ≠ 三个事件两两独立
三个事件 A.B.C 相互独立?三个事件两两独立? A:第一次正面朝上: B:第二次正面朝上: C:第一次和第二次结果不同: P(AB)=P(A)P(B): P(AC)=1/4=P(A)P(C)(不是 ...
- STL优先级队列
priority_queue 这是一个优先级队列的所有权值概念单向队列queue.在这个队列中.全部元素是按优先级排列的(也能够觉得queue是个按进入队列的先后做为优先级的优先级队列--先进入队列的 ...
- memmove、memccpy和memcpy
这三个函数都是内存拷贝,目的都是将N个字节的源内存地址的内容拷贝到目标内存地址中. void *memmove(void *dest,void*src,int count) v ...
- WPF - Group分组对ListBox等列表样式的约束
原文:WPF - Group分组对ListBox等列表样式的约束 在做WPF主题支持时,出现一个分组引起的莫名错误,可是折腾了我一番.在没有使用样式时,列表分组很正常,使用了别人写的ListBox列表 ...
- 线程安全ConcurrentBag
ConcurrentBag并行,不保证顺序,线程安全 public static void ConcurrentBagWithPallel() { ConcurrentBag<int> l ...
- jquery 选择标题标签
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...
- JS enter代替tab,只有部分键可以代替
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...
- MYSQL 定时自动执行EVENT
MySQL从5.1开始支持EVENT功能,类似Oracle和MSSQL的定时任务job功能.有了这个功能之后我们就可以让MySQL自动的执行存储过程来实现数据汇总等功能了,不用像以前哪样手动操作完成了 ...