Kubernetes:分享一个很简洁的 k8s 管理工具 Skooner

news2024/9/22 19:36:00

写在前面

  • 博文内容为 Skooner 简单介绍
  • 包括下载安装导入集群基本功能使用
  • Skooner 的 sa 使用的当前命名空间默认的 sa
  • 不会显示创建 sa ,当然可以单独创建
  • 理解不足小伙伴帮忙指正

我所渴求的,無非是將心中脫穎語出的本性付諸生活,為何竟如此艱難呢 ------赫尔曼·黑塞《德米安》


简单介绍

Skooner 之前的名字叫做 k8dash ,现在修改为 Skooner, Skooner 是用来管理 Kubernetes 集群的一个工具。现在是Cloud Native Computing Foundation的一个沙盒项目!在功能是使用上有些类似 于 Headlamp .

Skooner 的特性:

  • 完整的集群管理:命名空间、节点、Pod、副本集、部署、存储、RBAC 等
  • 速度极快且永远在线:无需刷新页面即可查看最新的集群状态
  • 一目了然地快速可视化集群健康状况:实时图表有助于快速追踪性能不佳的资源
  • 简单的 CRUD 和缩放:加上内联 API 文档以轻松理解每个字段的作用
  • 100% 响应(在您的手机/平板电脑上运行)
  • 简单的 OpenID 集成:不需要特殊的代理
  • 简单安装:使用提供的 yaml 资源在 1 分钟内启动并运行 skooner(不,说真的)

下载安装

┌──[root@liruilongs.github.io]-[~/.kube]
└─$curl -o kubernetes-skooner.yaml  https://raw.githubusercontent.com/skooner-k8s/skooner/master/kubernetes-skooner.yaml

YAML 文件拉取下来需要做简单修改。

这里不使用 Ingress ,svc 设置为 type: NodePort, 谷歌镜像国内拉不下来,所以换成 docker 的。

        #image: ghcr.io/skooner-k8s/skooner:stable
        image: docker.io/ymuski/skooner:latest

然后直接部署

┌──[root@vms81.liruilongs.github.io]-[~/ansible/skooner]
└─$kubectl apply  -f kubernetes-skooner.yaml
deployment.apps/skooner created
service/skooner created

skooner 由一个 deploy 和一个 svc 构成

┌──[root@vms81.liruilongs.github.io]-[~/ansible/skooner]
└─$kubectl get svc skooner
NAME      TYPE       CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
skooner   NodePort   10.108.72.51   <none>        80:32334/TCP   9m

浏览器访问: http://192.168.26.81:32334/#!。 登录需要 tocker。

对应的 pod 默认使用的 default 的 SA,所以我们直接获取 defaule 的sa 对应的 token 来登录。

┌──[root@vms81.liruilongs.github.io]-[~/ansible/skooner]
└─$kubectl get pods skooner-5b65f884f8-9cs4k -o json |  jq  .spec.serviceAccount
"default"

这里默认情况下 么有授权。我们需要给 default 的 sa 授权。

┌──[root@vms81.liruilongs.github.io]-[~/ansible/skooner]
└─$kubectl create clusterrolebinding default --clusterrole=cluster-admin --serviceaccount=default:default
clusterrolebinding.rbac.authorization.k8s.io/default created

当然也可以创建新的 sa

# Create the service account in the current namespace (we assume default)
kubectl create serviceaccount skooner-sa

# Give that service account root on the cluster
kubectl create clusterrolebinding skooner-sa --clusterrole=cluster-admin --serviceaccount=default:skooner-sa

# Find the secret that was created to hold the token for the SA
kubectl get secrets

# Show the contents of the secret to extract the token
kubectl describe secret skooner-sa-token-xxxxx

获取 tocker

┌──[root@vms81.liruilongs.github.io]-[~/ansible/skooner]
└─$kubectl describe secrets  default-token-xg77h
Name:         default-token-xg77h
Namespace:    kube-system
Labels:       <none>
Annotations:  field.cattle.io/projectId: local:p-f4zjg
              kubernetes.io/service-account.name: default
              kubernetes.io/service-account.uid: ea334cb4-6824-4186-a69f-3272c5d232e3

Type:  kubernetes.io/service-account-token

