首页 > 其他分享 >K8S资源管理工具-kor

K8S资源管理工具-kor

时间:2024-03-15 14:02:07浏览次数:19  
标签:kor -- namespace 资源 使用 Kor 资源管理 K8S

 

Kor 是一个用于发现未使用的 Kubernetes 资源的工具。以下是 Kor 的安装和使用命令的整理:
GitHub:https://github.com/yonahd/kor
安装 Kor
下载二进制文件
从 Kor 的 GitHub 仓库的 Release 页面 下载适合您操作系统的二进制文件,并将其添加到系统的 PATH 中。

使用 Homebrew(仅限 macOS 用户)
brew install kor
从源代码构建
go install github.com/yonahd/kor@latest
使用 Docker
运行一个容器,并将您的 kubeconfig 挂载到容器中:

docker run --rm -i yonahdissen/kor

docker run --rm -i -v "/path/to/.kube/config:/root/.kube/config" yonahdissen/kor all
作为 Kubectl 插件
kubectl krew install kor
使用 Helm
在集群中作为 cronjob 运行(可选配置为发送 Slack 更新):

helm upgrade -i kor \
    --namespace kor \
    --create-namespace \
    --set cronJob.enabled=true \
    ./charts/kor
或者作为集群中的部署,暴露 Prometheus 指标:

helm upgrade -i kor \
    --namespace kor \
    --create-namespace \
    ./charts/kor
使用 Kor
Kor 提供了多个子命令来识别和列出未使用的资源。可用的命令包括:

all: 获取指定命名空间或所有命名空间的所有未使用资源。
configmap: 获取指定命名空间或所有命名空间的未使用 ConfigMaps。
secret: 获取指定命名空间或所有命名空间的未使用 Secrets。
...(其他资源的命令类似)
支持的旗帜(Flags)
--delete: 删除未使用的资源。
-l, --exclude-labels: 排除标签选择器。
--exclude-namespaces: 排除命名空间。
-h, --help: Kor 的帮助信息。
--include-labels: 包含标签选择器。
-n, --include-namespaces: 运行的命名空间。
-k, --kubeconfig: kubeconfig 文件路径。
--newer-than: 考虑未使用的资源的最大年龄。
--no-interactive: 删除资源时不提示确认。
--older-than: 考虑未使用的资源的最小年龄。
-o, --output: 输出格式(table, json 或 yaml),默认为 "table"。
--slack-auth-token: 发送通知到 Slack 的认证令牌。
--slack-channel: 发送通知到的 Slack 频道。
--slack-webhook-url: 发送通知到的 Slack webhook URL。
-v, --verbose: 详细输出。
示例使用
获取特定命名空间中的所有未使用资源:

kor all --include-namespaces my-namespace
获取特定命名空间中未使用的 ConfigMaps 并尝试删除:

kor configmap --include-namespaces my-namespace --delete
获取帮助信息:

kor [subcommand] --help
注意事项
使用 --delete 旗帜时请谨慎,因为它会删除资源。
可以通过添加 kor/used=true 标签来忽略某些资源。
通过添加 kor/used=false 标签可以强制清理资源。
这些是 Kor 的基本使用命令和旗帜的概述。更多详细信息和资源特定的使用说明,可以通过查看 Kor 的 GitHub 仓库中的 README 文件来获取。

 

标签:kor,--,namespace,资源,使用,Kor,资源管理,K8S
From: https://www.cnblogs.com/libruce/p/18075252

相关文章

  • Gitlab+Jenkins+Docker+Harbor+K8s集群搭建CICD平台(持续集成部署Hexo博客Demo)
    目录涉及内容:一、CICD服务器环境搭建1、docker环境安装(1)、拉取镜像,启动并设置开机自启(2)、配置docker加速器2、安装并配置GitLab(1)、创建共享卷目录(2)、创建gitlab容器(3)、关闭容器修改配置文件(4)、修改完配置文件之后。直接启动容器(5)、相关的git命令(针对已存在的文件夹)3、安装配......
  • 基于centos7的k8s最新版v1.29.2安装教程
    k8s概述Kubernetes是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。Kubernetes拥有一个庞大且快速增长的生态,其服务、支持和工具的使用范围相当广泛。Kubernetes 这个名字源于希腊语,意为“舵手”或“飞行员”。k8s这个缩写是因......
  • k8s 相关问题汇总
    拉镜像报错某个目录找不到Failedtopullimage"xxx.xxx.cn/cem/cem-python:cemhikvision-1ad4685-20240314140514":rpcerror:code=Unknowndesc=failedtopullandunpackimage"xxx.xxx.cn/cem/cem-python:cemhikvision-1ad4685-20240314140514":failed......
  • CentOS 7.9 环境下搭建k8s集群(一主两从)
    目录一、硬件准备(虚拟主机)二、环境准备1、所有机器关闭防火墙2、所有机器关闭selinux3、所有机器关闭swap4、所有机器上添加主机名与ip的对应关系5、在所有主机上将桥接的ipv4流量传递到iptables的链三、为所有节点安装docker四、集群部署1、为所有节点修改仓库,安装kubeadm、kubel......
  • k8s
    概念组件主控制台(master)+节点(worker)pod是最小单位,可以有一个容器和多个容器k8s管理工具 ......
  • 解决 K8sApi 部署后报 Unknown apiVersionKind apps/v1/Deployment is it registered?
    该功能在本地调试时是正常的,部署到服务器时报错。Jdk11+SpringBoot2.7.5,依赖:<dependency><groupId>io.kubernetes</groupId><artifactId>client-java</artifactId><version>20.0.0</version>......
  • 使用Minikube 部署单节点 Kubernetes(K8s)集群通常用于开发环境或测试环境
    部署单节点Kubernetes(K8s)集群通常用于开发环境或测试环境,而不是生产环境,因为在单节点上运行的集群无法提供高可用性保证。以下是一个简化的步骤来在一台机器上部署单节点Kubernetes集群:使用Minikube部署单节点K8sMinikube是一个工具,它使得在本地机器(比如笔记本电脑)上搭建......
  • 基于k8s的Kubernetes进程管理
    鱼弦:公众号【红尘灯塔】,CSDN内容合伙人、CSDN新星导师、全栈领域优质创作者、51CTO(Top红人+专家博主)、github开源爱好者(go-zero源码二次开发、游戏后端架构https://github.com/Peakchen)基于Kubernetes的Kubernetes进程管理1.简介基于Kubernetes的Kubernetes......
  • k8s
    k8s1、为什么要使用k8s了解架构对比: 物理机:将多个服务分配给一个机器,如果一个服务占用了大量资源,其余服务性能会下降 将多个服务分开到不同机器,对资源浪费太厉害,成本太高 虚拟机:解决了应用之间运行在同一台物理机上对资源的争抢问题,每个虚拟机都拥有独立的操作系统 容器......
  • 节点加入k8s 集群的步骤
    使用kubeadm初始化集群成功后会返回join命令,里面包含token,discovery-token-ca-cert-hash等参数token的过期时间是24hcertrificate-key过期时间是2小时如果不记得,可以执行下面的命令获取1.如果没有超过24h,用下面的命令获取(主要查看是否过期)kubeadmtokenlist2.......