最近学习k8s知识,想用树莓派搭建集群,在网找了不少,就发现一篇文章可以搭建成功香橙派4和树莓派4B构建K8S集群实践之一:K8S安装,参考了不少,这里主要记录下遇到的一些问题,参考的文章,是香橙派和树莓派,我这里全是树莓派,所以是树莓派路线操作,系统选的是ubuntu desktop 22版本,还是喜欢图形界面,还是菜
- k8s高版本之后,大概1,24之后(大概)好像不再那么支持docker,转去支持containerd,大概这玩意是个接口规范,不少容器标准都实现了他,我和那个博主一样,都是安装ubuntu,由于树莓派是arm版本,所以要安装 arm 版本的
bash
# 支持arm64架构cpu
add-apt-repository "deb [arch=arm64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
至于博主containerd的代理,我倒是没设置
- 当安装好ubuntu 时,会需要换源,当更新source文件后,执行apt-get update会报错
bash
由于没有公钥,无法验证下列签名: NO_PUBKEY 648ACFD622F3D138 NO_PUBKEY 0E98404D386FA1D9 NO_PUBKEY DCC9EFBF77E11517
错误:3 https://mirrors.ustc.edu.cn/debian buster-updates InRelease
由于没有公钥,无法验证下列签名: NO_PUBKEY 648ACFD622F3D138 NO_PUBKEY 0E98404D386FA1D9
错误:2 https://mirrors.tuna.tsinghua.edu.cn/debian bullseye InRelease
由于没有公钥,无法验证下列签名: NO_PUBKEY 648ACFD622F3D138 NO_PUBKEY 0E98404D386FA1D9 NO_PUBKEY 605C66F00D6C9793
错误:4 https://mirrors.ustc.edu.cn/debian-security buster/updates InRelease
由于没有公钥,无法验证下列签名: NO_PUBKEY 112695A0E562B32A NO_PUBKEY 54404762BBB6E853
错误:5 https://mirrors.tuna.tsinghua.edu.cn/debian bullseye-updates InRelease
由于没有公钥,无法验证下列签名: NO_PUBKEY 0E98404D386FA1D9 NO_PUBKEY 6ED0E7B82643E131
错误:6 https://mirrors.tuna.tsinghua.edu.cn/debian bullseye-backports InRelease
由于没有公钥,无法验证下列签名: NO_PUBKEY 0E98404D386FA1D9 NO_PUBKEY 6ED0E7B82643E131
错误:7 https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security InRelease
由于没有公钥,无法验证下列签名: NO_PUBKEY 112695A0E562B32A NO_PUBKEY 54404762BBB6E853
正在读取软件包列表... 完成
执行下列命令,这里的7EA0A9C3F273FCD8 是你实际命令显示的仓库值,需要自行替换
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7EA0A9C3F273FCD8
- 还有就是想安装类似openssh /vim 有的时候会报
bash
vim安装时报错,"Depends:vim-common (=2:7.4.1689-3ubuntu1.4) but 2:8.0.1453-1ubuntu1.1 is to be installed"
大概就是ubuntu依赖不对,需要卸载系统的一些依赖
这里参考[参考博文](https://blog.csdn.net/No_errorsNo_wars/article/details/106698394)
- 同样遇到 container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:Network plugin returns error: cni plugin not initialize,直接参考博主的解决方案
这里也参考了一篇掘金的文章Ubuntu 22安装K8S 1.26实战,这里简称第一篇csdn 那篇为 A,掘金那篇为B
- 由于我参考 A ,最后安装的版本是k8s 1.28版本,稍微有些不一致,掘金那篇B 中提到修改containerd配置文件
bash
sudo vi /etc/containerd/config.toml
其中有一项就是要修改pause 的下载地址,要从国内镜像拉,我这里要拉3.9版本
配置文件中有一行要改成这个
sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.9"
具体pause版本可执行
sudo kubeadm config images list
会列出所有依赖组件版本