本文主要圍繞兩部分展開: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標籤。