Kubernetes集群Node管理
创始人
2024-05-20 13:30:16
0

Kubernetes集群Node管理

  • 一、查看集群信息
  • 二、查看节点信息
    • 2.1 查看集群节点信息
    • 2.2 查看集群节点详细信息
    • 2.3 查看节点描述详细信息
  • 三、worker node节点管理集群
  • 四、节点标签(label)
    • 4.1 查看节点标签信息
    • 4.2 设置节点标签信息
      • 4.2.1 设置节点标签
      • 4.2.2 查看所有节点带region的标签
    • 4.3 多维度标签
      • 4.3.1 设置多维度标签
      • 4.3.2 显示节点的相应标签
      • 4.3.3 查找`region=huanai`的节点
      • 4.3.4 标签的修改
      • 4.3.5 标签的删除
      • 4.3.6 标签选择器

一、查看集群信息

[root@k8s-master01 ~]# kubectl cluster-info
Kubernetes control plane is running at https://192.168.10.100:6443
CoreDNS is running at https://192.168.10.100:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

二、查看节点信息

2.1 查看集群节点信息

[root@k8s-master01 ~]# kubectl get nodes
NAME           STATUS   ROLES    AGE   VERSION
k8s-master01   Ready       36d   v1.21.10
k8s-master02   Ready       36d   v1.21.10
k8s-master03   Ready       36d   v1.21.10
k8s-worker02   Ready       36d   v1.21.10

2.2 查看集群节点详细信息

[root@k8s-master01 ~]# kubectl get nodes -owide
NAME           STATUS   ROLES    AGE   VERSION    INTERNAL-IP      EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION              CONTAINER-RUNTIME
k8s-master01   Ready       36d   v1.21.10   192.168.10.101           CentOS Linux 7 (Core)   6.1.0-1.el7.elrepo.x86_64   docker://20.10.22
k8s-master02   Ready       36d   v1.21.10   192.168.10.102           CentOS Linux 7 (Core)   6.1.0-1.el7.elrepo.x86_64   docker://20.10.22
k8s-master03   Ready       36d   v1.21.10   192.168.10.103           CentOS Linux 7 (Core)   6.1.0-1.el7.elrepo.x86_64   docker://20.10.22
k8s-worker02   Ready       36d   v1.21.10   192.168.10.104           CentOS Linux 7 (Core)   6.1.1-1.el7.elrepo.x86_64   docker://20.10.22

2.3 查看节点描述详细信息

