关于kubernetes:kubernetes核心实战一-namespace

3次阅读

共计 2416 个字符,预计需要花费 7 分钟才能阅读完成。

kubernetes 外围实战

1、资源创立形式

命令行创立

yaml 文件创建

2、namespace

命名空间(namespace)是 Kubernetes 提供的组织机制,用于给集群中的任何对象组进行分类、筛选和治理。每一个增加到 Kubernetes 集群的工作负载必须放在一个命名空间中。

命名空间为集群中的对象名称赋予作用域。尽管在命名空间中名称必须是惟一的,然而雷同的名称能够在不同的命名空间中应用。这对于某些场景来说可能帮忙很大。例如,如果应用命名空间来划分应用程序生命周期环境(如开发、staging、生产),则能够在每个环境中保护利用同样的名称保护雷同对象的正本。

命名空间还能够让用户轻松地将策略利用到集群的具体局部。你能够通过定义 ResourceQuota 对象来管制资源的应用,该对象在每个命名空间的根底上设置了应用资源的限度。相似地,当在集群上应用反对网络策略的 CNI(容器网络接口)时,比方 Calico 或 Canal(calico 用于策略,flannel 用于网络)。你能够将 NetworkPolicy 利用到命名空间,其中的规定定义了 pod 之间如何彼此通信。不同的命名空间能够有不同的策略。

应用命名空间最大的益处之一是可能利用 Kubernetes RBAC(基于角色的访问控制)。RBAC 容许您在单个名称下开发角色,这样将权限或性能列表分组。ClusterRole 对象用于定义集群规模的应用模式,而角色对象类型(Role object type)利用于具体的命名空间,从而提供更好的管制和粒度。在角色创立后,RoleBinding 能够将定义的性能授予单个命名空间上下文中的具体具体用户或用户组。通过这种形式,命名空间能够使得集群操作者可能将雷同的策略映射到组织好的资源汇合。

将命名空间映射到团队或我的项目上

应用命名空间对生命周期环境进行分区

应用命名空间隔离不同的使用者

[root@k8s-master-node1 ~]# kubectl  create  namespace cby
namespace/cby created
[root@k8s-master-node1 ~]# 
[root@k8s-master-node1 ~]# kubectl  get namespaces 
NAME                   STATUS   AGE
cby                    Active   2s
default                Active   21h
ingress-nginx          Active   21h
kube-node-lease        Active   21h
kube-public            Active   21h
kube-system            Active   21h
kubernetes-dashboard   Active   21h
[root@k8s-master-node1 ~]# 
[root@k8s-master-node1 ~]# kubectl  delete  namespace cby
namespace "cby" deleted
[root@k8s-master-node1 ~]# 
[root@k8s-master-node1 ~]# 
[root@k8s-master-node1 ~]# kubectl  get namespaces 
NAME                   STATUS   AGE
default                Active   21h
ingress-nginx          Active   21h
kube-node-lease        Active   21h
kube-public            Active   21h
kube-system            Active   21h
kubernetes-dashboard   Active   21h
[root@k8s-master-node1 ~]#
查看 yaml 格局
  • [root@k8s-master-node1 ~]# kubectl  create  namespace cby
    namespace/cby created
    [root@k8s-master-node1 ~]# 
    [root@k8s-master-node1 ~]# kubectl  get namespaces cby -o yaml
    apiVersion: v1
    kind: Namespace
    metadata:
    creationTimestamp: "2021-11-17T03:08:10Z"
    labels:
      kubernetes.io/metadata.name: cby
    name: cby
    resourceVersion: "311903"
    uid: 63f2e47d-a2a5-4a67-8fd2-7ca29bfb02be
    spec:
    finalizers:
    
    - kubernetes
      status:
        phase: Active


  

  

![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/e358ba9f0bfa41e39fa47c8f7420ffab~tplv-k3u1fbpfcp-zoom-1.image)

**Linux 运维交换社区 **

Linux 运维交换社区,互联网新闻以及技术交换。57 篇原创内容

公众号

![图片](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/5d357157ea1e4fceb1a22c8e6dc229c3~tplv-k3u1fbpfcp-zoom-1.image)  

https://blog.csdn.net/qq_33921750

https://my.oschina.net/u/3981543

https://www.zhihu.com/people/chen-bu-yun-2

https://segmentfault.com/u/hppyvyv6/articles

https://juejin.cn/user/3315782802482007

https://space.bilibili.com/352476552/article

https://cloud.tencent.com/developer/column/93230

知乎、CSDN、开源中国、思否、掘金、哔哩哔哩、腾讯云

  
正文完
 0