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

k8s-Namespace

Namespace 是k8s中做用户隔离的,适用于多租户的场景。

Namespace 是 Kubernetes 用于实现资源逻辑隔离、多租户、安全授权和环境区分的重要机制,是大规模集群必备的组织手段。

  1. Namespace 是什么?
    Namespace 是 Kubernetes 集群中的一种逻辑隔离方式,可以将集群内的资源(Pod、Service、Deployment、ConfigMap、Secret 等)划分到不同的空间。
    每个 Namespace 里的资源名称互不影响(即可以有多个同名 Pod/Service,但在不同的 Namespace 下)。
    常用于多租户环境、开发/测试/生产环境隔离、团队/项目隔离等场景。

  2. Namespace 的作用
    资源隔离: 不同 namespace 内的资源彼此独立,便于管理和权限控制。
    名称空间下的唯一性: 只要在不同 namespace,下同名资源不会冲突。
    配合 RBAC 实现权限细粒度控制。
    便于批量管理和删除一组相关资源。
    系统组件与业务组件分开: K8s 默认有 kube-system(系统组件)、default(默认)、kube-public(公开只读)等命名空间。

  3. 使用场景举例
    场景1:开发、测试、生产环境隔离
    dev 命名空间放开发环境应用;
    test 放测试环境;
    prod 放生产环境;
    各自的 Service 和 Deployment 不会冲突。
    场景2:多团队/多项目共享一个集群
    每个团队一个 namespace,互不干扰,RBAC 控制各自权限。

场景3:系统组件与业务组件分开管理
K8s 系统组件都在 kube-system,业务应用都在自定义命名空间。

  1. 常见问题与注意事项
    默认情况下,不同 namespace 的 Pod 无法通过 Service 名称直接访问彼此,但可以通过全限定域名访问,如 svcname.namespace.svc.cluster.local。
    某些全局对象(如 Node、PersistentVolume)不属于任何 namespace。
    删除 namespace 会级联删除其中所有对象,请谨慎操作!

image
image

azureuser@master-001:~$ kubectl get pod --all-namespaces
NAMESPACE      NAME                                 READY   STATUS    RESTARTS      AGE
default        nginx-deploy-f88b65dbc-ghrcn         1/1     Running   1 (38m ago)   43h
default        nginx-deploy-f88b65dbc-vf4nx         1/1     Running   1 (38m ago)   43h
default        nginx-deploy-f88b65dbc-vwvmb         1/1     Running   1 (38m ago)   43h
kube-flannel   kube-flannel-ds-glzb5                1/1     Running   0             11m
kube-flannel   kube-flannel-ds-ltkc8                1/1     Running   0             11m
kube-flannel   kube-flannel-ds-r4x7j                1/1     Running   0             11m
kube-system    coredns-5dd5756b68-b6462             1/1     Running   1 (38m ago)   43h
kube-system    coredns-5dd5756b68-lmhq7             1/1     Running   1 (38m ago)   43h
kube-system    etcd-master-001                      1/1     Running   4 (38m ago)   43h
kube-system    kube-apiserver-master-001            1/1     Running   4 (38m ago)   43h
kube-system    kube-controller-manager-master-001   1/1     Running   4 (38m ago)   43h
kube-system    kube-proxy-88ql9                     1/1     Running   1 (38m ago)   43h
kube-system    kube-proxy-g4bk6                     1/1     Running   1 (38m ago)   43h
kube-system    kube-proxy-wb977                     1/1     Running   1 (38m ago)   43h
kube-system    kube-scheduler-master-001            1/1     Running   4 (38m ago)   43h
azureuser@master-001:~$
http://www.zskr.cn/news/13368.html

相关文章:

  • 分布式专题——23 Kafka日志索引详解 - 指南
  • Agent的九种设计模式 - 详解
  • python占用指定比例CPU
  • 6 个替代 Microsoft Access 的开源数据库工具推荐
  • MCU的闪存(FLASH)按机制结构划分区域
  • 题解:CF1930I Counting Is Fun
  • K8S-Service 学习
  • 第05周 预习、实验与作业:继承与多态
  • 深入解析:ShardingSphere 与分库分表:分布式数据库中间件实战指南
  • electron38-admin桌面端后台|Electron38+Vue3+ElementPlus管理系统
  • 长江中游干流河道崩岸特征与机理研究综述
  • 基于 Python Keras 建立 猫狗图像的精准分类
  • 《ESP32-S3使用指南—IDF版 V1.6》第四十章 图片显示实验
  • 完整的GLFW应用程序示例
  • HTML5-和-CSS3-迁移即时入门-全-
  • HTML5-地理位置即时操作指南-全-
  • [Kernel] - Heterogeneous Memory Management (HMM)
  • linux防火墙firewalld
  • 【环境武装】认识你的战友 —— 经典而稳定的 PowerShell ISE
  • 详细介绍:基于FPGA的HDB3编解码(verilog语言)
  • Java作业动手又动脑
  • MetaGPT实战指南:构建模拟公司运营的多智能体系统 - 教程
  • 基于51单片机宠物喂食系统设计 - 指南
  • [Luogu 13345] EGOI 2025:IMO
  • 详细介绍:flutter 编译报错java.util.zip.ZipException: zip END header not found
  • 又一通信芯片厂商完成数亿元融资!
  • 做题总结
  • 【前言】从重复劳动的奴隶到自动化大师
  • VS2022激活秘钥
  • grammar(?