Namespace是对一组资源和对象的抽象集合,比如可以将系统内部的对象划分为不同的项目组或用户组。

常见的pods,services,replication controllers,deployments等都属于某一个namespace(默认是default)

node,persistentVolumes等则不属于任何namespace。

Namespace常用来隔离不同的用户,不如Kubernetes自带的服务一般运行在kube-system 的namespace中。

kubectl可以通过--namespace-n 指定namespace。如果不指定,则默认为default。

查看操作时,可以通过设置--all-namespace=true 查看所有namespace下的资源。

查询

kubectl get namespaces

namespace包含两种状态“Active”和“Terminating”。

在namespace删除过程中,namespace状态被设置为“Terminating”

创建

通过命令行直接创建namespace

kubectl create namespace new-namespace

通过文件my-namespace.yaml创建namespace

apiVersion: v1
kind: Namespace
metadata:
  name: new-namespace

创建namespace

kubectl create -f ./my-namespace.yaml

删除

kubectl delete namespaces new-namespace

删除一个namespace会自动删除所有属于该namespace的资源。

defaultkube-system 命名空间不可删除。

虽然PersistentVolumes不属于任何namespace,但PersistentVolumeClaim是属于某个namespace的。

Events是否属于namespace取决于产生event的对象。

results matching ""

    No results matching ""