3.4.2 管理 Namespace 资源

Namespace 是 Kubernetes Server API 的标准资源类型之一,如 3.2.1 节中所述,它的配置主要有 kind、apiVersion、metadata 和 spec 等一级字段组成。将 3.2.1 节中的名称空间配置清单保存与配置文件中,使用陈述式对象配置命令create或声明式对象配置命令 apply 便能完成创建:

**[terminal]
**[delimiter $ ]**[command kubectl apply -f namespace-example.yaml]
namespace/dev created

名称空间资源属性较少(通常只需要指定名称即可),简单起见,kubectl 为其提供了一个封装的专用陈述式命令“kubectl create namespace”。namespace 资源的名称仅能由字母、数字、连接线、下划线等字符组成。例如,下面的命令可用于创建名为 qa 的 Namespace 对象:

**[terminal]
**[delimiter $ ]**[command kubectl create namespace qa]
namespace/qa created

namespace 资源的名称仅能由字母、数字、连接线、下划线等字符组成。

实践中,不建议混用不同类别的管理方式。考虑到声明式对象配置管理机制的强大功能,强烈推荐用户使用apply和patch等命令进行资源创建及修改一类的管理操作。

使用 kubectl 管理资源时,如果一并提供名称空间选项,就表示此管理操作仅针对指定名称空间进行,而删除 Namespace 资源会级联删除其包含的所有其他资源对象。表 3-3 给出了几个常用的命令格式。

命令格式 功能
kubectl delete TYPE RESOURCE -n NS 删除指定名称空间内的指定资源
kubectl delete TYPE --all -n NS 删除指定名称空间内的指定类型的所有资源
kubectl delete all -n NS 删除指定名称空间内的所有资源
kubectl delete all --all 删除所有名称空间中的所有资源

需要再次指出的是,kubernetes 对象仅用于资源对象名称的隔离,它自身并不能隔绝跨名称空间的 Pod 间通讯,那是网络策略(network policy)资源的功能。

results matching ""

    No results matching ""