节点加入k8s 集群的步骤
- 使用kubeadm 初始化集群成功后会返回join命令,里面包含token, discovery-token-ca-cert-hash 等参数
token的过期时间是24h
certrificate-key 过期时间是2小时
- 如果不记得,可以执行下面的命令获取
1.如果没有超过24h,用下面的命令获取(主要查看是否过期)
kubeadm token list
2.如果过期,那用重新创建token
kubeadm token create
3.如果没有discovery-token-ca-cert-hash值,通过以下命令获取
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
在node节点输入join命令:
kubeadm join 10.26.12.152:6443 --token n5l04n.f1bib0dhbd2ca69i --discovery-token-ca-cert-hash sha256:7cd067dd84ed97d4863cd8ee4af1e7adefa20657c6e599251c2148838a9512b5
containerd安装的默认禁用
使用安装包安装的containerd会默认禁用作为容器的运行时的功能,即安装包安装containerd后默认禁用containerd作为容器运行时
这会引起K8S报错,因为没有容器运行时可以用
开启方法:
vim /etc/containerd/config.toml
# 到这个文件中把disabled_plugins=["cri"] 改成 disabled_plugins=[]
systemctl restart containerd
# 重启后才能生效
再运行join命令就没问题了。
[root@whdcinthe004 ~]# kubectl get node
NAME STATUS ROLES AGE VERSION
whdcinthe001.cn.infra Ready <none> 2m34s v1.28.7
whdcinthe004.cn.infra Ready control-plane 47h v1.28.7
给node打role标签
kubectl label nodes whdcinthe001.cn.infra kubernetes.io/role=ingress-nginx
最后面的=号表示在原来ROLES基础上再增加一个,-号就表示删除某个ROLES
删除role标签
kubectl label nodes whdcinthe001.cn.infra kubernetes.io/role-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性