k8s节点简介、移除节点、新增节点

简介

Node是Pod真正运行的主机,可以是物理机也可以是虚拟机。

Node本质上不是Kubernetes来创建的, Kubernetes只是管理Node上的资源。

为了管理Pod,每个Node节点上至少需要运行container runtime(Docker)、kubelet和kube-proxy服务。

node基本操作:kubectl get nodes,查询所有node

从k8s移除node节点

获取节点列表:kubectl get node

确认需要移除的节点上面没有部署我们所需要的资源:kubectl get pod -A -owide |grep "k8s-node02"

设置不可调度(不分配新的资源到该节点上),也就是下线:kubectl cordon k8s-node02,另外,上线:kubectl uncordon node

检查节点状态,kubectl get nodes

被标记为不可调度节点,节点状态变成:Ready,SchedulingDisabled

驱逐节点上的Pod(先驱赶掉上面的pod,daemonset不会被排出节点;drain 翻译排出,此时卸载节点,但是没有删除)

drain命令会自动把node设置为不可调度,所以可以省略上面执行的cordon命令

kubectl drain k8s-node02 --delete-local-data --force --ignore-daemonsets

节点上pod都被驱逐后,可以直接移除节点:kubectl delete node k8s-node02

这样就平滑移除了一个 k8s 节点

在被删除的node节点中清空集群数据信息【被删除节点执行】:

清空前:

kubeadm reset -f

清空后:

k8s新增node节点

新的node需要安装docker和k8s基础组件

在master节点查看集群的token值,其中TTL值默认token的有效期为24小时,当过期之后,该token就不可用了。

kubeadm token list

上面结果为空,说明过期了,可以master上重新生产token并获取hash值:kubeadm token create --print-join-command

kubeadm join 192.168.117.171:6443 --token e3teen.vkisycda6z20glxw --discovery-token-ca-cert-hash sha256:196a26bd21bb2e277fae1cebd247723af113207fb5b11eab25b51d4041714249

生成永久Token:kubeadm token create --ttl 0 --print-join-command

kubeadm token list

获取Token:kubeadm token list | awk -F" " '{print $1}' |tail -n 1

将node节点重新添加到k8s集群中【被添加节点执行】

kubeadm join 192.168.117.171:6443 --token e3teen.vkisycda6z20glxw --discovery-token-ca-cert-hash sha256:196a26bd21bb2e277fae1cebd247723af113207fb5b11eab25b51d4041714249

master查看新节点的是否加入,如果新加节点是NotReady状态,重启kubelet后就变成Ready了(systemctl restart kubelet)

kubectl get nodes【master执行】

kubectl get pods -n kube-system -owide【master执行】

验证:调度到指定节点,nodeName: k8s-node02

curl 172.27.14.193

彻底删除:https://www.cnblogs.com/uncleyong/p/15789371.html

  • 4
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kubernetes (K8s) 中的节点通常使用HAProxy作为负载均衡器,以管理集群中的服务流量。如果HAProxy在K8S节点上遇到异常,可能会导致以下几种问题: 1. **服务不可达**:HAProxy可能无法正常路由请求到后端Pod,导致客户端请求失败,显示502 Bad Gateway错误。 2. **连接超时**:如果HAProxy自身出现性能瓶颈或配置错误,可能导致连接到后端服务的时间过长,超时中断。 3. **日志错误**:查看HAProxy的日志文件(如/kube-proxy/logs/haproxy.log)可能会发现关于连接问题、配置解析错误或服务定义不正确的信息。 4. **服务健康检查失败**:K8s中,后端服务的健康检查也可能因为HAProxy的问题而失败,导致节点被从服务中移除。 5. **配置更改冲突**:如果HAProxy的配置文件被意外更新或手动修改,可能破坏了原有的负载均衡策略。 要解决这个问题,你可以采取以下步骤: - **检查HAProxy状态**:查看是否运行正常,是否有异常进程或错误日志。 - **检查配置文件**:对比当前配置与预期配置,确保没有语法错误和目标服务的正确引用。 - **重启HAProxy**:尝试重启服务来恢复默认配置,看是否能解决问题。 - **查看K8s事件**:通过kubectl get events命令,查看K8s是否有关于HAProxy的警告或错误事件。 - **检查服务的外部依赖**:确认后端服务的网络和硬件资源是否正常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值