1、k8s中的名稱空間-namespace
k8s中名稱空間是用來隔離集群資源,而k8s中的資源也分為名稱空間級資源以及集群級資源。
一個微服務,一個名稱空間-namespace
# kubectl是k8s客戶端,它跟k8s沒有任何關系。
## kubectl get [資源名稱] 獲取集群資源的命令
# 獲取名稱空間
[root@k8s-m-01 ~]# kubectl get namespace
NAME STATUS AGE
default Active 5d16h
kube-node-lease Active 5d16h
kube-public Active 5d16h
kube-system Active 5d16h
[root@k8s-m-01 ~]# kubectl get ns
NAME STATUS AGE
default Active 5d16h
kube-node-lease Active 5d16h
kube-public Active 5d16h
kube-system Active 5d16h
創建名稱空間
# 注:部署應用一般是部署在自己的名稱空間之內
[root@k8s-m-01 ~]# kubectl create namespace wordpress
namespace/wordpress created
apiVersion: v1
kind: Namespace
metadata:
name: test-Namespace
labels:
app: test-Namespace
2、標簽
常規標簽
# docker中的TAG = 倉庫URL/名稱空間/倉庫名稱:版本號
k8s當做標簽是用來管理(識別一系列)容器,方便與管理和監控擁有同一標簽的所有容器
# 標簽
metadata:
name: test-tag
labels:
release: stable
########################
key=value,隨便寫
一般常用寫法:
版本標簽:release:stable(穩定版),release:anary(測試版),release:bate(公測版),release:alpha(內測版)
環境標簽:environment:dev(測試),environment:production(正式)
架構標簽:tier:frontend(前端),tier:backend(后段),tier:middleware(中間健)
分區標簽:partition:customerA,partition:customerB
質量管控標簽:track:daily(每日),track:weekly(每周)
########################
測試清單
apiVersion: v1
kind: Pod
metadata:
name: test-tag
labels:
release: stable
spec:
containers:
- name: nginx
image: nginx
增刪改查標簽
資源類型:pod,nodes
# 查看標簽-label
kubectl get pod(資源類型) --show-labels
[root@k8s-m-01 ~]# kubectl get pod --show-labels
test-tag 1/1 Running 0 10m release=stable
# 增加標簽
[root@sg-14 k8s_yaml]# kubectl label pod(資源類型) test-tag app=tag
test-tag 1/1 Running 0 10m app=tag,release=stable
# 刪除標簽
[root@k8s-m-01 ~]# kubectl label pod test-tag app-
test-tag 1/1 Running 0 10m release=stable
# 修改標簽
## 先刪除后增加
3、k8s中的命名規范
1、必須小寫
2、必須以字母開頭
3、名稱當中只能夠包含字母、數字和中划線(-)
