如何给k8s集群里的资源打标签

目录
  • 如何给k8s集群里的资源打标签
  • 补充:k8s kubernetes给node节点添加标签和删除node节点标签

如何给k8s集群里的资源打标签

给节点添加角色:

k8s集群,节点如果有多个角色,需要标记出来,可以给对应的节点打上标签,方便后续了解节点的功能

命令:kubectl label nodes 节点名字 node-role.kubernetes.io/你想要的roles(=/-)

最后括号里的加减号,减号就是删除roles,等号就是增加roles

更新标签,在打标签命令后面添加参数--overwrite

举例:

给node节点添加角色:

#给node1节点增加jenkins角色
[root@k8s-master1 ~]# kubectl label nodes k8s-node1 node-role.kubernetes.io/jenkins=
node/k8s-node1 labeled

#给node2节点增加gitlab角色
[root@k8s-master1 ~]# kubectl label nodes k8s-node2 node-role.kubernetes.io/gitlab=
node/k8s-node2 labeled

#查询节点roles
[root@k8s-master1 ~]# kubectl get nodes
NAME          STATUS   ROLES          AGE   VERSION
k8s-master1   Ready    master         17d   v1.19.4
k8s-node1     Ready    jenkins,node   17d   v1.19.4
k8s-node2     Ready    gitlab,node    14d   v1.19.4

给deploymen控制器打标签:

更新标签,在打标签命令后面添加参数--overwrite

#查询标签
[root@k8s-master1 k8s]# kubectl get deploy -n my-ns-kcxm kcxm --show-labels
NAME   READY   UP-TO-DATE   AVAILABLE   AGE     LABELS
kcxm   2/2     2            2           8m47s   app=kcxm-gc

#打标签version=v1
[root@k8s-master1 k8s]# kubectl label deploy -n my-ns-kcxm kcxm version=v1
deployment.apps/kcxm labeled

#查询标签
[root@k8s-master1 k8s]# kubectl get deploy -n my-ns-kcxm kcxm --show-labels
NAME   READY   UP-TO-DATE   AVAILABLE   AGE     LABELS
kcxm   2/2     2            2           9m19s   app=kcxm-gc,version=v1

#更新标签,在打标签命令后面添加参数--overwrite
[root@k8s-master1 k8s]# kubectl label deploy -n my-ns-kcxm kcxm version=v2 --overwrite
deployment.apps/kcxm labeled

#查询标签
[root@k8s-master1 k8s]# kubectl get deploy -n my-ns-kcxm kcxm --show-labels
NAME   READY   UP-TO-DATE   AVAILABLE   AGE   LABELS
kcxm   2/2     2            2           13m   app=kcxm-gc,version=v2

#删除标签version=v2
[root@k8s-master1 k8s]# kubectl label deploy -n my-ns-kcxm kcxm version-
deployment.apps/kcxm labeled

#查询标签
[root@k8s-master1 k8s]# kubectl get deploy -n my-ns-kcxm kcxm --show-labels
NAME   READY   UP-TO-DATE   AVAILABLE   AGE     LABELS
kcxm   2/2     2            2           9m30s   app=kcxm-gc

给pod打标签:

[root@k8s-master1 k8s]# kubectl get pod -n my-ns-kcxm --show-labels
NAME                    READY   STATUS    RESTARTS   AGE     LABELS
kcxm-84c56f9d5b-595qx   1/1     Running   0          2m42s   app=kcxm-gc,pod-template-hash=84c56f9d5b
kcxm-84c56f9d5b-6h4w2   1/1     Running   0          2m42s   app=kcxm-gc,pod-template-hash=84c56f9d5b

#给pod打标签version=1.23.1
[root@k8s-master1 k8s]# kubectl label pod -n my-ns-kcxm kcxm-84c56f9d5b-595qx version=1.23.1
pod/kcxm-84c56f9d5b-595qx labeled

#查询标签
[root@k8s-master1 k8s]# kubectl get pod -n my-ns-kcxm --show-labels
NAME                    READY   STATUS    RESTARTS   AGE     LABELS
kcxm-84c56f9d5b-595qx   1/1     Running   0          3m30s   app=kcxm-gc,pod-template-hash=84c56f9d5b,version=1.23.1
kcxm-84c56f9d5b-6h4w2   1/1     Running   0          3m30s   app=kcxm-gc,pod-template-hash=84c56f9d5b

#给pod删除标签version=1.23.1
[root@k8s-master1 k8s]# kubectl label pod -n my-ns-kcxm kcxm-84c56f9d5b-595qx version-
pod/kcxm-84c56f9d5b-595qx labeled

#删除标签
[root@k8s-master1 k8s]# kubectl get pod -n my-ns-kcxm --show-labels
NAME                    READY   STATUS    RESTARTS   AGE    LABELS
kcxm-84c56f9d5b-595qx   1/1     Running   0          4m7s   app=kcxm-gc,pod-template-hash=84c56f9d5b
kcxm-84c56f9d5b-6h4w2   1/1     Running   0          4m7s   app=kcxm-gc,pod-template-hash=84c56f9d5b

