树莓派 k8s 部署mysql_树莓派 Raspberry Pi 3 Model B+ 上部署安装 Docker 和 Kubernetes

4f6539a815becd99d8886926c15e9c59.png

今天在树莓派上部署了一下 Docker 和 Kubernetes,有一些坑,记录一下。本文基于树莓派 Raspberry Pi 3 Model B+ 的原生系统(原生系统是基于 Debian 的,使用起来也比较方便),通过本文可以成功的在树莓派上安装 Docker,安装 Kubernetes,并运行。

树莓派上目前自带的通过 apt install 安装的 docker.io 的版本是 18.XX,版本太高,后续安装 Kubernetes 的时候会提示不支持该版本,所以我们需要通过添加源,然后指定 Docker 的版本进行安装。目前测试下来 17.09.1~ce-0~debian 这个版本在树莓派上可以安装,其他版本可能会提示版本不兼容。

1、安装必要组件sudo apt-get update

sudo apt-get install \

apt-transport-https \

ca-certificates \

curl \

gnupg2 \

software-properties-common

2、添加 GPG keycurl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

3、添加源echo "deb [arch=armhf] https://download.docker.com/linux/debian \

$(lsb_release -cs) stable" | \

sudo tee /etc/apt/sources.list.d/docker.list

4、安装 Dockersudo apt-get update

sudo apt-get install docker-ce=18.06.2~ce-0~debian

5、查看 Docker 版本信息docker --version

至此,Docker CE 17.09.1 安装成功。

二、安装 Kubernetes

下面开始安装 Kubernetes,会遇到一些问题,会依次解决,不要慌。

1、添加源curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -

echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" > /etc/apt/sources.list.d/kubernetes.list

2、安装 kubeadmapt-get update && apt-get install -y kubeadm

3、尝试运行 kuberneteskubeadm init --pod-network-cidr 10.244.0.0/16

会提示如下问题:CGROUPS_MEMORY: missing

[WARNING SystemVerification]: missing cgroups: memory

error execution phase preflight: [preflight] Some fatal errors occurred:

[ERROR FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]: /proc/sys/net/bridge/bridge-nf-call-iptables does not exist

[ERROR FileContent--proc-sys-net-ipv4-ip_forward]: /proc/sys/net/ipv4/ip_forward contents are not set to 1

[ERROR Swap]: running with swap on is not supported. Please disable swap

[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`

依次解决问题。

首先是 [ERROR FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]: /proc/sys/net/bridge/bridge-nf-call-iptables does not exist,这个解决很简单,输入下面语句回车即可:modprobe br_netfilter

其次是 [ERROR FileContent--proc-sys-net-ipv4-ip_forward]: /proc/sys/net/ipv4/ip_forward contents are not set to 1,这个也比较简单,输入下列语句回车:echo 1 > /proc/sys/net/ipv4/ip_forward

然后是 [ERROR Swap]: running with swap on is not supported. Please disable swap,这个只需要关闭 swap 即可:swapoff -a

解决上面问题后,重新运行 kubeadm init,还是会提示问题,会提示:[ERROR SystemVerification]: missing cgroups: memory,这个也能解决,编辑 /boot/cmdline.txt 这个文件,加入下面两句:cgroup_enable=memory  cgroup_memory=1

然后 reboot 重启一下即可。

注意:重启后第一、第二、第三个问题可能会再次出现,再次操作一下即可。最后,再次尝试 kubeadm init,就会出现久违的成功界面:

75d6e90a7f3f3be91db564379cb8cafd.png

三、参考文献

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值