如何在 Kubernetes 中创建命名空间?
命名空间系统对计算来说并不陌生,我们大多数人可能在几乎所有编程语言中都见过命名空间,无论您在哪里遇到命名空间,其基本目的都是相同的:用于逻辑分组。
同样,在 Linux 内核中,也有命名空间的概念,比如存储和网络命名空间。每个容器也有自己的存储命名空间和网络命名空间,用于资源的隔离和分配。
Kubernetes 命名空间是指由同一物理集群支持的虚拟集群,此选项专为在多个用户分布在多个工作团队或项目的环境中使用而设计。
本文将介绍如何创建 Kubernetes 命名空间。
命名空间类型
Kubernetes 中有三种命名空间。
Default:默认命名空间用于没有其他命名空间的对象。
Kube-system:Kubernetes 系统起源对象的命名空间。
Kube-public:用于需要对所有用户公开可用的资源的命名空间。
查看命名空间
可以使用以下命令查看当前的命名空间:
它将列出现有的命名空间、状态等。
如果想知道特定命名空间的概要,可以使用以下命令:
还可以使用以下命令获取特定命名空间的详细描述:
描述显示资源配额(如果指定)和资源范围,其中资源配额显示命名空间可以使用的资源总量,资源范围显示可以消耗的最小或最大资源。
还显示名称空间是活动的还是终止的,这是任何命名空间的两种状态,活动命名空间是当前使用的命名空间,而终止命名空间是正在删除且无法进一步使用的命名空间。
创建命名空间
尝试在不存在的特定命名空间中创建一个 pod。
要在“test-env”命名空间中创建一个 pod,请执行以下命令。
Pod 不会在不存在的命名空间中创建,因此我们首先需要创建一个命名空间。
要创建命名空间“test-env”,请执行以下命令(k8s create namespace)。
现在我们有了一个命名空间,我们想在其中创建一个 pod。
要在我们创建的命名空间中创建一个 pod,请将 --namespace=test-env 选项传递给命令。
如果您尝试在不指定命名空间的情况下获取 pod,您将无法获取 pod 的详细信息。
要获取属于“test-env”命名空间的 pod 的详细信息,请使用以下命令。
如果要将命名空间设置为默认命名空间,则不需要在命令中指定命名空间选项,请使用以下命令。
现在无需在命令中指定命名空间即可获取 pod 的详细信息。
要切换到默认命名空间,请使用以下命令。
要检查哪个是默认命名空间,请使用以下命令。
检查哪些 Kubernetes 资源是命名空间,执行以下命令。
要查看哪些 Kubernetes 资源不在命名空间中,请使用以下命令。
您可以使用下面提到的命令获取命名空间的详细信息。
命名空间也可以使用 .yml 文件创建。
执行以下命令以创建对象定义文件中指定的命名空间。
当您不再需要命名空间时,可以使用以下命令将其删除。
使用命令“kubectl change namespace”切换到不同的命名空间。
结论
Kubernetes 使得用户可以自由地在自己的空间中使用分配的资源进行工作,以最佳方式利用他们的时间和资源,而不会在团队之间造成混乱,Kubernetes 命名空间有助于应用程序开发,并使开发人员的日常任务易于完成。
版权声明: 本文为 InfoQ 作者【wljslmz】的原创文章。
原文链接:【http://xie.infoq.cn/article/bd75f3ecb45afd0a5876609ab】。未经作者许可,禁止转载。
评论