前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于树莓派搭建小型云计算集群

基于树莓派搭建小型云计算集群

作者头像
刘盼
发布2022-03-04 12:17:25
2.5K1
发布2022-03-04 12:17:25
举报
文章被收录于专栏:人人都是极客

拥有一个私人的云计算平台是一件很酷的事情。随着技术的发展,实现这一愿望已经变得相当容易。接下来就来说明如何利用树莓派硬件和相关软件搭建一个用于边缘计算的小型云计算集群。

1 硬件准备

硬件优先考虑树莓派。选择ARM而不是x86架构硬件,主要是考虑到该云计算平台主要用于私人,家庭以及边缘计算等应用场景。一方面,ARM硬件相对便宜,功耗低,性价比更高;另一方面树莓派拥有成熟的社区生态,可用的软件也比较丰富。

选择1. 树莓派3B及其之前的版本

树莓派3B及其之前的版本由于不支持以太网口供电(PoE), 因此需要额外的USB供电插头。所有树莓派板子都连接到一个交换机/路由器,如下图所示

选择2. 树莓派3B+,树莓派4B

树莓派3B+/4B拥有以太网口供电(PoE)功能, 因此可省去USB供电插头。所有树莓派板子都连接到一个支持PoE功能的交换机/路由器,如下图所示

选择3. Turing Pi主板 + 树莓派计算模块

  • 关于树莓派计算模块

上面介绍的树莓派3B, 3B+, 4B等板子其实可以拆解成如下两部分,即: 计算模块和计算模块IO扩展板.

将计算模块和计算模块IO扩展板结合起来功能就和上述的树莓派3B, 3B+, 4B 一致。

  • 关于Turing Pi主板

利用Turing Pi主板加可扩展树莓派计算模块的方式搭建集群十分的方便。该板最大支持7块树莓派计算模块,并可进行动态扩展,类似于数据中心的刀片服务器 (blade server)。

Turing Pi同时支持带eMMC的计算模块和不带eMMC的计算模块,其第一个槽可用于烧写操作系统镜像到计算模块eMMC。对于不带eMMC的计算模块可以通过传统的插SD卡的方式启动。

2 烧写树莓派系统

2.1 系统选择

推荐如下两个系统

  • Raspbian: 官方系统
  • HypriotOS: 容器操作系统

2.2 烧写系统

选择1. 烧写系统到SD卡

具体步骤参考 https://www.raspberrypi.org/documentation/installation/installing-images/README.md

选择2. 烧写系统到树莓派计算模块的eMMC

具体步骤参考 http://raspberrypiwiki.com/How_to_Burning_System_for_the_eMMC_of_Raspberry_Pi_Compute_Module

所有单板都烧写好后按照硬件准备中的描述连接好,并将每个板子配置好ssh连接,将公钥放置在~/.ssh/authorized_keys里面,以方便连接。确保可以通过***ssh @***能连上集群中每一个树莓派节点。

3 安装Kubernetes并连接集群

3.1 安装Kubernetes

Lightweight Kubernetes (K3S) 是一个面向IoT及边缘计算的Kubernetes版本,比较适合树莓派等资源有限的硬件。

  • 方式1:在每个树莓派板子上单独安装

在server节点上运行

curl -sfL https://get.k3s.io | sh -

在每个worker节点上运行

curl -sfL https://get.k3s.io | K3S_URL=https://<server_ip>:6443 K3S_TOKEN=sh -

PS: K3S_TOKEN: 存在server节点的 /var/lib/rancher/k3s/server/node-token.

  • 方式2:使用Ansible自动化安装

先在控制机上安装Ansible

sudo apt update sudo apt install software-properties-common sudo apt-add-repository --yes --update ppa:ansible/ansible sudo apt install ansible

下载k3s-ansible

git clone https://github.com/rancher/k3s-ansible.git

然后按照 https://github.com/rancher/k3s-ansible 的步骤,在inventory/my-cluster/hosts.ini里配置好server (master) 节点和worker(node)节点的IP地址。

运行如下命令,Ansible会将K3S自动安装在集群的server节点和每个worker节点上

ansible-playbook site.yml -i inventory/my-cluster/hosts.ini --ask-become-pass

3.2 连接集群

在控制机上安装kubectl

sudo apt-get update && sudo apt-get install -y apt-transport-https gnupg2 curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list sudo apt-get update sudo apt-get install -y kubectl

将配置文件从server节点拷贝至控制机并配置环境变量

scp <user_name>@<server_ip>:~/.kube/config ~/.kube/rasp-config export KUBECONFIG=~/.kube/rasp-config

连接查看集群

kubectl get nodes

大功告成,接下来就可以部署服务到集群了。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 人人都是极客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 硬件准备
    • 选择1. 树莓派3B及其之前的版本
      • 选择2. 树莓派3B+,树莓派4B
        • 选择3. Turing Pi主板 + 树莓派计算模块
        • 2 烧写树莓派系统
          • 2.1 系统选择
            • 2.2 烧写系统
            • 3 安装Kubernetes并连接集群
              • 3.1 安装Kubernetes
                • 3.2 连接集群
                相关产品与服务
                边缘可用区
                腾讯云边缘可用区(TencentCloud Edge Zone,TEZ)是腾讯云的本地扩展,适用于解决计算、存储和服务可用性问题。腾讯云边缘可用区可为您带来云的诸多优势,例如弹性、可扩展性和安全性。借助腾讯云边缘可用区,您可以在靠近最终用户的地理位置运行对延迟敏感的应用程序,基本消除延迟问题。腾讯云边缘可用区提供与中心节点一致的体验,助力业务下沉,具备更低延时、更广覆盖、更少成本等特点。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档