[toc]

K8S的名称空间”namespace”

选项

1
-n   # 指定名称空间

命令语法

  • 查看名称空间

    1
    2
    3
    4
    kubectl get namespace
    kubectl get ns
    ## No resources found in default namespace. default名称空间中没有找到pod
    ## k8s默认操作的名称空间,就是"default"名称空间
  • 查看名称空间的详细信息

    1
    kubectl describe namespace
  • 创建名称空间

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    # 创建名称空间
    kubectl create namespace hcl
    namespace/hcl created

    ## 查看"namespace"资源
    kubectl get ns
    NAME STATUS AGE
    default Active 3d8h
    hcl Active 1s
    kube-flannel Active 3d7h
    kube-node-lease Active 3d8h
    kube-public Active 3d8h
    kube-system Active 3d8h
    test-mysql Active 2d8h
  • 删除名称空间

    1
    2
    # 删除namespace
    kubectl delete namespace hcl

k8s标签”label”

打标签

  • 给node打角色标签

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    # 语法格式
    kubectl label [资源] [资源的名称] [标签名=]

    # 示例
    kubectl label nodes k8s03 node03=

    # 查看node标签
    kubectl get node --show-labels
    NAME STATUS ROLES AGE VERSION LABELS
    k8s03 Ready node02 3d9h v1.19.3 node03=

    # 删除标签"-"
    kubectl label nodes k8s03 node03-
    node/k8s03 labeled
  • 给pod打标签

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    # 语法格式
    kubectl label [资源] [资源的名称] [标签名=标签值]

    # 示例
    kubectl label pod aaa name=hcl
    pod/aaa labeled

    # 删除pod标签
    kubectl label pod aaa name-
    aaa labeled

    # 查看pod标签
    kubectl get pod aaa --show-labels
    NAME READY STATUS RESTARTS AGE LABELS
    aaa 1/1 Running 0 2d11h <none>

node标签使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# 指定将pod起在哪个node上
vim mysql-pod.yaml
apiVersion: "v1"
kind: "Pod"
metadata:
labels:
name: hcl
name: mysql-pod-test
spec:
nodeName: k8s02
nodeSelector:
MEM: JinShiDun
containers:
- name: mysql-container-test
image: mysql:5.7
imagePullPolicy: IfNotPresent
env:
- name: MYSQL_ROOT_PASSWORD
value: '123'
- name: MYSQL_DATABASE
value: 'wordpres'
- name: MYSQL_USER
value: 'wp_user'
- name: MYSQL_PASSWORD
value: '123'
args:
- --character-set-server=utf8
--collation-server=utf8_bin

# 方法一: 通过标签指定
nodeSelector:
MEM: JinShiDun

# 方法二:通过node节点名字指定
nodeName: k8s02