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