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

相关文章

深入解析Spring TransactionTemplate 高级用法(示例代码)

《深入解析SpringTransactionTemplate高级用法(示例代码)》TransactionTemplate是Spring框架中一个强大的工具,它允许开发者以编程方式控制事务,通过... 目录1. TransactionTemplate 的核心概念2. 核心接口和类3. TransactionT

IDEA如何让控制台自动换行

《IDEA如何让控制台自动换行》本文介绍了如何在IDEA中设置控制台自动换行,具体步骤为:File-Settings-Editor-General-Console,然后勾选Usesoftwrapsin... 目录IDEA如何让控制台自http://www.chinasem.cn动换行操作流http://www

IDEA运行spring项目时,控制台未出现的解决方案

《IDEA运行spring项目时,控制台未出现的解决方案》文章总结了在使用IDEA运行代码时,控制台未出现的问题和解决方案,问题可能是由于点击图标或重启IDEA后控制台仍未显示,解决方案提供了解决方法... 目录问题分析解决方案总结问题js使用IDEA,点击运行按钮,运行结束,但控制台未出现http://

Kubernetes常用命令大全近期总结

《Kubernetes常用命令大全近期总结》Kubernetes是用于大规模部署和管理这些容器的开源软件-在希腊语中,这个词还有“舵手”或“飞行员”的意思,使用Kubernetes(有时被称为“... 目录前言Kubernetes 的工作原理为什么要使用 Kubernetes?Kubernetes常用命令总

Python如何使用seleniumwire接管Chrome查看控制台中参数

《Python如何使用seleniumwire接管Chrome查看控制台中参数》文章介绍了如何使用Python的seleniumwire库来接管Chrome浏览器,并通过控制台查看接口参数,本文给大家... 1、cmd打开控制台,启动谷歌并制定端口号,找不到文件的加环境变量chrome.exe --rem

Python中列表的高级索引技巧分享

《Python中列表的高级索引技巧分享》列表是Python中最常用的数据结构之一,它允许你存储多个元素,并且可以通过索引来访问这些元素,本文将带你深入了解Python列表的高级索引技巧,希望对... 目录1.基本索引2.切片3.负数索引切片4.步长5.多维列表6.列表解析7.切片赋值8.删除元素9.反转列表

正则表达式高级应用与性能优化记录

《正则表达式高级应用与性能优化记录》本文介绍了正则表达式的高级应用和性能优化技巧,包括文本拆分、合并、XML/HTML解析、数据分析、以及性能优化方法,通过这些技巧,可以更高效地利用正则表达式进行复杂... 目录第6章:正则表达式的高级应用6.1 模式匹配与文本处理6.1.1 文本拆分6.1.2 文本合并6

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略 1. 特权模式限制2. 宿主机资源隔离3. 用户和组管理4. 权限提升控制5. SELinux配置 💖The Begin💖点点关注,收藏不迷路💖 Kubernetes的PodSecurityPolicy(PSP)是一个关键的安全特性,它在Pod创建之前实施安全策略,确保P

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP