namespace)
逻辑资源的划分,命名空间。逻辑划分,便于管理和权限分配。
使用kubectl api-resources 可以查看那些资源可以由namespace调度 true 为namespace管理的资源
物理资源调度没有边界,逻辑上可以通过namespace 隔离 资源配额。
初始名字空间
Kubernetes 启动时会创建四个初始名字空间:
default
Kubernetes 包含这个名字空间,以便于你无需创建新的名字空间即可开始使用新集群。
kube-node-lease
该名字空间包含用于与各个节点关联的 Lease(租约)对象。 节点租约允许 kubelet 发送心跳, 由此控制面能够检测到节点故障。
kube-public
所有的客户端(包括未经身份验证的客户端)都可以读取该名字空间。 该名字空间主要预留为集群使用,以便某些资源需要在整个集群中可见可读。 该名字空间的公共属性只是一种约定而非要求。
kube-system
该名字空间用于 Kubernetes 系统创建的对象。
创建名称空间

kubectl create namespace project1 

修改用户的默认namesapce : 当前用户默认的namespace : default

[root@master01 ~]# kubectl config  get-contexts 
CURRENT   NAME                          CLUSTER      AUTHINFO           NAMESPACE
*         kubernetes-admin@kubernetes   kubernetes   kubernetes-admin   default

命令修改

[root@master01 ~]# kubectl config set-context --namespace=project --current 
Context "kubernetes-admin@kubernetes" modified.
[root@master01 ~]# kubectl config  get-contexts 
CURRENT   NAME                          CLUSTER      AUTHINFO           NAMESPACE
*         kubernetes-admin@kubernetes   kubernetes   kubernetes-admin   project

更改配置文件修改

[root@master01 ~]# vim .kube/config 
contexts:
- context:
    cluster: kubernetes
    namespace: default
    user: kubernetes-admin
  name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes

并非所有对象都在名字空间中
大多数 kubernetes 资源(例如 Pod、Service、副本控制器等)都位于某些名字空间中。 但是名字空间资源本身并不在名字空间中。而且底层资源, 例如节点和持久化卷不属于任何名字空间。

查看哪些 Kubernetes 资源在名字空间中,哪些不在名字空间中:

位于名字空间中的资源
kubectl api-resources --namespaced=true

不在名字空间中的资源
kubectl api-resources --namespaced=false

文章作者: emporer
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Emporer-Linux
kubernetes namespace kubernetes
喜欢就支持一下吧