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、名称当中只能够包含字母、数字和中划线(-)
posted @ 2021-11-23 11:31  Jeff的技术栈  阅读(3854)  评论(0编辑  收藏  举报
回顶部