傲视Kubernetes(五):注解和命名空间

本文主要围绕两部分展开:

1. 注解的介绍及使用;

2. 命名空间的介绍及使用。

一、注解

K8S中的对象除了可以用标签来标识/归类外,还可以用加注解(annotations)属性,它属于metadata的子标签,也是键值对的格式。此处的注解和java中的注解完全不一样,非要类比的话,Java中的注解更像是Kubernetes中的标签-标识特定的用途,而Kubernetes中的注解更像是注释,相对于标签来说,可以添加更多更详细的内容,但总共不能超过256KB。

标签有对应的标签选择器,所以可以用于标识/归类,但注解则没有对应的注解选择器。

注解使用:

添加/修改注解(跟操作标签的格式类似):

kubectl annotate pod podname  annotationkey=annotationvalue

添加完之后当你查看pod信息时就能看到这个注解。

 

二、命名空间

命名空间可以将一组与其他对象隔离开,同一个命名空间内部的对象名不能重复,但不同命名空间之间的对象无此约束。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标签。

 

posted on 2021-01-23 23:39  淡墨痕  阅读(201)  评论(0编辑  收藏  举报