RedCloud Help

3.命名空间

3.1 什么是命名空间?

Kubernetes 支持多个虚拟集群,它们底层依赖于同一个物理集群。 这些虚拟集群被称为命名空 间。 命名空间 namespace 是 k8s 集群级别的资源,可以给不同的用户、租户、环境或项目创建对应的命 名空间,例如,可以为 test、devlopment、production 环境分别创建各自的命名空间。

3.2 namespace 应用场景

命名空间适用于存在很多跨多个团队或项目的用户的场景。对于只有几到几十个用户的集群,根本 不需要创建或考虑命名空间。

3.3 namespacs 使用案例分享

#创建一个 test 命名空间 kubectl create ns test

3.4 namespace 资源限额

如何对 namespace 资源做限额呢?

vim namespace-quota.yaml
apiVersion: v1 kind: ResourceQuota metadata: name: mem-cpu-quota namespace: test spec: hard: requests.cpu: "2" requests.memory: 2Gi limits.cpu: "4" limits.memory: 4Gi
kubectl apply -f namespace-quota.yaml #创建的 ResourceQuota 对象将在 test 名字空间中添加以下限制: #每个容器必须设置内存请求(memory request),内存限额(memory limit),cpu 请求(cpu request)和 cpu 限额(cpu limit)。 # 所有容器的内存请求总额不得超过 2GiB。 # 所有容器的内存限额总额不得超过 4 GiB。 # 所有容器的 CPU 请求总额不得超过 2 CPU。 # 所有容器的 CPU 限额总额不得超过 4CPU。 # ResouceQuota 对象是在我们的名称空间中创建的,并准备好控制该名称空间中的所有容器的总请求和限制。让我们看看

创建 pod 时候必须设置资源限额,否则创建失败,如下:

vim pod-test.yaml
apiVersion: v1 kind: Pod metadata: name: pod-test namespace: test labels: app: tomcat-pod-test spec: containers: - name: tomcat-test ports: - containerPort: 8080 image: tomcat:latest imagePullPolicy: IfNotPresent resources: requests: memory: "100Mi" cpu: "500m" limits: memory: "2Gi" cpu: "2"
kubectl apply -f pod-test.yaml
13 February 2026