Kubernetes

Kubernetes命名空间

2019-04-11  本文已影响0人  王勇1024

这篇文章主要讲述如何查看、使用和删除命名空间,还有如何使用Kubernetes的命名空间来细分集群中的应用。
准备工作

  1. 搭建好 Kubernetes 集群:使用Kubeadm搭建Kubernetes(1.13.1)集群
  2. 对 Kubernetes Pod,Service 和 Deployment有一个基本了解

命名空间列表

列出集群中所使用的命名空间

$ kubectl get namespaces
NAME          STATUS    AGE
default       Active    19d
kube-public   Active    19d
kube-system   Active    19d

Kubernetes启动时会默认初始化default、kube-public 和 kube-system 三个命名空间。

命名空间概要

可以通过下面的命令查看命名空间的概要信息:

kubectl get namespaces <name>

或者通过下面的命令获取命名空间的详细信息:

kubectl describe namespaces <name>
Name:         kube-system
Labels:       <none>
Annotations:  <none>
Status:       Active

No resource quota.

No resource limits.

注意:详细信息中包含资源配额(如果存在)和资源限定范围。
资源配额用于追踪命名空间中资源的实验总和,并且允许集群使用者限定命名空间可以使用的硬性资源。
限定范围定义了命名空间中某种资源可以使用的最小和最大值。
命名空间有两种状态:

创建命名空间

创建一个名为my-namespace.yaml的 YAML 文件,包含以下内容:

apiVersion: v1
kind: Namespace
metadata:
  name: <insert-namespace-name-here>

然后执行:

kubectl create -f ./my-namespace.yaml

注意:命名空间的名称必须是一个DNS兼容的标签。

还有一个可选的字段finalizers,该字段用于设置一个观察者用于监听该命名空间的删除操作。如果你指定了一个不存在的finalizers,该命名空间会被创建,但删除时会卡在Terminating状态。

删除命名空间

kubectl delete namespaces <insert-some-namespace-name>

注意:该命令会删除命名空间下的所有对象。
删除操作是异步的,所以在一段时间内你会看到命名空间处于Terminating状态。

上一篇下一篇

猜你喜欢

热点阅读