安装Lens Best Kubernetes仪表板和IDE

时间:2020-02-23 14:31:44  来源:igfitidea点击:

在谈论容器时,我相信我们知道过去五年左右所获得的那种热情,骚动,关注和关注。组织实际上已经动摇,重组,其他组织则在思考这种处理基础结构和业务应用程序范式将带来的机遇,风险和挑战。目前,开发人员,DevOps工程师,运营团队和蓝色团队正竭尽所能,以评估这种令人眼花of乱的容器化应用新趋势的可行性。

在此讨论和范式转换的核心是著名的名称,例如Kubernetes,Docker,Podman,OpenShift,containerted,CRI-O,Rancher等。我们有相当一部分人,我们相信我们已经燃烧了午夜的石油,以了解它们的全部含义。

今天,我们在这个广阔的领域中引入了另一个名称和播放器,其名称叫Lens,被称为Kubernetes IDE。由于其功能使Kubernetes的管理变得友好,它已变得越来越受欢迎。那么这是什么镜头?

为简单起见,Lens是一个适用于MacOS,Windows和Linux操作系统的独立应用程序,可帮助人们对自己的Kubernetes集群具有更深,更好,更漂亮的外观和见解。对于需要每天处理Kubernetes集群的人来说,它是功能最强大的IDE。它可以帮助确保正确设置和配置其群集,增加其可见性,获取实时统计信息,日志流和动手故障排除功能。使用Lens,我们可以更轻松,更快速地使用群集,从而从根本上提高生产力和业务速度。最好的是,它是开源和免费的。猜猜是什么,我们可以为这个高贵的项目做出贡献,并成为其美丽的一部分。

Lens功能

除了我们已经讨论过的Lens之外,它还具有其他功能:多群集管理:从单个统一IDE放心地访问和使用群集。 Lens适用于任意数量的Kubernetes集群。内置Prometheus统计信息:查看作为仪表板一部分集成的所有相关图形和资源利用率图表。 Lens带有一个内置的多租户Prometheus设置,该设置将尊重每个用户的RBAC。上下文感知终端:内置终端附带的kubectl始终与群集在正确的上下文中API兼容。 Lens内置终端将确保Kubernetes集群API的版本与kubectl的版本兼容。多个工作区:将集群组织为逻辑组。工作区用于将多个群集组织成逻辑组。

为了测试和查看Lens的功能,我们将在Linux虚拟机上安装k3,然后将Lens连接到它来查看指标并监视其运行状况。 K3s是经过认证的高可用性Kubernetes发行版,设计用于无人值守,资源受限的远程位置或者IoT设备内部的生产工作负载。首先,让我们在Linux上安装k3s。

在Linux上安装k3(如果没有Kubernetes集群,则为可选)

运行以下命令以下载并安装k3:

$curl -sfL https://get.k3s.io | sudo sh 

[INFO]  Finding release for channel stable
[INFO]  Using v1.18.8+k3s1 as release
[INFO]  Downloading hash https://github.com/rancher/k3s/releases/download/v1.18.8+k3s1/sha256sum-amd64.txt
[INFO]  Downloading binary https://github.com/rancher/k3s/releases/download/v1.18.8+k3s1/k3s
[INFO]  Verifying binary download
[INFO]  Installing k3s to /usr/local/bin/k3s
[INFO]  Creating /usr/local/bin/kubectl symlink to k3s
[INFO]  Creating /usr/local/bin/crictl symlink to k3s
[INFO]  Creating /usr/local/bin/ctr symlink to k3s
[INFO]  Creating killall script /usr/local/bin/k3s-killall.sh
[INFO]  Creating uninstall script /usr/local/bin/k3s-uninstall.sh
[INFO]  env: Creating environment file /etc/systemd/system/k3s.service.env
[INFO]  systemd: Creating service file /etc/systemd/system/k3s.service
[INFO]  systemd: Enabling k3s unit
Created symlink /etc/systemd/system/multi-user.target.wants/k3s.service → /etc/systemd/system/k3s.service.
[INFO]  systemd: Starting k3s

检查节点是否正常

$sudo k3s kubectl get node

NAME        STATUS   ROLES    AGE   VERSION
localhost   Ready    master   20m   v1.18.8+k3s1

鉴于此,这意味着我们现在继续进入Lens。让我们安装镜头。

可在K3s主页上找到有关K3的更多信息,我们可以通过在5分钟内使用K3s教程详细了解我们的Deploy Lightweight Kubernetes集群部署,将其扩展到其他节点。

其他Kubernetes安装教程:

使用Rancher RKE安装生产Kubernetes集群

使用kubeadm在Ubuntu上安装Kubernetes集群

使用EKS轻松在AWS上设置Kubernetes集群

安装Lens Kubernetes仪表板和IDE

要安装Lens,我们可以从发布页面下载预构建的软件包,也可以通过snapcraft(仅限Linux)安装它。我在Manjaro上,将使用snapcraft方式。如果我们使用的是Windows,请访问上面的链接并下载Windows版本,由于该版本已经预先构建,因此安装非常简单。

启用捕捉

--- Arch Linux/Manjaro --
sudo pacman -S snapd

--- Ubuntu/Debian --
sudo apt update
sudo apt install snapd

