Kubenetes之namespace(命名空间介绍)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kubenetes之namespace(命名空间介绍)相关的知识,希望对你有一定的参考价值。

namespace(命名空间)

1. namespace 介绍

  • 命名空间namespace是k8s集群级别的资源,可以给不同的用户、租户、环境或项目创建对应的命名空间,例如,可以为test、devlopment、production环境分别创建各自的命名空间。
  • 命名空间适用于存在很多跨多个团队或项目的用户的场景。对于只有几到几十个用户的集群,根本不需要创建或考虑命名空间。

2. namespace资源对象

  • k8s集群默认提供了几个名称空间用于特定目的,例如,kube-system主要用于运行系统级资源,存放k8s一些组件的。而default则为那些未指定名称空间的资源操作提供一个默认值。
  • namespace资源属性较少,通常只需要指定名称即可创建,如“kubectl create namespace qa”。namespace资源的名称仅能由字母、数字、下划线、连接线等字符组成。删除namespace资源会级联删除其包含的所有其他资源对象。

3. namespace 操作

  • 常见namespace操作指令
#创建命名空间
kubectl create ns test

#切换命名空间
kubectl config set-context --cerrent --namespace=kube-system

#查看哪些资源属于命名空间的
kubectl api-resources --namespaced=true

4. namespace 资源限制

  • 实例说明
apiVersion: v1
kind: ResourceQuota
metadata:
  name: test
  namespace: test
spec:
  hard:
    requests.cpu: "2"
    requests.memory: 2Gi
    limits.cpu: "4"
    limits.memory: 4Gi
#每个容器必须设置内存请求(memory request),内存限额(memory limit),cpu请求(cpu request)和cpu限额(cpu limit)。
    #所有容器的内存请求总额不得超过2GiB。
    #所有容器的内存限额总额不得超过4 GiB。
    #所有容器的CPU请求总额不得超过2 CPU。
    #所有容器的CPU限额总额不得超过4CPU。
#创建pod时必须设置资源 限额,否则创建失败

以上是关于Kubenetes之namespace(命名空间介绍)的主要内容,如果未能解决你的问题,请参考以下文章

c++之命名空间(namespace)

c++之命名空间(namespace)

05—K8S操作之命名空间namespace

05—K8S操作之命名空间namespace

Docker基础 Linux内核命名空间之 ipc namespace

PHP之namespace小记