草庐IT

kube-downscaler

全部标签

Kubernetes实战(十三)-使用kube-bench检测Kubernetes集群安全

1概述在当今云原生应用的开发中,Kubernetes已经成为标准,然而,随着其使用的普及,也带来了安全问题的挑战。本文将介绍如何使用kube-bench工具来评估和增强Kubernetes集群的安全性。2 CIS(CenterforInternetSecurity)简介CIS(CenterforInternetSecurity)是一家致力于网络安全的非营利组织。它提供一系列针对各种操作系统和应用程序的基线安全标准,这些标准被广泛认可,是防止网络攻击的有效手段。CIS基准是由美国计算机互联网安全中心(CenterforInternetSecurity,简称CIS)制定的一系列全球公认的最佳实践标

聊聊kube-scheduler如何完成调度和调整调度权重

本文分享自华为云社区《kube-scheduler如何完成调度和调整调度权重》,作者:可以交个朋友。一、概述Kube-scheduler作为k8s集群的默认调度器,它监听(watch机制)kube-apiserver,查询还未调度的pod,根据调度策略将pod调度至集群内最适合的Node二、调度流程首先我们通过API或者kubectl工具创建pod,kube-apiserver收到请求信息存储到etcd中,调度器通过watch机制监听apiserver查看到还未被调度的pod列表,循环遍历的为每个pod尝试分配node,这个分配过程如下:kube-scheduler内Informer组件lis

聊聊 Kube-Apiserver 内存优化进阶

原理内存优化是一个经典问题,在看具体 K8S 做了哪些工作之前,可以先抽象一些这个过程,思考一下如果是我们的话,会如何来优化。这个过程可以简单抽象为外部并发请求从服务端获取数据,如何在不影响吞吐的前提下降低服务端内存消耗?一般有几种方式:缓存序列化的结果优化序列化过程内存分配数据压缩在这个场景可能不适用,压缩确实可以降低网络传输带宽,从而提升请求响应速度,但对服务端内存的优化没有太大的作用。kube-apiserver已经支持基于gzip的数据压缩,只需要设置 Accept-Encoding 为gzip即可,详情可以参考官网[1]介绍。当然缓存序列化的结果适用于客户端请求较多的场景,尤其是服务

【K8S认证】2023年CKS考题-Kube-Bench基准修复(解析+答案)

题目:k8sKube-Bench不安全项修复Context:针对kubeadm创建的cluster运行CIS基准测试工具时,发现了多个必须立即解决的问题。Task:通过配置修复所有问题并重新启动受影响的组件以确保新的设置生效。修复针对API服务器发现的所有以下违规行为:1.2.7Ensurethatthe--authorization-modeargumentisnotsettoAlwaysAllow FAIL1.2.8Ensurethatthe--authorization-modeargumentincludesNode FAIL1.2.9Ensurethatthe--authorizat

Kubernetes 漫游:Kube-Scheduler

概述什么是kube-scheduler?Kubernetes 集群的核心组件之一,它负责为新创建的Pods分配节点。它根据多种因素进行决策,包括:1. 资源需求和限制:考虑每个Pod请求的资源量(如CPU和内存)以及节点上可用的资源。2. 亲和性和反亲和性规则:根据Pod的亲和性设置选择最适合的节点。3. 健康检查:确保选择的节点健康且能够运行Pod。4. 负载均衡:尽量平衡集群中各个节点的负载。使用limits和reuqests在部署对象中的spec中常常会见到关于 limits 和 requests 的声明,例如:apiVersion:apps/v1kind:Deploymentmetad

Kubernetes 漫游:kube-scheduler

概述什么是kube-scheduler?Kubernetes集群的核心组件之一,它负责为新创建的Pods分配节点。它根据多种因素进行决策,包括:资源需求和限制:考虑每个Pod请求的资源量(如CPU和内存)以及节点上可用的资源。亲和性和反亲和性规则:根据Pod的亲和性设置选择最适合的节点。健康检查:确保选择的节点健康且能够运行Pod。负载均衡:尽量平衡集群中各个节点的负载。使用limits和reuqests在部署对象中的spec中常常会见到关于limits和requests的声明,例如:apiVersion:apps/v1kind:Deploymentmetadata:name:nginx-de

k8s v1.27.4 部署metrics-serverv:0.6.4,kube-prometheus,镜像下载问题处理

只有一个问题,原来的httpGet存活、就绪检测一直不通过,于是改为tcpSocket后pod正常。wgethttps://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml修改后的yaml文件,镜像修改为阿里云apiVersion:v1kind:ServiceAccountmetadata:labels:k8s-app:metrics-servername:metrics-servernamespace:kube-system---apiVersion:rbac.authoriz

【云原生-K8s】Kubernetes安全组件CIS基准kube-beach安装及使用

基础介绍kube-beach介绍kube-beach下载百度网盘下载wget下载kube-beach安装kube-beach使用基础参数配置信息解读示例修复建议修复一个安全漏洞【1.2.18】结果说明kube-beach跳过漏洞漏洞定义漏洞定义yaml说明漏洞生成为INFO基础介绍为了保证集群以及容器应用的安全,Kubernetes提供了多种安全机制,限制容器的行为,减少容器和集群的攻击面,保证整个系统的安全性。互联网安全中心(CIS,CenterforInternetSecurity),是一个非盈利组织,致力为互联网提供免费的安全防御解决方案官网:https://www.cisecurity

kube-promethues配置钉钉告警

kube-promethues配置钉钉告警前置:k8s部署kube-promethues一.配置钉钉机器人打开钉钉的智能群助手,点击添加机器人选择自定义机器人勾选加签,复制后保存复制webhook地址后点击保存二.编写dingtalk的yaml部署文件vidingtalk.yamlapiVersion:v1kind:Servicemetadata:name:dingtalknamespace:monitoringspec:selector:app:dingtalkports:-name:httpprotocol:TCPport:8060targetPort:8060---apiVersion:

Kube-apiserver 又 OOM 了?

由来前一篇已经介绍了Informer的实现,Informer对kube-apiserver发起了list和watch请求。我们知道大规模集群下,kube-apiserver会成为瓶颈,尤其在内存方面,相信很多人也遇到过kube-apiserverOOM等问题(碰巧的是最近线上连续出现两次kube-apiserverOOM的问题)。本篇主要讲kube-apiserver中Informer需要用到的两个接口list和watch的实现。网上搜索的话,可以找到大量相关的源码解析的文章,这里我并不会去过多涉及代码,主要还是以讲原理、流程为主,最后简单介绍下当前存在的问题,理论实践相结合。本篇主要讲当前实