K9s-Kubernetes的高级控制台

2024-03-20 09:30

本文主要是介绍K9s-Kubernetes的高级控制台,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

K9s Kubernetes CLI,可以个性化方式管理您的集群!

参考:

  • 源码,https://github.com/derailed/k9s
  • 使用方法,https://www.ctolib.com/amp/derailed-k9s.html
  • 原文链接:https://medium.com/@fernand.galiana/if-you-k8s-please-try-k9s-82ea30eb9aa3

Why K9s?

首先我们得面对现实——Kubernetes及其周边生态系统的运营方式正变得越来越复杂。集群管理需要大量工具加以配合。当我在集群之上进行日常运营时,和大家一样,我也需要观察自己使用的各种Kubernetes资源、深入了解配置、设置以及在任务没能按照预期完成时追踪问题。这个流程通常需要使用大量令人头痛、易于混淆的命令,安装/操作用途单一的CLI工具,同时配合大量自定义bash脚本。除此之外,还有各类运行状态调整需要考虑……

我知道,Kubernetes作为一款技术解决方案正面临着诸多争议,但我个人通常选择在本地开发代码并面向本地minikube实例,最后才进行Docker化转换。一般来讲,我不需要在自己的集群之上部署整个应用程序来处理任何给定服务。我发现自己的代码以及配置与资源清单是一种连续、而非独立存在的活动。因此,我的日常Kubernetes例程通常包括启动一个或多个终端窗口,其中又细分为各类选项卡/窗格,又有部分选项卡/窗格内容纳着用于监控资源的监控命令,外加用于发出kubectl并构建命令的开放CLI。

K9s工作状态

终于有一天,我对这个极为烧脑的流程做出一番考量,并意识到完全可以通过一款简单的CLI工具来观察Kubernetes资源,在各种资源之间切换,检查清单、日志、监控事件并执行Pod,从而确保自己宝贵的桌面空间不至于被大量终端窗格所占据……

因此,我编写了一款用于实现上述目标的工具!我将其命名为K9s,其工作效果如下图所示。 
640?wx_fmt=pngK9s Pod视图
这是一款基于终端的UI,会以特定时间间隔(默认为2秒)监控Kubernetes资源,并允许我查看自己集群中的内容。

我可以使用ctx<enter>命令在开发集群与生产集群之间快速导航。这款CLI还允许我按照命名空间进行过滤操作,并对大部分Kubernetes资源执行只读操作(这项功能仍在开发当中……)。如果集群卡住,我可以使用?<enter>命令列出所有受支持的资源。

K9s安装与使用

安装

K9s 可用于 Linux, OSX 和 Windows 平台。

  • 对于 Linux, Windows 和 Mac 的二进制安装包,下载到 release 页面。

  • 对于 OSX,可以使用 Homebrew安装:

    brew tap derailed/k9s && brew install k9s
  • 从源码构建 K9s,使用 go 1.12 以上版本,需要:

    1. Clone the repo

    2. Set env var GO111MODULE=on

    3. 添加下面行到 go.mod 文件

    4. replace (github.com/derailed/k9s => MY_K9S_CLONED_GIT_REPO
      )

       

    5. 构建并运行:  

    6. go run main.go

       


命令行
# List all available CLI options
k9s -h
# To get info about K9s runtime (logs, configs, etc..)
k9s info
# To run K9s in a given namespace
k9s -n mycoolns
# Start K9s in an existing KubeConfig context
k9s --context coolCtx

预先检查
  • K9s 使用 256 colors terminal mode. On `Nix system make sure TERM is set accordingly.

    export TERM=xterm-256color

K9s config file ($HOME/.k9s/config.yml)

K9s 保存配置 dot file 在 home directory。

NOTE: This is still in flux and will change while in pre-release stage!

k9s:# Indicates api-server poll intervals.refreshRate: 2# Indicates log view maximum buffer size. Default 1k lines.logBufferSize: 200# Indicates how many lines of logs to retrieve from the api-server. Default 200 lines.logRequestSize: 200# Indicates the current kube context. Defaults to current contextcurrentContext: minikube# Indicates the current kube cluster. Defaults to current context clustercurrentCluster: minikube# Persists per cluster preferences for favorite namespaces and view.clusters:cooln:namespace:active: cooliofavorites:- cassandra- defaultview:active: pominikube:namespace:active: allfavorites:- all- kube-system- defaultview:active: dp

快捷键绑定

K9s uses aliases to navigate most K8s resources.

CommandResultExample
:alias<ENTER>View a Kubernetes resource:po<ENTER>
?Show keyboard shortcuts and help 
Ctrl-aShow all available resource aliasselect+<ENTER> to view
/filterENTER>Filter out a resource view given a filter/bumblebeetuna
<Esc>Bails out of command mode 
d,vel,...Key mapping to describe, view, edit, view logs,...d (describes a resource)
:ctx<ENTER>To view and switch to another Kubernetes context:+ctx+<ENTER>
:qCtrl-cTo bail out of K9s

转载于:https://my.oschina.net/u/2306127/blog/3048858

这篇关于K9s-Kubernetes的高级控制台的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/829020

相关文章

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

Python中你不知道的gzip高级用法分享

《Python中你不知道的gzip高级用法分享》在当今大数据时代,数据存储和传输成本已成为每个开发者必须考虑的问题,Python内置的gzip模块提供了一种简单高效的解决方案,下面小编就来和大家详细讲... 目录前言:为什么数据压缩如此重要1. gzip 模块基础介绍2. 基本压缩与解压缩操作2.1 压缩文

Java中的for循环高级用法

《Java中的for循环高级用法》本文系统解析Java中传统、增强型for循环、StreamAPI及并行流的实现原理与性能差异,并通过大量代码示例展示实际开发中的最佳实践,感兴趣的朋友一起看看吧... 目录前言一、基础篇:传统for循环1.1 标准语法结构1.2 典型应用场景二、进阶篇:增强型for循环2.

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性

mysql中的group by高级用法详解

《mysql中的groupby高级用法详解》MySQL中的GROUPBY是数据聚合分析的核心功能,主要用于将结果集按指定列分组,并结合聚合函数进行统计计算,本文给大家介绍mysql中的groupby... 目录一、基本语法与核心功能二、基础用法示例1. 单列分组统计2. 多列组合分组3. 与WHERE结合使

使用Java将实体类转换为JSON并输出到控制台的完整过程

《使用Java将实体类转换为JSON并输出到控制台的完整过程》在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用JSON格式,用Java将实体类转换为J... 在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用j

PyTorch高级特性与性能优化方式

《PyTorch高级特性与性能优化方式》:本文主要介绍PyTorch高级特性与性能优化方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、自动化机制1.自动微分机制2.动态计算图二、性能优化1.内存管理2.GPU加速3.多GPU训练三、分布式训练1.分布式数据

Spring Boot集成SLF4j从基础到高级实践(最新推荐)

《SpringBoot集成SLF4j从基础到高级实践(最新推荐)》SLF4j(SimpleLoggingFacadeforJava)是一个日志门面(Facade),不是具体的日志实现,这篇文章主要介... 目录一、日志框架概述与SLF4j简介1.1 为什么需要日志框架1.2 主流日志框架对比1.3 SLF4

Spring Boot集成Logback终极指南之从基础到高级配置实战指南

《SpringBoot集成Logback终极指南之从基础到高级配置实战指南》Logback是一个可靠、通用且快速的Java日志框架,作为Log4j的继承者,由Log4j创始人设计,:本文主要介绍... 目录一、Logback简介与Spring Boot集成基础1.1 Logback是什么?1.2 Sprin