kubernetes popeye 巡检

2023-09-21 22:38:39

1. 简介

Popeye是一个实用程序,可以扫描实时Kubernetes集群,并报告部署的资源和配置的潜在问题。它根据部署的内容而不是磁盘上的内容来清理集群。通过扫描您的集群,它可以检测错误配置,并帮助您确保最佳实践到位,从而防止未来的麻烦。它旨在减少在野外操作Kubernetes集群时面临的认知过载。此外,如果您的集群采用了metric-server,它会报告潜在的资源分配过多/不足,并在集群容量不足时尝试警告您。

2. 安装

下载地址:https://github.com/derailed/popeye/releases/tag/v0.11.1

wget https://github.com/derailed/popeye/releases/download/v0.11.1/popeye_Linux_x86_64.tar.gz
mkdir popeye 
mv popeye_Linux_x86_64.tar.gz popeye
cd popeye 
tar zxvf popeye_Linux_x86_64.tar.gz
cp popeye /usr/local/bin/

3. 本地

POPEYE_REPORT_DIR=$(pwd) popeye --save
或者

POPEYE_REPORT_DIR=$(pwd) ./popeye --save --out html --output-file report.html

4. 容器

你不需要构建和/或安装二进制文件来运行popeye:你可以直接从DockerHub上的官方docker repo运行它。运行docker容器时的默认命令是popeye,所以你只需要将通常传递给popeye的cli参数传递给popeye。要访问集群,请使用-v将本地kube config目录映射到容器中

  docker run --rm -it \
    -v $HOME/.kube:/root/.kube \
    derailed/popeye --context foo -n bar

使用–rm运行上面的docker命令意味着当popeye退出时容器会被删除。当你使用–保存时,它会将其写入容器中的/tmp,然后在popeye退出时删除容器,这意味着你会丢失输出。要解决这个问题,请将/tmp映射到容器的/tmp。注意:您可以通过设置POPEYE_REPORT_DIR env变量来覆盖默认的输出目录位置。

  docker run --rm -it \
    -v $HOME/.kube:/root/.kube \
    -e POPEYE_REPORT_DIR=/tmp/popeye \
    -v /tmp:/tmp \
    derailed/popeye --context foo -n bar --save --output-file my_report.txt

  # Docker has exited, and the container has been deleted, but the file
  # is in your /tmp directory because you mapped it into the container
  $ cat /tmp/popeye/my_report.txt
    <snip>
更多推荐

windows下gvim的配置

一、vim配置文件"查看自己的vimrc所在的目录"在命令模式下:echo$MYVIMRC"打开自己的vimrc文件"在命令模式下:e$MYVIMRC二、排版"查看自己当前的字体及大小"在命令模式下:setguifont?"设置默认的字体为仿宋_GB2312,大小为14号"在vimrc文件中添加setguifont=仿

嵌入式:驱动开发 Day4

作业:通过字符设备驱动分步注册方式编写LED驱动,完成设备文件和设备的绑定驱动程序:myled.c#include<linux/init.h>#include<linux/module.h>#include<linux/cdev.h>#include<linux/fs.h>#include<linux/device.h

echart在折线显示横纵(横纵线沿着折线展示)

产品有个需求,需要在echart折线上展示横纵向坐标系,echart的axisPointer默认是展示在鼠标当前位置的,不符合需求,所以是使用markline实现的在线例子和源码先上效果图实现思路横纵线的x轴线是比较容易的,因为echart的axixPointer的位置是鼠标当前坐标作的,所以x轴线直接用toltip的

【K8S系列】深入解析k8s网络插件—Cilium

序言做一件事并不难,难的是在于坚持。坚持一下也不难,难的是坚持到底。文章标记颜色说明:黄色:重要标题红色:用来标记结论绿色:用来标记论点蓝色:用来标记论点在现代容器化应用程序的世界中,容器编排平台Kubernetes已经成为标准。为了支持复杂的应用和微服务架构,网络是Kubernetes集群中不可或缺的一部分。本文将深

【Oracle】Oracle系列之六--Oracle表分区

文章目录往期回顾前言1.基本概念2.范围分区3.Hash分区(散列分区)4.复合分区往期回顾【Oracle】Oracle系列–Oracle数据类型【Oracle】Oracle系列之二–Oracle数据字典【Oracle】Oracle系列之三–Oracle字符集【Oracle】Oracle系列之四–用户管理【Oracle

【车载开发系列】AutoSar软件组件接口

【车载开发系列】AutoSar软件组件接口【车载开发系列】AutoSar软件组件接口【车载开发系列】AutoSar软件组件接口一.端口概念二.三种端口方向三.五种端口属性1)S/RPort2)C/SPort3)ModeSwitchinterface4)其他Port四.PortInterface五.PortInterfa

SSRF绕过思路

SSRFSSRF(Server-SideRequestForgery:服务器端请求伪造)是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF是要目标网站的内部系统。(因为他是从内部系统访问的,所有可以通过它攻击外网无法访问的内部系统,也就是把目标网站当中间人)形成的原因:SSRF形成的原因大都是由

Google高性能开源框架gRPC:快速搭建及HTTP/2抓包

一、什么是gRPCgRPC是google发起的一个*远程过程调用(rpc)*开源框架,可以在任何语言中,用任何编程语言编写。gRPC基于HTTP/2协议,使用ProtocolBuffers作为序列化工具。gRPC官网:https://grpc.io/RPCRemoteProcedureCall,远程过程调用协议,一种通

AI----人工智能简介

【原文链接】AI----人工智能简介一、人工智能简介1.1人工智能发展的要素数据算法计算力1.2CPU和GPU的区别CPU主要适合I/O密集型的任务GPU主要适合计算密集型任务1.3人工智能、机器学习、深度学习的联系机器学习是人工智能的实现途径深度学习是机器学习的一个方法1.4人工智能发展阶段1.5人工智能主要分支计算

需求管理-架构真题(三十四)

产品配置是指一个产品在其生命周期各个阶段所产生的各种形式(机器可读或人工可读)和各种版本的()的集合。(2021)需求规格说明、设计说明、测试报告需求规格说明、设计说明、计算机程序设计说明、用户手册、计算机程序文档、计算机程序、部件及数据答案:D解析:产品配置主要就是文档、计算机程序、部件及数据的集合。需求管理的主要活

Matlab程序结构

目录顺序结构循环结构1、for循环结构分支结构1、if...end结构2、if...else...end结构3、switch...case...end结构顺序结构顺序结构是最简单的程序结构。用户在编写玩程序后,系统就将按照程序的实际位置逐一顺次执行。例1:求a、b两个数组的和>>a=[123];>>b=[456];>>

热文推荐