补充:k8s kubernetes给node节点添加标签和删除node节点标签

[root@k8s-master ~]# hostname #查看节点名称
k8s-master
[root@k8s-master ~]#
[root@k8s-master ~]# kubectl get nodes  --show-labels  #查看节点标签
NAME         STATUS   ROLES           AGE   VERSION   LABELS
k8s-master   Ready    control-plane   9d    v1.26.0   app=master,beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-master,kubernetes.io/os=linux,node-role.kubernetes.io/control-plane=,node.kubernetes.io/exclude-from-external-load-balancers=
[root@k8s-master ~]# kubectl label nodes k8s-master env=env #给节点添加一个标签env=env
node/k8s-master labeled
[root@k8s-master ~]# kubectl get nodes  --show-labels  #再次查看节点标签,确定标签添加上了
NAME         STATUS   ROLES           AGE   VERSION   LABELS
k8s-master   Ready    control-plane   9d    v1.26.0   app=master,beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,env=env,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-master,kubernetes.io/os=linux,node-role.kubernetes.io/control-plane=,node.kubernetes.io/exclude-from-external-load-balancers=
[root@k8s-master ~]# kubectl label nodes k8s-master env- #删除节点标签env=env
node/k8s-master unlabeled
[root@k8s-master ~]#
[root@k8s-master ~]# kubectl get nodes --show-labels  #再次查看确定标签已经删除了
NAME         STATUS   ROLES           AGE   VERSION   LABELS
k8s-master   Ready    control-plane   9d    v1.26.0   app=master,beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-master,kubernetes.io/os=linux,node-role.kubernetes.io/control-plane=,node.kubernetes.io/exclude-from-external-load-balancers=
[root@k8s-master ~]# 

