k8s-名称空间namespace,标签labels,命名规范
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、名称当中只能够包含字母、数字和中划线(-)
选择了IT,必定终身学习