当前位置: 首页 > news >正文

k8s 1.27新特性in-place使用方法:避坑指南(官方文档有坑,已提issue)

背景

按照官方文档试用新版的in-place特性时,一字不差地执行了,但是却出现了执行失败的情况:

  1. 执行kubectl -n qos-example patch pod qos-demo-5 --patch '{"spec":{"containers":[{"name":"qos-demo-ctr-5", "resources":{"requests":{"cpu":"800m"}, "limits":{"cpu":"800m"}}}]}}'后该pod一直处于RunContainerError状态;
  2. 使用kubectl describe 查看详情,eventlog如下:
Events:Type Reason Age From Message---- ------ ---- ---- -------Normal Scheduled 2m41s default-scheduler Successfully assigned qos-example/qos-demo-5 to 172.30.94.201Normal Pulled 2m38s kubelet Successfully pulled image "nginx" in 2.468850418s (2.468866698s including waiting)Normal Started 2m38s kubelet Started container qos-demo-ctr-5Normal Killing 27s kubelet Container qos-demo-ctr-5 definition changed, will be restartedNormal Pulled 25s kubelet Successfully pulled image "nginx" in 2.412743103s (2.412766469s including waiting)Normal Pulled 22s kubelet Successfully pulled image "nginx" in 2.484909047s (2.484925388s including waiting)Normal Pulling 9s (x4 over 2m41s) kubelet Pulling image "nginx"Normal Created 7s (x4 over 2m38s) kubelet Created container qos-demo-ctr-5Warning Failed 7s (x3 over 25s) kubelet Error: failed to start container "qos-demo-ctr-5": Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error setting cgroup config for procHooks process: failed to write "80000": write /sys/fs/cgroup/cpu,cpuacct/kubepods.slice/kubepods-poda24bc212_b6c2_4fd4_af47_111b6b937b10.slice/qos-demo-ctr-5/cpu.cfs_quota_us: invalid argument: unknownNormal Pulled 7s kubelet Successfully pulled image "nginx" in 2.314366627s (2.314379589s including waiting)
  1. 可以看到是修改cgroup限制时失败,参数不对,因此第一反应是docker、k8s、linux内核及cgroup版本不一致导致某接口参数格式不一致,所以报此错误,全部升级到要求版本后仍未解决;
  2. 给官方提了issue,很智障的是他们说自己的文档忘了写事前准备导致执行不了,thanks me后,我再问就让我去别的地方提问,修复日期和方法也不说,无语;
  3. 开始自己挖掘,解决方法如下

解决办法

  1. 在master节点执行vim /etc/kubernetes/manifests/kube-apiserver.yaml,在command下添加--feature-gates=InPlacePodVerticalScaling=true,等待apiserver自动重启完成;
  2. 在所有的node都执行一遍:
    (1)执行/var/lib/kubelet/kubeadm-flags.env,在末尾添加/var/lib/kubelet/kubeadm-flags.env
    (2)执行systemctl restart kubelet;
    (3)执行systemctl status kubelet,状态变为active (running)后操作结束;
    (4)对所有node重复上述操作;

后续操作

完成上述事前准备后,就可以按照官方文档玩耍了

另外k8s 1.27版本搭建可以看这篇文章,我按照他的方法一步步执行,基本没踩到坑

参考资料:

(1)https://stackoverflow.com/questions/52416671/kubelet-configuration
(2)https://stackoverflow.com/questions/59814862/how-do-you-enable-feature-gates-in-k8s
(3)https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/
(4)https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/

相关文章:

k8s 1.27新特性in-place使用方法:避坑指南(官方文档有坑,已提issue)

