节点加入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-
posted @   希望能摸鱼的凛耶酱  阅读(56)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
点击右上角即可分享
微信分享提示