Kubernetes中,可以在同一个物理集群上创建多个虚拟集群,这些虚拟集群称为命名空间。
当多个团队使用相同的物理集群,有可能存在名称冲突,就可以使用命名空间作区隔。
创建命名空间
创建命名空间的配置文件:
namespace.yaml
apiVersion: v1
kind: Namespace
metadata:
name: elk ## 要创建的命名空间
执行命令创建命名空间:
$ kubectl create -f ./namespace.yaml
管理命名空间
下面的命令用于管理命名空间。
$ kubectl get namespace
$ kubectl get namespace <Namespace name>
$ kubectl describe namespace <Namespace name>
$ kubectl delete namespace <Namespace name>
上述代码中,依次是:
- 列出命名空间
- 获取命名空间状态
- 输出命名空间详情
- 删除命名空间
在服务中使用命名空间-例子
下面是在服务中使用命名空间的示例。
apiVersion: v1
kind: Service
metadata:
name: nginx1
namespace: elk
labels:
app: nginx1
spec:
type: NodePort
ports:
- port: 81
targetPort: 80
nodePort: 30081
selector:
app: nginx1
在上面的代码中,Service
的命名空间设置为elk
。