本文主要围绕两部分展开:java
1. 注解的介绍及使用;网络
2. 命名空间的介绍及使用。spa
1、注解code
K8S中的对象除了能够用标签来标识/归类外,还能够用加注解(annotations)属性,它属于metadata的子标签,也是键值对的格式。此处的注解和java中的注解彻底不同,非要类比的话,Java中的注解更像是Kubernetes中的标签-标识特定的用途,而Kubernetes中的注解更像是注释,相对于标签来讲,能够添加更多更详细的内容,但总共不能超过256KB。对象
标签有对应的标签选择器,因此能够用于标识/归类,但注解则没有对应的注解选择器。blog
注解使用:作用域
添加/修改注解(跟操做标签的格式相似):get
kubectl annotate pod podname annotationkey=annotationvalue
添加完以后当你查看pod信息时就能看到这个注解。io
2、命名空间class
命名空间能够将一组与其余对象隔离开,同一个命名空间内部的对象名不能重复,但不一样命名空间之间的对象无此约束。Kubernetes的命名空间是给对象划分的做用域,只有经过这个命名空间才能操做做用域内的对象。不一样的命名空间之间不提供网络隔离。
操做:
查看集群中已有的命名空间:
kubectl get ns
查看某个命名空间中的对象:
kubectl get pod -n namespace-name
建立命名空间能够经过yaml文件建立,也能够直接用下面指令:
kubectl create namespace namespace-name
注意命名空间的名字不能有点号
如何将对象划分给对应的命名空间呢?能够在建立对象时指定命名空间:
kubectl create -f xxx.yaml -n namespace-name
或者在yaml文件中,在metadata标签下增长namespace标签。