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

Kubernets命名空间

Kubernets命名空间

什么是命名空间

命名空间(Namespace)是一种用于组织和隔离 Kubernetes 资源的机制。

在 Kubernetes 集群中,命名空间将物理集群划分为多个逻辑部分,每个部分都拥有自己的一组资源(如 Pod、Service、ConfigMap 等),彼此之间互不干扰,实现资源的隔离管理。

不仅 Kubernetes 具备命名空间的概念,在 Docker 等容器技术中,也通过命名空间(Namespace)和 cgroups(控制组)来实现资源的分配和隔离。例如,容器可通过挂载宿主机的 cgroups 来监控自身资源的使用情况,cAdvisor 便是通过容器的 cgroups 获取相关数据。

使用 kubectl api-resources 命令可以查看 Kubernetes 资源是否支持命名空间划分。如果 NAMESPACED 列的值为 false,则该资源不受命名空间的约束。对于支持命名空间的资源,可以使用 -n <命名空间名称> 进行操作。

为什么需要命名空间

  1. 资源隔离
    不同命名空间中的资源可以重名,但同一命名空间内资源名必须唯一,避免冲突。

  2. 资源分配
    不同命名空间可以设定 CPU、内存、存储等资源配额,防止某个应用独占集群资源。

  3. 访问控制
    隔离访问控制,将用户和进程限制在某些命名空间中

  4. 服务发现
    同一命名空间内的 Service 可以直接通过名称互相访问,而跨命名空间的 Service 需要使用 <服务名>.<命名空间>.svc.cluster.local 形式进行访问。

k8s中初始命名空间

运行 kubectl get namespaces 可查看当前集群中的命名空间。Kubernetes 默认提供以下几个命名空间:

  • default
    默认命名空间,未指定命名空间时,资源将自动归属于此命名空间。

  • kube-node-lease
    存储节点的租约(Lease),用于 Kubernetes 监测节点的健康状态。

  • kube-public
    预留给集群中的公共资源,所有用户(包括未认证用户)均可访问。

  • kube-system
    由 Kubernetes 系统创建并管理的核心组件(如 kube-apiserver、kube-scheduler、etcd 等)所在的命名空间,不建议在此创建自定义资源。

创建命名空间

使用 kubectl create namespace 命令可以创建新的命名空间,例如:

kubectl create namespace dev-ns

要查看命名空间的详细信息,可以使用:

kubectl describe namespace dev-ns

创建资源时,可以指定命名空间,例如:

kubectl create deployment my-nginx --image=nginx:latest -n dev-ns

此外,还可以使用 YAML 文件创建命名空间,例如namespace.yaml:

apiVersion: v1
kind: Namespace
metadata:
  name: dev-ns

然后应用该配置:

kubectl apply -f namespace.yaml

删除命名空间

如果需要删除一个命名空间,可以使用以下命令:
kubectl delete namespace dev-ns

删除命名空间后,该命名空间下的所有资源都会被一并删除,因此操作前需要谨慎。

相关文章:

  • QT6通过DeepSeek API上传附件实现
  • 【文件操作】IO流
  • MPLS基础---通俗易懂
  • 通过启用Ranger插件的Hive审计日志同步到Doris做分析
  • Android studio无法查看源码
  • 小酌SM2的背景、数字签名
  • 慕慕手记项目日记 首页数据的渲染,使用js 2025-3-16
  • 【Linux内核系列】:动静态库详解
  • 企业数据治理解决方案(46页PPT)(文末有下载方式)
  • CMAC算法原理
  • springboot 打包 failed with MalformedInputException: Input length = 1
  • SaaS系统的销售微服务与权限微服务边界设计
  • 湖仓一体:数据湖与数据仓库的融合模式解析
  • 算法系列——有监督学习——3.逻辑回归
  • 现代时尚标签海报包装网站设计几何风PSAI无衬线英文字体安装包 Matahari Sans Font Family
  • 【linux】统信操作系统修改默认编辑模式从nano改为vim
  • Q2流动式起重机司机考试模拟题库
  • 耘想Android NAS 用户权限设置说明书
  • SQL 中 WHERE 与 HAVING 子句的使用
  • 一些关于瓶装燃气送气工考试的常见考点
  • 水果预包装带来的环境成本谁来分担?
  • 体育文化赋能国际交流,上海黄浦举办国际友人城市定向赛
  • 篮球培训机构东方启明星被指停摆,家长称已登记未退费用超百万
  • 官方通报汕头违建豪宅“英之园”将强拆:对有关人员严肃追责问责
  • 时隔三年,俄乌直接谈判重启
  • 《日出》华丽的悲凉,何赛飞和赵文瑄演绎出来了