推荐答案
在 Kubernetes 中,可以通过以下两种方式创建 Namespace:
使用 YAML 文件创建 Namespace
创建一个 YAML 文件,例如
my-namespace.yaml
,内容如下:apiVersion: v1 kind: Namespace metadata: name: my-namespace
使用
kubectl apply
命令创建 Namespace:kubectl apply -f my-namespace.yaml
使用命令行创建 Namespace
使用
kubectl create namespace
命令直接创建 Namespace:kubectl create namespace my-namespace
本题详细解读
Namespace 的作用
Namespace 是 Kubernetes 中用于资源隔离的机制。它允许将集群中的资源划分为多个虚拟集群,每个 Namespace 可以包含一组独立的资源(如 Pod、Service、Deployment 等)。Namespace 通常用于多租户环境、开发/测试/生产环境的隔离等场景。
YAML 文件创建 Namespace 的步骤
定义 YAML 文件:YAML 文件定义了 Namespace 的 API 版本、资源类型和元数据。
apiVersion: v1
表示使用 Kubernetes 的核心 API 版本,kind: Namespace
表示资源类型为 Namespace,metadata.name
指定了 Namespace 的名称。应用 YAML 文件:使用
kubectl apply -f
命令将 YAML 文件应用到 Kubernetes 集群中,从而创建指定的 Namespace。
命令行创建 Namespace 的步骤
- 使用
kubectl create namespace
命令:该命令直接通过命令行创建 Namespace,无需编写 YAML 文件。my-namespace
是你要创建的 Namespace 的名称。
注意事项
- Namespace 名称唯一性:Namespace 的名称在集群中必须是唯一的,不能重复。
- 资源隔离:Namespace 内的资源默认是相互隔离的,不同 Namespace 中的资源不能直接访问,除非通过 Service 或其他方式进行显式配置。
- 默认 Namespace:Kubernetes 集群中默认存在一个名为
default
的 Namespace,如果没有指定 Namespace,资源将默认创建在default
Namespace 中。