[root@k8s-master01 ~]# kubectl describe nodes k8s-master01
Name:               k8s-master01
Roles:              
Labels:             beta.kubernetes.io/arch=amd64beta.kubernetes.io/os=linuxkubernetes.io/arch=amd64kubernetes.io/hostname=k8s-master01kubernetes.io/os=linux
Annotations:        node.alpha.kubernetes.io/ttl: 0projectcalico.org/IPv4Address: 192.168.10.101/24projectcalico.org/IPv4IPIPTunnelAddr: 10.244.32.128volumes.kubernetes.io/controller-managed-attach-detach: true
CreationTimestamp:  Sat, 24 Dec 2022 23:45:43 +0800
Taints:             
Unschedulable:      false
Lease:HolderIdentity:  k8s-master01AcquireTime:     RenewTime:       Mon, 30 Jan 2023 11:03:00 +0800
Conditions:Type                 Status  LastHeartbeatTime                 LastTransitionTime                Reason                       Message----                 ------  -----------------                 ------------------                ------                       -------NetworkUnavailable   False   Sun, 29 Jan 2023 10:12:40 +0800   Sun, 29 Jan 2023 10:12:40 +0800   CalicoIsUp                   Calico is running on this nodeMemoryPressure       False   Mon, 30 Jan 2023 11:00:34 +0800   Sat, 24 Dec 2022 23:45:42 +0800   KubeletHasSufficientMemory   kubelet has sufficient memory availableDiskPressure         False   Mon, 30 Jan 2023 11:00:34 +0800   Sat, 24 Dec 2022 23:45:42 +0800   KubeletHasNoDiskPressure     kubelet has no disk pressurePIDPressure          False   Mon, 30 Jan 2023 11:00:34 +0800   Sat, 24 Dec 2022 23:45:42 +0800   KubeletHasSufficientPID      kubelet has sufficient PID availableReady                True    Mon, 30 Jan 2023 11:00:34 +0800   Sun, 25 Dec 2022 00:06:35 +0800   KubeletReady                 kubelet is posting ready status
Addresses:InternalIP:  192.168.10.101Hostname:    k8s-master01
Capacity:cpu:                2ephemeral-storage:  19466Mihugepages-1Gi:      0hugepages-2Mi:      0memory:             3995080Kipods:               110
Allocatable:cpu:                2ephemeral-storage:  18370422344hugepages-1Gi:      0hugepages-2Mi:      0memory:             3892680Kipods:               110
System Info:Machine ID:                 0e0a3ea7d11c4165b5eb28435792ad47System UUID:                d3794d56-6573-8633-b1d0-456a80d8ee9aBoot ID:                    09607e08-716a-4834-847b-534c12d3e5deKernel Version:             6.1.0-1.el7.elrepo.x86_64OS Image:                   CentOS Linux 7 (Core)Operating System:           linuxArchitecture:               amd64Container Runtime Version:  docker://20.10.22Kubelet Version:            v1.21.10Kube-Proxy Version:         v1.21.10
PodCIDR:                      10.244.0.0/24
PodCIDRs:                     10.244.0.0/24
Non-terminated Pods:          (2 in total)Namespace                   Name                                         CPU Requests  CPU Limits  Memory Requests  Memory Limits  Age---------                   ----                                         ------------  ----------  ---------------  -------------  ---kube-system                 calico-node-d5qw7                            250m (12%)    0 (0%)      0 (0%)           0 (0%)         36dkubernetes-dashboard        dashboard-metrics-scraper-c45b7869d-9c8jj    0 (0%)        0 (0%)      0 (0%)           0 (0%)         35d
Allocated resources:(Total limits may be over 100 percent, i.e., overcommitted.)Resource           Requests    Limits--------           --------    ------cpu                250m (12%)  0 (0%)memory             0 (0%)      0 (0%)ephemeral-storage  0 (0%)      0 (0%)hugepages-1Gi      0 (0%)      0 (0%)hugepages-2Mi      0 (0%)      0 (0%)
Events:              

三、worker node节点管理集群

  • 如果是kubeasz安装,所有节点(包括master与node)都已经可以对集群进行管理

  • 如果是kubeadm安装,在node节点上管理时会报如下错误

[root@k8s-worker1 ~]# kubectl get nodes
The connection to the server localhost:8080 was refused - did you specify the right host or port?

把master上的管理文件/etc/kubernetes/admin.conf拷贝到node节点的$HOME/.kube/config就可以让node节点也可以实现kubectl命令管理

在node节点的用户家目录创建.kube目录

[root@k8s-worker02 ~]# mkdir /root/.kube

2, 在master节点做如下操作

[root@k8s-worker02 ~]# scp /etc/kubernetes/admin.conf node1:/root/.kube/config

3, 在worker node节点验证

[root@k8s-worker02 ~]# kubectl get nodes
NAME          STATUS   ROLES    AGE     VERSION
k8s-master01   Ready       2d20h   v1.21.10
k8s-master02   Ready       2d20h   v1.21.10
k8s-master03   Ready       2d20h   v1.21.10
k8s-worker02   Ready       2d20h   v1.21.10

四、节点标签(label)

  • k8s集群如果由大量节点组成,可将节点打上对应的标签,然后通过标签进行筛选及查看,更好的进行资源对象的相关选择与匹配

4.1 查看节点标签信息

