第 6 节 Namespace(命名空间)

同一个物理 K8s 集群,可以切出多个逻辑隔离的虚拟小集群,这就是 Namespace,用来做多项目、多团队隔离,防止名字冲突。

  1. 两类资源
  • 命名空间资源:Pod、Deployment、Service、ConfigMap 这类,归属于某个 namespace,同命名空间内名字不能重复。
  • 集群资源:Node、PV、StorageClass,全局的,不属于任何 namespace,整个集群唯一。
  1. 集群自带 4 个默认命名空间
  • default:不指定 namespace 时,资源默认放这里。
  • kube‑system:放 k8s 系统内部组件,用户业务不要部署在这里。
  • kube‑public:公开可读,放集群公共信息。
  • kube‑node‑lease:用来记录节点心跳。
  1. 创建和使用

两种创建方式:命令行快速创建;YAML 声明式创建,生产环境推荐 YAML+apply。

  • -n参数指定命名空间,创建、查询资源的时候用。
  • 可以切换上下文,设置默认 namespace,后续命令不用反复写‑n。
  1. 删除风险

删除 namespace 会把这个命名空间里面所有 Pod、Service 等资源全部连带删掉。

如果 namespace 卡在 Terminating 删不掉,一般是里面还有残留删不掉的资源。

小特点:namespace 不能互相嵌套。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