首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【TKE】通过注解的方式配置容器资源视图隔离

【TKE】通过注解的方式配置容器资源视图隔离

原创
作者头像
Jokey
修改2024-02-28 13:23:42
2440
修改2024-02-28 13:23:42
举报
文章被收录于专栏:云原生搬运工云原生搬运工

使用场景

在容器中查看容器资源使用时(如 top 命令)会看到整机的资源,这是因为容器隔离技术本身带来的缺陷(/proc下为主机资源数据)导致,长期以来都是通过部署 lXCFS 的方式解决,但如今,在 TKE 原生节点和超级节点 Pod 中已经支持通过注解的方式配置容器资源视图隔离。

使用条件

1. 该特性依赖腾讯云内核团队提供的 cgroupfs 功能模块,原生节点和超级节点 Pod 默认支持。如果在不支持的操作系统上使用,不会生效,但也不会导致Pod启动失败,可以放心使用。

2. 在 TKE 支持维护的集群版本 v1.26.1-tke.3、v1.24.4-tke.11、v1.22.5-tke.21、v1.20.6-tke.40、v1.18.4-tke.41 及以上版本支持使用注解的方式配置容器资源视图隔离,或 containerd 满足版本高于 1.4.3-tke.3 或 1.6.9-tke.3。

参考:TKE Kubernetes Revision 版本历史

使用方式

给 Pod上设置对应的cloud.tencent.com/cgroupfsannotations,配置方式如下示例:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  namespace: default
spec:
  selector:
    matchLabels:
      app: test
  template:
    metadata:
      annotations:
        cloud.tencent.com/cgroupfs: "*" # pod中所有的容器都应用cgroupfs的能力
        # 或者
        # cloud.tencent.com/cgroupfs: "container1,container2" #pod中仅容器1和容器2应用cgroupfs的能力
      labels:
        app: test
    spec:
      containers:
      - args:
        - "360000"
        command:
        - sleep
        image: ubuntu:22.04
        imagePullPolicy: Always
        name: test
        resources:
          limits:
            cpu: "1"
            memory: 100Mi
          requests:
            cpu: 100m
            memory: 10Mi

检验资源视图是否隔离成功:

创建限制资源的Pod
创建限制资源的Pod

登录到容器中通过 top 和 free 命令查看资源视图,可以看到已经显示隔离后的数据了,说明配置的隔离注解是生效的,如下图:

容器内资源视图
容器内资源视图

注意:建议使用 ubuntu 容器镜像进行测试验证,如果使用 busybox 镜像,由于 free 命令是busybox 维护的精简版本,可能会遇到显示的还是节点资源数据,但实际上已经是生效的情况。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用场景
  • 使用条件
  • 使用方式
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档