[root@k8s-master01 ~]# kubectl get nodes --show-labels 
NAME           STATUS   ROLES    AGE   VERSION    LABELS
k8s-master01   Ready       36d   v1.21.10   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-master01,kubernetes.io/os=linux
k8s-master02   Ready       36d   v1.21.10   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,env=test1,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-master02,kubernetes.io/os=linux
k8s-master03   Ready       36d   v1.21.10   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,bussiness=ad,env=test2,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-master03,kubernetes.io/os=linux,zone=A
k8s-worker02   Ready       36d   v1.21.10   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-worker02,kubernetes.io/os=linux

4.2 设置节点标签信息

4.2.1 设置节点标签

为节点k8s-worker1打一个region=huanai 的标签

[root@k8s-master01 ~]# kubectl label node k8s-worker01 region=huanai
node/k8s-worker01 labeled

4.2.2 查看所有节点带region的标签

[root@k8s-master01 ~]# kubectl get nodes -L region
NAME          STATUS   ROLES    AGE     VERSION    REGION
k8s-master01   Ready       2d21h   v1.21.10
k8s-master02   Ready       2d21h   v1.21.10
k8s-master03   Ready       2d21h   v1.21.10
k8s-worker02   Ready       2d21h   v1.21.10   huanai

4.3 多维度标签

4.3.1 设置多维度标签

也可以加其它的多维度标签,用于不同的需要区分的场景

如把k8s-master03标签为华南区,A机房,测试环境,游戏业务

[root@k8s-master01 ~]# kubectl label node k8s-master03 zone=A env=test bussiness=game
node/k8s-master03 labeled
[root@k8s-master01 ~]# kubectl get nodes k8s-master03 --show-labels
NAME          STATUS   ROLES    AGE     VERSION    LABELS
k8s-master03   Ready       2d21h   v1.21.10   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,bussiness=game,env=test,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-master03,kubernetes.io/os=linux,zone=A

4.3.2 显示节点的相应标签

[root@k8s-master01 ~]# kubectl get nodes -L region,zone
NAME          STATUS   ROLES    AGE     VERSION    REGION   ZONE
k8s-master01   Ready       2d21h   v1.21.10
k8s-master02   Ready       2d21h   v1.21.10
k8s-master03   Ready       2d21h   v1.21.10            A
k8s-worker02   Ready       2d21h   v1.21.10   huanai

4.3.3 查找region=huanai的节点

[root@k8s-master01 ~]# kubectl get nodes -l region=huanai
NAME          STATUS   ROLES    AGE     VERSION
k8s-worker02  Ready       2d21h   v1.21.10

4.3.4 标签的修改

[root@k8s-master01 ~]# kubectl label node k8s-master03 bussiness=ad --overwrite=true
node/k8s-master03 labeled
加上--overwrite=true覆盖原标签的value进行修改操作
[root@k8s-master01 ~]# kubectl get nodes -L bussiness
NAME          STATUS   ROLES    AGE     VERSION    BUSSINESS
k8s-master01   Ready       2d21h   v1.21.10
k8s-master02   Ready       2d21h   v1.21.10
k8s-master03   Ready       2d21h   v1.21.10   ad
k8s-worker02   Ready       2d21h   v1.21.10

4.3.5 标签的删除

使用key加一个减号的写法来取消标签

[root@k8s-master02 ~]# kubectl label node k8s-worker02 region-
node/k8s-worker02 labeled

4.3.6 标签选择器

标签选择器主要有2类:

  • 等值关系: =, !=
  • 集合关系: KEY in {VALUE1, VALUE2…}
[root@k8s-master01 ~]# kubectl label node k8s-master02 env=test1
node/k8s-master02 labeled
[root@k8s-master01 ~]# kubectl label node k8s-master03 env=test2
node/k8s-master03 labeled
[root@k8s-master01 ~]# kubectl get node -l "env in(test1,test2)"
NAME          STATUS   ROLES    AGE     VERSION
k8s-master02   Ready       2d21h   v1.21.10
k8s-master03   Ready       2d21h   v1.21.10

