当前位置: 首页 > Linux

实际生产环境:最新的K8sNameSpaces详解

时间:2023-04-06 18:28:53 Linux

在本文中,我将使用到的任何图片发一个网盘链接,供大家下载学习!yaml请到我的github下载学习!github:https://github.com/heyangguang有问题可以直接联系我邮箱:heyangev@cn.ibm.comnamespaces官网https://kubernetes.io/docs/co...namespaces介绍Namespaces简单的说就是可以用来放置Pod的组!如果资源不多,那么就没有必要使用命名空间。但是如果资源比较多,比如我们有web组件和数据库组件,那么我们可以创建两个不同的命名空间来放置和管理我们的Pod。当然命名空间不只是这么简单!它还具有通过磁盘配额在多个用户之间分配集群资源的方法。查看namespaces1,查看所有命名空间[root@master01~]#kubectlgetnamespacesNAMESTATUSAGEdefaultActive10hkube-node-leaseActive10hkube-publicActive10hkube-systemActive10hKubernetes开始时有三个初始命名空间:没有其他命名空间的对象默认默认命名空间kube-系统命名空间kube-public用于Kubernetes系统创建的对象这个命名空间是自动创建的,所有用户都可以读取,包括未经身份验证的用户。此命名空间主要供集群使用,以防某些资源在整个集群中可见且可公开读取。此命名空间的公共方面是约定,而非要求。2.指定命名空间查看[root@master01~]#kubectlgetnamespaceskube-systemNAMESTATUSAGEkube-systemActive10h3.指定命名空间查看详情[root@master01~]#kubectldescribenamespaceskube-systemName:kube-systemLabels:Annotations:Status:ActiveNoresourcequota.Noresourcelimits.namespaces状态有两种状态:ActiveNamespaceisinuseTerminatingNamespaceisbeingdelete,cannotbeusedfornewobjectcreationnamespaces1,使用命令行创建[root@master01~]#kubectlcreatenamespacetestnamespace/testcreated[root@master01~]#kubectlgetnamespacesNAMESTATUSAGEdefaultActive10hkube-node-leaseActive10hkube-publicActive10hkube-systemActive10htestActive10s2,使用yaml创建[root@master01~]#catmy-namespace.yamlapiVersion:v1kind:Namespacemetadata:name:yaml-test[root@master01~]#kubectlcreate-f./my-namespace.yamlnamespace/yaml-test已创建[root@master01~]#kubectl获取命名空间NAMESTATUSAGEdefaultActive10hkube-node-leaseActive10hkube-publicActive10hkube-systemActive10htestActive114syaml-testActive5sDeletenamespaces1,使用命令行删除[root@master01~]#kubectldeletenamespacestestnamespace"test"deleted[root@master01~]#kubectlgetnamespacesNAMESTATUSAGEdefaultActive10hkube-node-leaseActive10hkube-publicActive10hkube-systemActive10hyaml-testActive99s2,使用yaml删除[root@master01~]#kubectldelete-f./my-namespace.yamlnamespace"yaml-test"deleted[root@master01~]#kubectlgetnamespacesNAMESTATUSAGEdefaultActive11hkube-node-leaseActive11hkube-publicActive11hkube-systemActive11h这个删除是异步的,所以你会看到Terminatingstatusforawhile删除这里的namespace会级联删除,如果namespace下有正在运行的Pod就会被删除。