--- CentOS --
sudo yum install epel-release
sudo yum install snapd

安装完成后,需要按以下方式启用用于管理主快速通信插座的systemd单元:

sudo systemctl enable --now snapd.socket

要启用经典快照支持,请输入以下内容在/var/lib/snapd/snap和/snap之间创建符号链接:

sudo ln -s /var/lib/snapd/snap /snap

重新启动计算机,以确保所有路径都相应更新。

备份PC后,只需运行以下命令即可安装Lens:

sudo snap install kontena-lens --classic

如果在Mac上,则以下命令足以安装Lens。

brew cask install lens

现在,我们可以像其他图形应用程序一样启动Lens。

使用Lens进行Kubernetes集群访问

默认情况下,lens查找~/.kube/config文件,该文件包含有关如何连接到Kubernetes集群的信息。在安装K3的服务器中,存储在/etc/rancher/k3s/k3s.yaml中的kubeconfig文件用于配置对Kubernetes集群的访问。

要从个人计算机(Linux,Windows或者macOS)上安装的Lens访问群集,请在群集之外的计算机上将~/.kube/config复制/etc/rancher/k3s/k3s.yaml。因此,我从服务器获取了/etc/rancher/k3s/k3s.yaml,创建了.kube目录,并将文件复制到其中,并将其重命名为config。

在服务器上

sudo cp /etc/rancher/k3s/k3s.yaml /home/tech
sudo chown tech:tech /home/tech/k3s.yaml

在本地计算机上

$cd ~
$mkdir .kube
$cd ~/.kube
$sftp theitroad@localhost
sftp> get k3s.yaml

Press Ctrl+d to exit

$mv k3s.yaml config

然后,我用K3s服务器的IP或者名称替换了localhost。该文件的内容如下所示:

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJWekNCL3FBREFnRUNBZ0VBTUFvR0NDcUdTTTQ5QkFNQ01DTXhJVEFmQmdOVkJBTU1HR3N6Y3kxelpYSjIKWlhJdFkyRkFNVFU1T0RZek56Y3dOakFlRncweU1EQTRNamd4T0RBeE5EWmFGdzB6TURBNE1qWXhPREF4TkRaYQpNQ014SVRBZkJnTlZCQU1NR0dzemN5MXpaWEoyWlhJdFkyRkFNVFU1T0RZek56Y3dOakJaTUJNR0J5cUdTTTQ5CkFnRUdDQ3FHU000OUF3RUhBMElBQkdDVXY2WHRoQ2lGRVQySEowNm5ac1d5aFN4UTBvNmZ4NlBhNGJnc21qcmQKNUZzcThvNUt0UEUrTW92UjRhNERIdy9aZDh1TkNlSmNRb2lVRXByYms4V2pJekFoTUE0R0ExVWREd0VCL3dRRQpBd0lDcERBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSUdaSTBNU3hteXN6ClppbFYwQWY2RzB6Ri8zOW1LWEdQTytYQ3VxK2E2L1FEQWlFQXFtbU93WFlXbWtPVGZONEF3eUg1ZjRaVDR1ZVkKY1dwVFVxQmtSdWMrM1RJPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
    server: https://192.168.121.108:6443
  name: default
contexts:
- context:
    cluster: default
    user: default
  name: default
current-context: default
kind: Config
preferences: {}
users:
- name: default
  user:
    password: 1f9472d132670bd38c14c44ae7c8b415
    username: admin

更改服务器:https://192.168.121.108:6443指向安装K3的服务器。确保端口6443也可以从外部访问。

启动Lens

一旦所有配置看起来都不错,就该启动Lens并尝试连接到我们的K3s集群了。第一页应如下所示。单击+号添加集群。

将显示类似于以下插图的页面。在标有Kubeconfig的下拉菜单中,单击箭头,我们应该看到自动发现的默认值。

如果默认情况下未发现它,请选择"自定义",然后将与上面显示的内容相似的内容粘贴到将在其下方显示的文本区域。完成后,单击添加群集。如果一切顺利,群集详细信息将显示如下。

如果由于缺少或者无效的Prometheus配置而看到消息"度量标准不可用",只需右键单击群集图标(大+),然后单击设置。

在那里,安装指标并选择Lens作为Prometheus安装方法。这将部署一个prometheus pod来处理指标。

几秒钟后,仪表板上应填充漂亮的统计信息和图表。

查看节点

要查看节点,只需单击集群,然后单击提供的"节点"菜单。

查看工作量

"工作负载"选项卡具有子菜单项,例如Pod,Deployments,DaemonSets等,我们可以从界面中进行查看。

查看网络资源

同样,在"网络"选项卡下,我们将查看显示的"端点,入口和网络服务"。每个配置的服务也将在此处可见。

查看豆荚及其日志

Lens无需登录群集终端即可查看Pod日志,因此脱颖而出。只需单击工作负载下的Pod。从那里,我们应该看到所有Pod,并且在每个Pod的最右侧,有3个垂直点。单击每个将弹出其他菜单项,包括日志,shell,编辑和删除。

接入节点shell

从Lens界面,我们可以方便地访问节点shell。单击节点,然后在每个节点的最右侧,单击三个垂直点,然后选择shell。如下所示,应打开一个终端,我们可以在不离开Lens的情况下发出紧急命令。