工具学习使用篇2:轻量化K8S管理工具Lens Desktop

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

前言

在我的日常工作当中,由于我需要同事管理N个K8S集群,管理过K8S集群的都知道,这里管理的成本有多高,一直在寻找简单,好用的K8S管理工作,也简单看过使用过一些,如:K9S、Rancher等,但都发现由于功能非常全和多,会导致学习成本较高,对于新手上手成本非常高。

最近发现Lens Desktop,对于新手来说上手成本非常低,可以快速上手使用,因此最终选用了这个工具;本文也是介绍了我自己整体的使用和安装指南。


以下是本篇文章正文内容,下面案例可供参考

一、Lens Desktop是什么?

Lens 是一个 Kubernetes 平台,提供与 Kubernetes 集群无缝交互的工具,以及为团队和组织内安全有效的工作提供环境。

优点

  • 可视化界面:提供用户友好的图形界面,易于操作。
  • 多集群支持:可以同时管理多个 Kubernetes 集群。
  • 集成工具:支持集成 Prometheus、Grafana 等监控工具。

缺点

  • 桌面应用:作为桌面应用,可能不适合所有用户,尤其是在大型团队中。
  • 资源占用:可能会消耗较多的本地资源。

二、使用步骤

1.Lens安装

Lens 的安装非常简单,可以直接在官网找到安装包,直接下载安装即可,官网:Install Lens Desktop - Lens Documentation

博文这里直接下载使用的是windows桌面版本的,主要在于博主使用的时候,大多还是在windows系统上来对K8S集群进行管理的。

2.Lens的使用

PS:博主使用的版本信息:

安装完成后,界面如下:

可看到会有一个默认的demo项目,给提供大家做使用展示以及一些简单的操作体验;

2.1 如何将自己需要管理的K8S集群加入到管理Lens

进入自己的K8S集群中,输入命令:

kubectl config view --minify --raw

可以得到一个这样的结果:

打开lens的安装目录,创建一个无后缀的文件,名字可以随便命名,如下:

将上一步在K8S集群执行命令等到的结果内容,copy到创建的无后缀的文件中,如下:

最后,我们打开lens的桌面软件,点击Local Kubeconfigs后面的+(Add Kubeconfigs)

会自动打开文件管理器选择页面,直接选择我们上一步创建的无后缀的已经保存了K8S配置的文件,如下:

选择了之后,点击Sync之后,就可以直接在Lens的管理页面中直接看到新添加的K8S集群信息了

PS:安装Lens的windows必须和添加的集群信息server地址能正常通信,若集群信息的server地址为域名,那则需要配置本地hosts,如下图:

2.2 如何重命名和自定义K8S集群信息

找到想要重命名或需要修改信息的K8S集群,点击右键,得到下图:

选择“Show Cluster Settings”,则可进入集群配置页面:

其中CLUSTER NAME:即为展示的集群信息名称,点击后方的···,则可以上传自定义的图标;

其他的配置,博主这边并没有用到,所以这里就不介绍了,其他小伙伴可自行去研究使用。

3.Lens如何添加多集群

其实在2.1的末尾的提示中,也有简单说明过,因为Lens其实就是通过配置文件中的集群加密密钥信息、server信息来实现K8S的调度,仔细的同学就会发现,很多K8S集群的server信息其实是会重复的,尤其是走同一个模板部署方案部署出来的,而且在部署的时候没有单独配置的,就一定会重复,这样就会导致类似Lens这类管理工具,来管理的时候,无法区分不同的K8S集群,所以这里就需要针对重复的集群,来做处理,将集群的server信息改成不一致的即可,具体操作如下:

获取当前集群初始化配置

kubectl -n kube-system get configmap kubeadm-config -o jsonpath='{.data.ClusterConfiguration}' > kubeadm-init.yaml

使用命令

cat kubeadm-init.yaml

可以看到下图:

vi kubeadm-init.yaml

我们直接编辑这个文件,在certSANs里面加入研发网能够访问的k8smaster的IP,或者新增和其他已经在lens中的集群信息的hosts不一致的hosts即可,编辑完成后,保存即可;

备份证书

mv /etc/kubernetes/pki/apiserver.{crt,key} .

重新生成证书

kubeadm init phase certs apiserver --config kubeadm-init.yaml

可以得到下图(PS:不一定完全一样,因为集群的IP、hosts信息都不一样)

找到apiserver运行节点

kubectl -n kube-system get pod

如下图:

PS:不一定完全一样,宗旨就是找到apiserver所在的nodes。

通过docker杀掉容器

docker ps | grep kube-apiserver

docker kill 0967f1347df3

镜像杀掉后,通过前面的命令,来看apiserver是否正常running

kubectl -n kube-system get pod

得到所有apiserver镜像正常running后,通过下面的命令来验证结果

kubectl --kubeconfig ~/.kube/config get ns

自此改造完成,我们可以重新获取kubeconfig配置,执行命令:

kubectl config view --minify --raw --flatten

后续就和2.1完全一样的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值