相关内容

热门资讯

在中国肥胖日 见证一场三甲医院... 转自:千龙网新华社上海5月11日电(记者袁全、许东远)“工作太忙,没时间运动。”“下班了,我只想‘躺...
防盗网、铁栅栏、广告牌……南岗... 近日,南岗区消防救援大队联合区应急局、区城管局、区执法局、属地街道办事处和公安派出所等部门,以学府东...
拓邦股份与SAX Power正... 人民财讯5月11日电,近日,备受瞩目的The Smarter E Europe德国能源展落下帷幕,拓...
汽车车门把手将迎来国家标准,会... 汽车车门把手标准,不仅是技术问题、设计问题,更是安全问题。 5月8日至6月7日...
痛悼!中国工程院院士、国医大师... 今天(5月11日),石学敏同志治丧委员会发布讣告:中国工程院院士石学敏,因病医治无效,于2025年5...
微信、抖音、淘宝、快手集体公告... 近日,抖音、微信、淘宝、快手等多个平台接连发布公告,拦截、下架一批违规微短剧。━━━━━微信5月7日...
【行业深度】洞察2025:中国... 转自:前瞻产业研究院行业主要上市公司:北方稀土(600111);中国稀土(000831);广晟有色(...
11死37伤,斯里兰卡突发一客... 据央视新闻消息,当地时间5月11日,斯里兰卡中央省发生一起车祸,一辆客车坠入悬崖,目前已造成11人死...
新疆发现战国至秦汉时期大型墓群 中新网新疆托克逊5月11日电 (史玉江)“这片墓葬群有两个区域,共有墓葬两百余座,是目前吐鲁番盆地保...
北京经开区工业科技旅游三年行动... 新京报讯(记者吴婷婷)走进机器人“大家庭”感受未来世界、在航天企业开启逐梦太空之旅、坐上自动驾驶车辆...
长沙一金丝楠木展厅突起火,当地... 5月10日下午,湖南省长沙市开福区潮宗街金丝楠木展厅着火,里面陈设的文创品被付之一炬。5月11日,华...
2031年女足世界杯将增至48...   本报讯(记者赵晓松)昨天,国际足联在官网发布公告,确认自2031年起,女足世界杯决赛阶段参赛球队...
马克龙称法英正与乌克兰商议“在...   新华社北京5月11日电 法国总统埃马纽埃尔·马克龙10日表示,法国正在与英国、乌克兰方面商讨向乌...
红星资本局5月11日消息,苹果... #苹果再次降价降幅超1000元# 红星资本局5月11日消息,苹果再次宣布降价,降幅超1000元。据...
“四年制”幼儿园上路 作 者丨王峰编 辑丨陈洁图 源丨新华社作为促进生育政策的重要部分,托育一体化正在各地疾进。今年政府工...
大跳水,暴跌40%!老板:一天... 转自:钱江晚报夏天快来了“日啖荔枝三百颗,不辞长作岭南人”的时节又到了价格大跳水!暴跌40% 近日,...
原创设计、多元化定制……关税战... 转自:中央广播电视总台中国之声  浙江义乌,作为全球最大的“国外节日礼物用品”集散地,每年有数十亿美...
“上海地铁口现房总价45万”?... 本文转自【法治网】;上海闵行地铁口现房,首付5万总价45万,买一层得上下两层;上海徐汇交通大学70年...
2025 款斯柯达ENYAQ ... IT之家 5 月 11 日消息,斯柯达现已在海外公布2025款 ENYAQ vRS掀背车官图,该车定...
全店下架!“给小孩喂粽子,发现... 5月10日,有江苏的消费者连发两条视频投诉在来伊份的粽子中吃出疑似带血创可贴的异物。该消费者在视频中...