Data
====
namespace:  11 bytes
token:      eyJhbGciOiJSUzI1NiIsImtpZCI6ImF2MmJVZ3d6M21JRC1BZUwwaHlDdzZHSGNyaVJON1BkUHF6MlhPV2NfX00ifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXhnNzdoIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJlYTMzNGNiNC02ODI0LTQxODYtYTY5Zi0zMjcyYzVkMjMyZTMiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.L_3xXrmistiAJ9G-BKETpH3wHejd8bnc5uPskHgF-oXefNNJb6OXLisX0gdrPJe33dVl0w84N6nXB_EOtbc0yvGwN9my60PS08smoGiz2lxJ-x0R8EtvI8lNKMWnc7R8Kmt4I_3aFUQs3XIL2M4Kfnb3wCFu-OaqRwpyi2qkxTBMAhdWckUUt1OgzYklf96W2wfpcpYEXoIK1qVyfq8l9zJyjZ8HCX4lHbEmHh1h-Mxng7lRPnGbgi9tFdZzsm5mB4xPIC6RWnBmkXBGL2gZcCdhUE2eidkWBlN5DfbF_qKzgyC-qrY4IB1WzkyUgigKczzh56QiUrlUbTUGMIGl6Q
ca.crt:     1099 bytes

登录 skooner ,查看某一命名空间资源信息

查看集群信息

关于 Skooner 就和小伙伴们分享到这个,感兴趣的小伙伴可以去试试。

博文参考


https://github.com/presidenten/skooner

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/177048.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring_FrameWork_10(MyBatisPlus)