到此这篇关于如何给k8s集群里的资源打标签的文章就介绍到这了,更多相关k8s资源打标签内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Kubernetes(K8S)容器集群管理环境完整部署详细教程-上篇

    Kubernetes(通常称为"K8S")是Google开源的容器集群管理系统.其设计目标是在主机集群之间提供一个能够自动化部署.可拓展.应用容器可运营的平台.Kubernetes通常结合docker容器工具工作,并且整合多个运行着docker容器的主机集群,Kubernetes不仅仅支持Docker,还支持Rocket,这是另一种容器技术.Kubernetes是一个用于容器集群的自动化部署.扩容以及运维的开源平台. 本文系列: Kubernetes(K8S)容器集群管理环境完整部署详

  • k8s如何给node添加标签(最新推荐)

    目录 一.为什么需要标签? 二.怎么查看目前node上具有的标签 三.设置节点标签信息 1.设置节点标签 2.查看 worker02的标签是否已经设置上 3.多维度标签 3.1 设置多维度标签 3.2  显示节点的相应标签 四.通过标签来查找node 4.1 查找env=test的节点 五.修改标签 六.删除node的标签 七.标签选择器 一.为什么需要标签? k8s集群如果由大量节点组成,可将节点打上对应的标签,然后通过标签进行筛选及查看,更好的进行资源对象的相关选择与匹配 二.怎么查看目前n

  • k8s集群部署时etcd容器不停重启问题以及处理详解

    目录 问题现象 解决问题 总结 问题现象 在安装部署Kubernetes 1.26版本时,通过kubeadm初始化集群后,发现执行kubectl命令报以下错误: The connection to the server localhost:8080 was refused - did you specify the right host or port? 查看kubelet状态是否正常,发现无法连接apiserver的6443端口. Dec 21 09:36:03 k8s-master kube

  • k8s部署redis cluster集群的实现

    Redis 介绍 Redis代表REmote DIctionary Server是一种开源的内存中数据存储,通常用作数据库,缓存或消息代理.它可以存储和操作高级数据类型,例如列表,地图,集合和排序集合. 由于Redis接受多种格式的密钥,因此可以在服务器上执行操作,从而减少了客户端的工作量. 它仅将磁盘用于持久性,而将数据完全保存在内存中. Redis是一种流行的数据存储解决方案,并被GitHub,Pinterest,Snapchat,Twitter,StackOverflow,Flickr等技

  • 如何给k8s集群里的资源打标签

    目录 如何给k8s集群里的资源打标签 补充:k8s kubernetes给node节点添加标签和删除node节点标签 如何给k8s集群里的资源打标签 给节点添加角色: k8s集群,节点如果有多个角色,需要标记出来,可以给对应的节点打上标签,方便后续了解节点的功能 命令:kubectl label nodes 节点名字 node-role.kubernetes.io/你想要的roles(=/-) 最后括号里的加减号,减号就是删除roles,等号就是增加roles 更新标签,在打标签命令后面添加参数

  • Centos7 安装部署Kubernetes(k8s)集群实现过程

    目录 一.系统环境 二.前言 三.Kubernetes 3.1 概述 3.2 Kubernetes 组件 3.2.1 控制平面组件 3.2.2 Node组件 四.安装部署Kubernetes集群 4.1 环境介绍 4.2 配置节点的基本环境 4.3 节点安装docker,并进行相关配置 4.4 安装kubelet,kubeadm,kubectl 4.5 kubeadm初始化 4.6 添加worker节点到k8s集群 4.7 部署CNI网络插件calico 4.8 配置kubectl命令tab键自

  • Docker+K8S 集群环境搭建及分布式应用部署

    1.安装docker yum install docker #启动服务 systemctl start docker.service systemctl enable docker.service #测试 docker version 2.安装etcd yum install etcd -y #启动etcd systemctl start etcd systemctl enable etcd #输入如下命令查看 etcd 健康状况 etcdctl -C http://localhost:2379

  • 关于Rancher部署并导入K8S集群的问题

    Rancher 的部署可以有三种架构: 高可用 Kubernetes 安装: 建议使用 Kubernetes 程序包管理器 Helm 在专用的 Kubernetes 集群上安装 Rancher.在 RKE 集群中,需要使用三个节点以实现高可用性.在 K3s 集群(轻量级kubernetes)中,仅需要两个节点即可. 单节点 Kubernetes 安装: 另一个选择是在 Kubernetes 集群上使用 Helm 安装 Rancher,仅在集群中使用单个节点.虽然在这种情况下的 Rancher S

  • 部署k8s集群的超详细实践步骤

    目录 1.部署k8s的两种方式: 2.环境准备 3.初始化配置 3.1.安装环境准备:下面的操作需要在所有的节点上执行. 3.2.安装 Docker.kubeadm.kubelet[所有节点] 4.部署k8s-master[master执行] 4.1.kubeadm部署(需要等上一会) 4.2.拷贝k8s认证文件 5.配置k8s的node节点[node节点操作] 5.1.向集群添加新节点,执行在kubeadm init输出的kubeadm join命令 6.部署容器网络 (master执行) 7

  • Hyper-V下搭建K8S集群安装docker的方法步骤

    如果你安装了win10系统,想做k8s集群,win10自带的hyper-v也是一个很适合的虚拟机环境.在上一节中,我们安装了两台虚拟机,这一节,都安装上docker. master: 192.168.137.2 node1:  192.168.137.3 root密码:123456 1. 使用ssh登录虚拟机 有了ssh,在win10 host中就可以直接连接虚拟机了 ssh root@192.168.137.2 2.关闭安全配置 vi /etc/selinux/config 3.关闭防火墙 s

  • centos7系统部署k8s集群详细介绍

    目录 1 版本.规划 1.1 版本信息: 1.2集群规划 2.部署 1.关闭防火墙 2.关闭selinux 3.关闭swap 4.添加主机名和IP对应关系 5.将桥接的IPV4流量传递给iptables的链 6.安装docker 安装: 7.添加阿里云yum软件源 8.安装kubeadm.kubelet.kubectl 9.初始化master节点 10.安装pod网络插件(CNI) 11.node节点加入集群 1 版本.规划 1.1 版本信息: 名称 版本号 内核 3.10.0-1160.el7

  • Ansible部署K8s集群的方法

    目录 检查网络:k8s-check.yaml检查k8s各主机的网络是否可达; 检查k8s各主机操作系统版本是否达到要求: 配置k8s集群dns解析:k8s-hosts-cfg.yaml 配置yum源:k8s-yum-cfg.yaml 时钟同步:k8s-time-sync.yaml 禁用iptable.firewalld.NetworkManager服务 禁用SElinux.swap:k8s-SE-swap-disable.yaml 修改内核:k8s-kernel-cfg.yaml 配置ipvs:

  • 使用sealos快速搭建K8s集群环境的过程

    目录 一.前言 二.sealos 三.准备环境 sealos 安装 虚拟机设置 网络 windows网络 虚拟机的网络 网卡配置 其他配置 RPM 源 四.安装开始 五.可能遇见的问题 sealos run的时候镜像下载缓慢 六.安装测试 安装Kubernetes Dashboard 一.前言 最近在做谷粒商城项目,搞到k8s了,但是跟这老师的方法一步一步做还是搭建不起来. 我不断的试错啊,各种bug都遇见了一个也没解决我真是啊哭死! 二.sealos 直到遇见一个大佬同学,告诉我sealos几

  • 在centos 7中安装配置k8s集群的步骤详解

    配置背景介绍 kubernetes是google开源的容器集群管理系统,提供应用部署.维护.扩展机制等功能,利用kubernetes能方便管理跨集群运行容器化的应用,简称:k8s(k与s之间有8个字母) 为什么要用kubernetes这么复杂的docker集群管理工具呢?一开始接触了docker内置的swarm,这个工具非常简单快捷的完成docker集群功能.但是在使用docker1.13内置的swarm做集群的时候遇到vip负载均衡没有正确映射端口到外网,或者出现地址被占用的情况,这对高可用性

随机推荐