7.k8s中的名称空间namespace

目录

一、Namespace(命名空间)

二、查看系统的名称空间

1.查看系统中的名称空间列表

2.单独查看一个名称空间下的对应资源

三、名称空间的管理

1.创建名称空间

1.1响应式创建

1.2声明式创建

2.删除名称空间

四、资源引用名称空间


一、Namespace(命名空间)

**命名空间(Namespace)**是一种资源隔离机制,将同一集群中的资源划分为相互隔离的组。

命名空间可以在多个用户之间划分集群资源。

  1. 通常使用名称空间对企业业务进行划分。
  2. 如果删除了名称空间,则对应的名称空间中的资源也会被删除。
  3. 相同名称空间下的相同资源,name名称不能重复。
  4. 可以通过【kubectl api-resources】查看一个资源是否支持名称空间。
    1. 有的资源是不支持名称空间的,我们称之为全局资源;例如 StorageClass、Node、PersistentVolume 等。
    2. 而支持名称空间的,我们称之为局部资源;例如 Deployment、Service 等。

二、查看系统的名称空间

1.查看系统中的名称空间列表

bash 复制代码
[root@k8s1 secrets]# kubectl get namespaces
NAME              STATUS   AGE
default           Active   46h
kube-flannel      Active   46h
kube-node-lease   Active   46h
kube-public       Active   46h
kube-system       Active   46h

2.单独查看一个名称空间下的对应资源

bash 复制代码
[root@k8s1 secrets]# kubectl get pods -o wide -n kube-system
NAME                           READY   STATUS    RESTARTS      AGE   IP            NODE   NOMINATED NODE   READINESS GATES
coredns-6d8c4cb4d-c4cnk        1/1     Running   1 (11h ago)   46h   10.100.1.20   k8s2   <none>           <none>
coredns-6d8c4cb4d-x6tdd        1/1     Running   1 (11h ago)   46h   10.100.1.21   k8s2   <none>           <none>
etcd-k8s1                      1/1     Running   1 (11h ago)   46h   10.35.6.82    k8s1   <none>           <none>
kube-apiserver-k8s1            1/1     Running   1 (11h ago)   46h   10.35.6.82    k8s1   <none>           <none>
kube-controller-manager-k8s1   1/1     Running   1 (11h ago)   46h   10.35.6.82    k8s1   <none>           <none>
kube-proxy-44lw2               1/1     Running   1 (11h ago)   46h   10.35.6.82    k8s1   <none>           <none>
kube-proxy-vzqvt               1/1     Running   1 (11h ago)   46h   10.35.0.199   k8s2   <none>           <none>
kube-scheduler-k8s1            1/1     Running   1 (11h ago)   46h   10.35.6.82    k8s1   <none>           <none>

三、名称空间的管理

1.创建名称空间

1.1响应式创建

bash 复制代码
[root@k8s1 secrets]# kubectl create namespace oslee
namespace/oslee created

1.2声明式创建

bash 复制代码
[root@k8s1 secrets]# cat namespace.yaml 
apiVersion: v1
kind: Namespace
metadata:
  name: oslee-02
[root@k8s1 secrets]#  kubectl apply -f namespace.yaml
namespace/oslee-02 created

2.删除名称空间

bash 复制代码
[root@k8s1 secrets]# kubectl delete namespaces oslee-02
namespace "oslee-02" deleted

四、资源引用名称空间

bash 复制代码
[root@k8s1 ns]# cat pod.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: pod-namespace
  #pod归属于哪个名称空间,不写默认是default
  namespace: oslee
spec:
  containers:
  - name: c4
    image: nginx:1.20.1-alpine
[root@k8s1 ns]# kubectl apply -f pod.yaml
pod/pod-namespace created
相关推荐
AI攻城狮18 小时前
OpenFang 给我的一个提醒:AI Agent 真正难的不是自主,而是治理
人工智能·云原生·aigc
Java陈序员21 小时前
轻量强大!一款现代化的 Kubernetes 集群管理与监控工具!
云原生·容器·kubernetes
Johny_Zhao2 天前
OpenClaw中级到高级教程
linux·人工智能·信息安全·kubernetes·云计算·yum源·系统运维·openclaw
AI攻城狮3 天前
OpenClaw 里 TAVILY_API_KEY 明明写在 ~/.bashrc,为什么还是失效?一次完整排查与修复
人工智能·云原生·aigc
Sheffield3 天前
Alpine是什么,为什么是Docker首选?
linux·docker·容器
阿里云云原生4 天前
零配置部署顶级模型!函数计算一键解锁 Qwen3.5
云原生
AI攻城狮4 天前
Kimi Bot + OpenClaw 完整配置指南:5 步实现本地 AI Agent 集成
人工智能·云原生·aigc
AI攻城狮5 天前
RAG Chunking 为什么这么难?5 大挑战 + 最佳实践指南
人工智能·云原生·aigc
可观测性用观测云6 天前
云原生网关 Ingress-Nginx 链路追踪实战:OpenTelemetry 采集与观测云集成方案
nginx·kubernetes
哈里谢顿6 天前
Kubernetes Operator核心概念、实现原理和实战开发
云原生