总结:K8S之label

一、介绍

Label其实就一对 key/value ,被关联到对象上, label可以附加到各种资源对象上,如Node,Pod,Service,RC等。

一个资源拥有多个标签,可以实现不同维度的管理。

Label可以在创建对象时就附加到对象上,也可以在对象创建后通过API进行额外添加或修改。

二、 使用Label原因

2.1 当相同类型的资源越来越多,对资源划分管理是很有必要,此时就可以使用Label为资源对象 命名,以便于配置,部署等管理工作,提升资源的管理效率。label 作用类似Java包能对不同文件分开管理,让整体更加有条理,有利于维护。

2.2 通过Label来对对象进行引用。

三、创建对象时附加label到对象上

apiVersion: v1
kind: Namespace
metadata:
  name: hubble-manager

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: hubble-biz-cm-pod # pod 名称, 一个运营商一套
  namespace: hubble-manager # namespace 名称
spec:
  replicas: 2 # 指定要部署的个数
  selector:
    matchLabels:
      app: hubble-biz-cm #rc管理pod的时候选择包含app=hubble-biz-cm的标签进行管理
  template: # Pod的部署模板
    metadata:
      labels:
        app: hubble-biz-cm # 为pod创建两个标签,分别是app,proj
        proj: hubble-manager
    spec:
      containers:
        - # 采集器组件
          image: hubble-biz-cm:2.2.8-008
          imagePullPolicy: Always
          name: hubble-biz-cm #给容器起名字,和标签不是一个概念,名字相同只是为了便于识别应用
---
apiVersion: v1
kind: Service
metadata:
  name: m-biz-cm
  namespace: hubble-manager
  annotations:
    service.loadbalancer-address-type: "private" # 内外网:public/private
    service.loadbalancer-provider: "" # 运营商信, 若为内网private则忽略
    service.loadbalancer-project: "hubble" # 服务所属的项目信息
spec:
  type: LoadBalancer # 必须指定为LoadBalancer
  ports:
    - name: m-biz-cm
      port: 9666 #对外暴露的端口
      protocol: TCP # 通信协议: 可选TCP,UDP
      targetPort: 9666 # 转发到的后端Pod的端口
  selector:
    app: hubble-biz-cm # 指定转发的Pod, 此处选择标签为以上定义的spec.template.metadata.labels中定义的app=hubble-biz-cm的Pod将作为QLB的后端服务器

四、标签相关命令使用

1、给名为tomcat 的Pod添加label app=tomcat。

kubectl label pods tomcat  app=tomcat

2、 把名为tomcat 的Pod修改label为app=tomcat1,且覆盖现有的value

kubectl label --overwrite pods tomcat app=tomcat1

3、把 namespace 中的所有 pod 添加 label

kubectl label pods --all test=test

4、删除名为“app”的label 。(使用“ - ”减号相连)

kubectl label pods tomcat app-


### 回答1: 在 Kubernetes 集群中,可以使用 `kubectl get nodes` 命令来查看节点的 label 信息。该命令的输出包含了节点的名称、状态以及 label 信息。例如: ``` $ kubectl get nodes -l env=prod NAME STATUS ROLES AGE VERSION node1.example Ready <none> 1h v1.19.0 node2.example Ready <none> 1h v1.19.0 ``` 上面的命令中,我们使用了 `-l env=prod` 参数来筛选标记为 `env=prod` 的节点。 如果要查看更多关于某个特定节点的信息,可以使用 `kubectl describe node <node-name>` 命令。例如: ``` $ kubectl describe node node1.example ... Labels: env=prod ... ``` ### 回答2: 要查看Kubernetes集群中的节点标签,可以使用以下命令: 1. 使用kubectl命令行工具连接到集群。 2. 运行以下命令来查看所有节点及其标签: ``` kubectl get nodes --show-labels ``` 这将显示集群中所有节点的名称以及它们的标签。 示例输出: ``` NAME STATUS ROLES AGE VERSION LABELS node1 Ready master 3d3h v1.21.1 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=node1,kubernetes.io/os=linux,node-role.kubernetes.io/master= node2 Ready <none> 3d1h v1.21.1 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=node2,kubernetes.io/os=linux node3 Ready <none> 2d23h v1.21.1 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=node3,kubernetes.io/os=linux ``` 在这个示例中,每个节点都有一个或多个与其关联的标签。 另外,您还可以使用以下命令来获取特定节点的标签: ``` kubectl describe node <node_name> | grep Labels ``` 将`<node_name>`替换为您想要获取标签的节点的名称。这将显示指定节点的标签信息。 总结起来,要查看Kubernetes集群中的节点标签,您可以使用`kubectl get nodes --show-labels`命令来获取所有节点及其标签,或使用`kubectl describe node <node_name> | grep Labels`命令来获取特定节点的标签信息。 ### 回答3: 在Kubernetes中,可以使用kubectl命令行工具来查看节点的label。kubectl是Kubernetes的官方命令行客户端工具。 要查看节点的label,可以使用以下命令: ``` kubectl get nodes --show-labels ``` 这个命令会列出所有的节点,并显示每个节点的label。 如果只想查看特定节点的label,可以使用以下命令: ``` kubectl get node <node-name> --show-labels ``` 将<node-name>替换为要查看的节点名称。这个命令将显示指定节点的label。 另外,还可以使用以下命令来查找具有特定label的节点: ``` kubectl get nodes -l <label-selector> --show-labels ``` 将<label-selector>替换为要查找的label选择器。这个命令将显示具有指定label的所有节点。 通过这些命令,您可以方便地查看和搜索节点的label,以了解各个节点的特征和属性,进一步优化和管理您的Kubernetes集群。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值