背景 按照官方文档试用新版的in-place特性时,一字不差地执行了,但是却出现了执行失败的情况: 执行kubectl -n qos-example patch pod qos-demo-5 --patch {"spec":{"containers":[{"name":"qos-demo-ct…...

网络传输(传输介质、通信方式、交换方式)

目录 一、传输介质1.双绞线2.网线安装3.光纤4.无线信道 二、通信方式、交换方式1.通信方式2.同步方式3.交换方式 一、传输介质 1.双绞线 双绞线:将多根铜线按规则缠绕在一起,能够减少干扰;分为无屏蔽双绞线UTP和屏蔽双绞线STP,都…...

【Unity】Time.deltaTime有什么用?看完你就明白

大多数刚开始使用 Unity 的人(包括我),都会对Time.deltaTime感到迷惑。 看完本文,你就会明白Time.deltaTime的定义及作用。 1、deltaTime是什么? 根据定义,Time.deltaTime是每一帧之间的时间间隔(以秒为单位)。 这有助于我们使游戏与帧数无关,也就是说,无论 fps 是…...

vue实现用户动态权限登录

一、使用vueelementUI搭登录框架,主要就是1、2、3、4 配置: ①vue.config.js use strict const path require(path)function resolve(dir) {return path.join(__dirname, dir) }// All configuration item explanations can be find in https://cli.v…...

ONNX模型修改为自定义节点

参考一 首先,需要将ONNX模型中的节点修改为自定义节点。要实现这一点,您需要了解自定义节点的定义和如何在ONNX中使用它们。ONNX定义了一个自定义运算符的接口,您可以使用该接口定义自己的运算符,并将其编译为ONNX模型可以识别的…...

内存对齐原则

struct (1)结构体第一个数据成员放在offset为0的地方,后面每个成员相对于结构体首地址的偏移量(offset)都是成员大小(该变量类型所占字节)的整数倍,如有需要编译器会在成员之间加上填…...

Java SPI 一 之SPI(Service Provider Interface)进阶 AutoService

​ 一、SPI(Service Provider Interface) 1.1 介绍 SPI(Service Provider Interface),是JDK内置的一种 服务提供发现机制(为某个接口寻找服务实现的机制),可以用来启用框架扩展和替换组件,其…...

C++ list类成员函数介绍

目录 🤔list模板介绍: 🤔特点: 🤔list内存结构图解: 🤔 list的成员函数: 😊list构造函数: 🔍代码示例: 🔍运行结果&…...

【服务器】本地搭建PHP简单Imagewheel私人云图床

文章目录 1.前言2. Imagewheel网站搭建2.1. Imagewheel下载和安装2.2. Imagewheel网页测试2.3.cpolar的安装和注册 3.本地网页发布3.1.Cpolar临时数据隧道3.2.Cpolar稳定隧道(云端设置)3.3.Cpolar稳定隧道(本地设置) 4.公网访问测…...

第四十二回:DateRangePickerDialog Widget

文章目录 概念介绍使用方法示例代码 我们在上一章回中介绍了DatePickerDialog Widget相关的内容,本章回中将介绍 DateRangePickerDialog Widget.闲话休提,让我们一起Talk Flutter吧。 概念介绍 我们在这里说的DateRangePickerDialog是一种弹出窗口,只不…...

【C++系列P3】‘类与对象‘-三部曲——[基础知识](1/3)

前言 大家好吖,欢迎来到 YY 滴 C系列 ,热烈欢迎! 【 类与对象-三部曲】的大纲主要内容如下: 如标题所示,本章是【 类与对象-三部曲】三章中的第一章节——基础知识章节,主要内容如下: 目录 一.…...

Android UEvent事件分析之Kernel上报电量

kernel-4.4\drivers\power\power_supply_core.c 当电量信息需要更新的时候,kernel会调用power_supply_changed_work这个工作队列,使用kobject_uevent函数往上发送uevent事件,action是KOBJ_CHANGE; static void power_supply_changed_work(struct work_struct *work) {uns…...

C++ vector模板和deque的简单应用

目录 🤔vector模板和deque的简单介绍: 🤔vector和deque的主要不同之处: 🤔今天我们用vector模板和deque模板实现以下简单的功能: 代码实现: 🤔讲解: 🤔vector模板和d…...

声明式事务控制

声明式事务控制 编程式事务控制相关对象 PlatformTransactionManager PlatformTransactionManager接口是spring的事务管理器,它里面提供了常用的操作事务的方法 方法说明TransactionStatus getTransaction(TransactionDefaultion defination)获取事务的状态信息…...

cisp pte模拟题

1.信息搜集 本题共三个key 端口 1433 27689 存活ip 192.168.85.137 2.访问网站27689进行信息搜集 一个登录框,sql注入失败,暴力破解失败 扫描目录 发现三个文件robots.txt ,web.config 除了robots.txt,其他都访问不了 访问robots.txt,发现一个file参数…...

Docker容器 和 Kubernetes容器集群管理系统

一、快速了解Docker 1. 什么是Docker的定义 Docker 是一个开源的应用容器引擎,基于Go语言并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以…...

港联证券|资金疯狂涌入AI,这一板块涨幅超90%!万亿巨头继续狂飙

国内外资金继续加码AI概念股。 当前,国内政策层面对于通用人工智能和算力中心的创新发展扶持政策不断推出,资本市场对于AI(人工智能)热情不断升温。在AI下游应用中,游戏板块成为最被看好的投资标的,资金流入…...

短视频矩阵系统源码-开源开发php语言搭建

短视频矩阵系统源码---------- php源码是什么? PHP源码指的就是PHP源代码,源代码是用特定编程语言编写的人类可读文本,源代码的目标是为可以转换为机器语言的计算机设置准确的规则和规范。因此,源代码是程序和网站的基础。 PHP…...

PFEA112-20 3BSE050091R20 张力控制器

您的张力测量系统包括: 张力电子PFEA111或PFEA112–PFEA111是一款经济高效的紧凑型用户友好型张力电子产品,提供 来自两个称重传感器的精确可靠的快速模拟SUM信号,用于控制 和/或监测。显示器可以显示SUM、单个A&B和差异信号小尺寸和DIN导…...

Java springboot+vue生成报纸排版页面的新闻官网

实现方案,可以作为您开始开发的参考: 后端: 使用Spring Boot框架构建Java Web应用;使用MyBatis Plus进行ORM映射,管理MySQL数据库;按照需求定义新闻数据表、类别数据表和用户数据表,使用默认的…...

终极指南:Windows游戏控制器虚拟驱动ViGEmBus完全掌握

终极指南:Windows游戏控制器虚拟驱动ViGEmBus完全掌握 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus ViGEmBus是一款强大的Windows内核模式驱动…...

Qwen3.5-35B-A3B-AWQ-4bit企业降本增效案例:替代人工审核10万+商品图的自动化方案

Qwen3.5-35B-A3B-AWQ-4bit企业降本增效案例:替代人工审核10万商品图的自动化方案 1. 企业面临的商品图审核挑战 在电商行业,商品图片审核是一项繁重但至关重要的工作。以某大型电商平台为例,每天需要审核超过10万张商品图片,传统…...

C++ 异常安全与 RAII 模式结合

C异常安全与RAII模式结合:构建健壮资源管理体系 在C开发中,异常处理与资源管理是保证程序健壮性的核心挑战。传统的手动资源释放容易因异常抛出导致泄漏,而RAII(资源获取即初始化)模式通过对象生命周期自动化管理资源…...

如何成为一名出色的SEO优化师

如何成为一名出色的SEO优化师 在当今的数字化时代,搜索引擎优化(SEO)已经成为了每个企业和个人网站获得流量和提升品牌知名度的关键手段。但是,成为一名出色的SEO优化师并非易事,需要掌握一系列专业知识和技能。本文将…...

BusyBox根文件系统制作避坑指南:如何让QEMU模拟的ARM板成功挂载你的第一个Linux系统

BusyBox根文件系统制作避坑指南:如何让QEMU模拟的ARM板成功挂载你的第一个Linux系统 当你在QEMU上启动一个精心编译的ARM Linux内核时,最令人沮丧的莫过于看到内核在挂载根文件系统时崩溃。作为嵌入式Linux开发的关键环节,根文件系统的构建往…...

Apache NiFi数据质量管理的终极指南:如何构建强大的验证规则与异常检测系统

Apache NiFi数据质量管理的终极指南:如何构建强大的验证规则与异常检测系统 【免费下载链接】nifi Apache NiFi 项目地址: https://gitcode.com/gh_mirrors/ni/nifi Apache NiFi是一个强大的数据流自动化平台,专门用于数据集成和数据流管理。在当…...

Pixel Aurora Engine镜像部署:支持RTX 3060及以上显卡的轻量级方案

Pixel Aurora Engine镜像部署:支持RTX 3060及以上显卡的轻量级方案 1. 项目概览 Pixel Aurora Engine是一款专为像素艺术创作设计的AI绘图工作站,采用复古8-bit游戏风格界面,让AI艺术创作变得像玩游戏一样有趣。这个轻量级解决方案特别针对…...

快捷键失灵?让Hotkey Detective揪出幕后“键盘小偷“——专业级Windows热键冲突解决方案

快捷键失灵?让Hotkey Detective揪出幕后"键盘小偷"——专业级Windows热键冲突解决方案 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_m…...

SEO_快速诊断并解决网站SEO问题的常见方法(164 )

快速诊断网站SEO问题的有效方法 在当今数字化时代,网站的SEO(搜索引擎优化)问题不仅关乎网站的流量,更直接影响到业务的发展。对于许多网站来说,SEO问题往往是隐藏在表面现象背后的复杂问题。因此,快速诊断…...

Python AOT编译成本如何从$280K/年压至$49K/年?2026前最后窗口期的6个不可逆决策点

第一章:Python AOT编译成本断崖式下降的战略本质Python 长期以来被诟病于运行时开销高、启动慢、内存占用大,其核心瓶颈在于 CPython 解释器的字节码解释执行机制。而近年来,以 Nuitka、Cython(搭配 --aot 模式)、以及…...