Kubernetes 中命名空间(Namespace)是用来隔离 Kubernetes 集群内的不同资源对象的一种方式。每个 Kubernetes 对象都必须被分配到一个命名空间中,而且默认情况下,一个对象只能被同一命名空间内的其他对象访问。Kubernetes 可以帮助用户在同一集群内部部署多个独立的应用程序,每个应用程序都在自己的命名空间内运行。
shell# 创建命名空间
$ kubectl create namespace|ns testapp
# 部署应用到指定的命名空间
$ kubectl apply -f app.yml --namespace testapp
# 查询
$ kubectl get pod --namespace kube-system
yamlapiVersion: v1
kind: Namespace
metadata:
name: ems
可以用 kubens 快速切换 namespace
shell# 列出所有命名空间
kubens
# 切换命名空间
kubens kube-system
# 回到上个命名空间
kubens -
下面是一些常见的可以跨命名空间的资源对象:
Node
Namespace
ClusterRole
ClusterRoleBinding
CustomResourceDefinition
下面是一些不能跨命名空间的资源对象:
Pod
ReplicaSet
Deployment
Service
ConfigMap
Secret
Ingress
PersistentVolume
PersistentVolumeClaim
Role
RoleBinding
ServiceAccount
本文作者:松轩(^U^)
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!