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

K8S之Namespace的介绍和使用

Namespace的理论和实操

  • Namespace理论说明
  • Namespace实操
    • 创建、查看命名空间
    • 使用ResouceQuota 对Namespace做资源限额
      • 更多ResouceQuota 的使用

Namespace理论说明

命名空间定义
K8s支持多个虚拟集群,它们底层依赖于同一个物理集群。 这些虚拟集群被称为命名空间(Namespace)。

Namespace应用场景
Namespace是k8s集群级别的资源,可以给不同的用户、租户、环境或项目创建对应的命名空间。
例如,可以为devlopment、test、production环境分别创建各自的命名空间。

Namespace实操

创建、查看命名空间

创建一个Namespace为test

kubectl create ns test

查看Namespace

kubectl get ns

在这里插入图片描述

使用ResouceQuota 对Namespace做资源限额

在K8s集群中通过 ResouceQuota 对象定义每个Namespace的资源配额,从而实现资源消耗总量的限制。
ResouceQuota 有两个作用:

  • 可以按类型限制Namespace下所创建对象的数量
  • 限制所消耗计算资源的总量

示例说明:
创建ResouceQuota 对象,对 test 命名空间中添加以下限制:
只能建4个pod、每个容器必须设置内存请求、内存限额、cpu请求和cpu限额。
步骤:
1、创建ResouceQuota 对象
编写ResouceQuota 资源文件

vim namespace-quota.yaml
apiVersion: v1
kind: ResourceQuota
metadata:name: mem-cpu-quotanamespace: test  # 指定限制的命名空间名称
spec:hard:pods: "4"    requests.cpu: "2"    # 所有容器的CPU请求总额不得超过2 CPUrequests.memory: 2Gi # 所有容器的内存请求总额不得超过2GiBlimits.cpu: "4"      # 所有容器的CPU限额总额不得超过4CPUlimits.memory: 4Gi   # 所有容器的内存限额总额不得超过4 GiB

创建ResouceQuota

kubectl apply -f namespace-quota.yaml

ResouceQuota 对象是在Namespace为test中创建的,并准备好控制该名称空间中的所有容器的总请求和限制。

kubectl get resourcequota -n test

在这里插入图片描述

2、创建Pod 对象

创建Pod 时候必须设置资源限额,否则创建失败

编写Pod 资源文件

vim pod-test.yaml
apiVersion: v1
kind: Pod
metadata:name: pod-testnamespace: testlabels:app: tomcat-pod-test
spec:containers:- name:  tomcat-testimage: tomcat-8.5-jre8:v1imagePullPolicy: IfNotPresentports:- containerPort: 8080resources:requests:memory: "100Mi"cpu: "500m"limits:memory: "2Gi"cpu: "2"

创建Pod

kubectl apply -f pod-test.yaml

再看命名空间下的资源

kubectl get resourcequota -n test

在这里插入图片描述

更多ResouceQuota 的使用

官网文档:https://kubernetes.io/zh-cn/docs/concepts/policy/resource-quotas/

http://www.lryc.cn/news/297095.html

相关文章:

  • 封装sku组件
  • Unity笔记:相机移动
  • Java项目管理01-Maven基础
  • 计算机网络(第六版)复习提纲30
  • 基于SSM的图书管理系统
  • 【GAMES101】Lecture 19 相机
  • 《走进科学》灵异事件:Nginx配置改了之后一直报错
  • Select 选择器 el-option 回显错误 value
  • 【51单片机Keil+Proteus8.9】门锁控制电路
  • 比较Kamailio和OpenSIPS的重写contact函数
  • 【ETOJ P1046】斐波那契数列 题解(数学+动态规划)
  • 编码技巧——基于RedisTemplate的RedisClient实现、操作Lua脚本
  • Asp .Net Core 系列:Asp .Net Core 集成 Panda.DynamicWebApi
  • 【PTA浙大版《C语言程序设计(第4版)》|编程题】习题7-3 判断上三角矩阵(附测试点)
  • JVM 性能调优 - 参数调优(3)
  • Django(十)
  • OpenHarmony开源鸿蒙开发之旅
  • SpringBoot之整合PageHelper分页插件
  • Android java基础_类的封装
  • Vue-57、Vue技术路由的参数如何传递
  • 《MySQL 简易速速上手小册》第1章:MySQL 基础和安装(2024 最新版)
  • Linux 软件管理(YUM RPM)
  • 【Makefile语法 05】动静态库编译链接
  • JS - 处理元素滚动
  • JavaScript滚动事件
  • 4.0 Zookeeper Java 客户端搭建
  • C#既然数组长度不可改变,那么如何动态调整集合类型数组大小,以便添加或删除元素?
  • 3.1 Verilog 连续赋值
  • 【http】2、http request header Origin 属性、跨域 CORS、同源、nginx 反向代理、预检请求
  • LangChain pdf的读取以及向量数据库的使用