lombok mybatis:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImplTestvoid selectById(){IPage page new Page(2,2);bookDao.selectPage(page,null);System.out.println("当前页码值&#xff1a;"page.getCurrent());System.out.println…

Java---微服务---Nacos集群搭建

Nacos集群搭建1.集群结构图2.搭建集群2.1.初始化数据库2.2.下载nacos2.3.配置Nacos2.4.启动2.5.nginx反向代理2.6.优化1.集群结构图 官方给出的Nacos集群图&#xff1a; 其中包含3个nacos节点&#xff0c;然后一个负载均衡器代理3个Nacos。这里负载均衡器可以使用nginx。 我们…

解锁Windows所有电源选项

20230123 By wdhuag 目录 参考&#xff1a; 查看当前选项&#xff1a; 警告&#xff01;修改前&#xff0c;先使用Registry Workshop备份注册表&#xff0c;导出PowerSettings&#xff1a; 在PowerSettings里增加Attributes参数&#xff08;十六进制、数值2&#xff09;&a…

Shell脚本从入门到实战

Shell 文章目录Shellshell概述Shell脚本入门1. 脚本格式2. 第一个Shell脚本:helloworld3. 第二个Shell脚本&#xff1a;多命令处理Shell中的变量系统变量1. 常用系统变量2. 案例实操自定义变量1. 基本语法2. 变量定义规则特殊变量&#xff1a;$n特殊变量&#xff1a;$#特殊变量…

零基础学JavaWeb开发(二十二)之 springmvc入门到精通

一、SpringMVC概述 1、三层架构与MVC架构区别 1.1、三层架构 表示层&#xff1a;主要对用户的请求接受&#xff0c;以及数据的返回&#xff0c;为客户端提供应用程序的访问。 servlet层 业务逻辑层&#xff1a;对我们数据实现业务逻辑的封装 service层 数据访问层&#xf…

【Java|golang】2303. 计算应缴税款总额

给你一个下标从 0 开始的二维整数数组 brackets &#xff0c;其中 brackets[i] [upperi, percenti] &#xff0c;表示第 i 个税级的上限是 upperi &#xff0c;征收的税率为 percenti 。税级按上限 从低到高排序&#xff08;在满足 0 < i < brackets.length 的前提下&am…

【JavaScript】多态(Symbol),迭代器接口,getter/setter

❤️ Author&#xff1a; 老九 ☕️ 个人博客&#xff1a;老九的CSDN博客 &#x1f64f; 个人名言&#xff1a;不可控之事 乐观面对 &#x1f60d; 系列专栏&#xff1a; 文章目录多态symbol迭代器接口实现数组的迭代器方法练习Getter/Setter多态 我拿到一个对象&#xff0c;这…

【JavaScript】正则表达式详解

&#x1f4bb;【JavaScript】正则表达式&#x1f3e0;专栏&#xff1a;JavaScript &#x1f440;个人主页&#xff1a;繁星学编程&#x1f341; &#x1f9d1;个人简介&#xff1a;一个不断提高自我的平凡人&#x1f680; &#x1f50a;分享方向&#xff1a;目前主攻前端&#…

MySQL(五):事务简介、事务的特性、事务的概念及状态、支持事务的引擎

目录一、事务的起源二、事务的特性2.1 原子性(Atomicity)2.2 隔离性(Isolation)2.3 一致性(Consistency)2.4 持久性(Durability)三、事务的概念及状态四、支持事务的引擎一、事务的起源 事务源于日常生活中的业务&#xff0c;现有这样的一个场景&#xff0c;A账户有11元&#…

人工智能学习06--pytorch04--transforms

transforms主要对图片进行一些变换 transform该如何使用&#xff08;python&#xff09; 从transform中选择一个class&#xff0c;进行创建 依据创建的工具看需要什么&#xff08;如img&#xff09; 为什么需要tensor的数据类型 tensor数据类型&#xff1a;包装了神经网络…

opencv win10 4.7.0 源码编译 vs2019 cmake

下载opencv & opencv-contrib 4.7.0源码&#xff1b;注意下载地址https://github.com/opencv/opencv/releases https://github.com/opencv/opencv_contrib/releases/tag/4.7.0 版本要一模一样cmake输出文件夹为&#xff1a;opencv-4.7.0-build 遇到下载问题如下&#xf…

常见递归模式

常见递归模式递归模式遍历二叉树模式回溯模式子问题分解模式递归模式 常见递归模式&#xff1a; 遍历二叉树模式回溯模式子问题分解模式 遍历二叉树模式 只要涉及递归的问题&#xff0c;都是树的问题&#xff0c;或者说树的遍历。 void traverse(TreeNode root) { // 遍历…

混合背包问题

混合背包问题一、问题二、分析三、代码一、问题 二、分析 混合背包问题就是将我们之前讲过的01背包&#xff0c;完全背包&#xff0c;分组背包&#xff0c;多重背包问题等等中的任意几个混合在一起。因此想要解决这个问题&#xff0c;就需要对01背包&#xff0c;完全背包&…

PDF划词翻译软件

PDF划词翻译 一个简单的PDF划词翻译软件。 Github仓库地址&#xff1a;https://github.com/WCX1024979076/simple_pdf_translator Github下载地址&#xff1a; https://github.com/WCX1024979076/simple_pdf_translator/releases/tag/v0.1.0 Gitee仓库地址&#xff1a; htt…

ROS2机器人编程简述humble-第三章-COMPUTATION GRAPH .2

ROS2机器人编程简述humble-第三章-PERCEPTION AND ACTUATION MODELS .1避开障碍物计算图如何呢&#xff1f;该应用程序的计算图非常简单&#xff1a;订阅激光主题的节点向机器人发布速度命令。控制逻辑解释&#xff1a;输入的感知信息并产生控制命令&#xff08;输出&#xff0…

深度学习:DenseNet思想总结

深度学习&#xff1a;DenseNet思想总结前言DenseNetResNetDense connectionComposite functionPooling layersGrowth rateBottleneck layersCompressionImplementation Details总结前言 论文中提出的架构为了确保网络层之间的最大信息流&#xff0c;将所有层直接彼此连接。为了…

JUC面试(八)——阻塞队列

阻塞队列 队列&#xff0c;FIFO BlockingQueue 阻塞队列&#xff0c;排队拥堵&#xff0c;首先它是一个队列&#xff0c;而一个阻塞队列在数据结构中所起的作用大致如下图所示&#xff1a; 线程1往阻塞队列中添加元素&#xff0c;而线程2从阻塞队列中移除元素 当阻塞队列是空…

Java基础(程序流程控制)

程序流程控制1..顺序结构程序从上到下逐行执行&#xff0c;中间没有判断和跳转2.分支结构根据条件&#xff0c;选择性执行某段代码有if-else和switch-case两种分支需要注意根据相应的方法&#xff0c;来输入指定类型的值。如果不匹配则会异常&#xff1a;InputMisMatchExceptio…

结构型模式-桥接模式

1.概述 现在有一个需求&#xff0c;需要创建不同的图形&#xff0c;并且每个图形都有可能会有不同的颜色。我们可以利用继承的方式来设计类的关系&#xff1a; 我们可以发现有很多的类&#xff0c;假如我们再增加一个形状或再增加一种颜色&#xff0c;就需要创建更多的类。试…

2.5总线标准

文章目录一、引子二、总线标准1.基本概念2.总线标准&#xff08;1&#xff09;系统总线①ISA②EISA扩展总线③拓展&#xff08;2&#xff09;局部总线①VESA②PCI③AGP④PCI-E&#xff08;3&#xff09;设备总线①RS-232C②SCSI③PCMCIA④USB3.连接硬盘总线标准①IDE②SATA三、…