故障排除--kubernetes 运维操作步骤 -- kubedns -- busybox -- nslookup 问题

1.node的扩容

在k8s中,对一个新的node的加入非常简单,只需要在node节点上安装docker、kubelet和kube-proxy服务,然后将kubelet和kube-proxy的启动参数中的master url指定为当前kubernetes集群master的地址,然后启动服务即可。

2.删除node

kubectl delete node k8s-node1

3.隔离恢复node

a.通过配置文件隔离

apiVersion: v1
kind: Node
metadata:
   name: k8s-node1
   labels:
     name: k8s-node1
spec:
   unschedulable: true

然后执行命令:

kubectl replace -f unschedule_node.yml

b.通过命令执行

kubectl patch node k8s-node1 -p '{"spec":"{"unschedulable":"true"}"}'

无论上面哪一种方法,其实都是将unsechdulable的值改为true,实现 了隔离,同理,恢复时,只需要将unschedulable的值改为false即可。

kubectl cordon k8s-node1 #将k8s-node1节点设置为不可调度模式
kubectl drain k8s-node1 #将当前运行在k8s-node1节点上的容器驱离

kubectl uncordon k8s-node1 #执行完维护后,将节点重新加入调度

[root@devops-101 ~]# kubectl run dig --rm -it --image=docker.io/azukiapp/dig /bin/sh

/ # nslookup kubernetes.default.svc.cluster.local
Server: 10.233.0.3
Address: 10.233.0.3#53

Non-authoritative answer:
Name: kubernetes.default.svc.cluster.local
Address: 10.233.0.1

/ #
/ #
/ # nslookup kubernetes.default
Server: 10.233.0.3
Address: 10.233.0.3#53

Non-authoritative answer:
Name: kubernetes.default.svc.cluster.local
Address: 10.233.0.1

posted @   littlevigra  阅读(502)  评论(5编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示