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

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

1 硬件准备

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

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

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

图1: 基于树莓派3B搭建的集群

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

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

图2: 基于树莓派3B+/4B搭建的集群

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

关于树莓派计算模块

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

图3: 树莓派计算模块

图4: 树莓派计算模块IO扩展板

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

图5: 树莓派计算模块 + IO扩展板

关于Turing Pi主板

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

图6: 树莓派计算模块 + Turing Pi 主板

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

2 烧写树莓派系统

2.1 系统选择

推荐如下两个系统

2.2 烧写系统

选择1. 烧写系统到SD卡

具体步骤参考如下页面

https://www.raspberrypi.org/d...

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

具体步骤参考如下页面 (需要借助树莓派计算模块IO扩展板或者Turing Pi主板)

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=<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/k3... 的步骤,在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

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

  • 16
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
云计算集群搭建是指将多台计算机组成一个集群,在云计算环境下提供高性能、可伸缩和可靠的计算资源。下面是关于云计算集群搭建的一些基本概念和步骤: 1. 什么是云计算集群云计算集群是由多台计算机组成的集群,通过网络连接在一起,共同提供计算资源。它可以按需分配计算资源,并根据负载情况进行自动扩展或收缩,以满足用户的需求。 2. 云计算集群的优势 云计算集群具有以下优势: - 高性能:通过将计算资源并行化和分布式处理,云计算集群可以提供高性能的计算能力。 - 可伸缩性:根据用户需求,云计算集群可以自动扩展或收缩,以适应不同负载。 - 可靠性:通过冗余和故障转移机制,云计算集群可以提供高可用性和容错能力。 - 成本效益:云计算集群可以根据实际使用情况付费,避免了资源浪费和高成本的固定投资。 3. 云计算集群搭建步骤 搭建云计算集群的一般步骤包括: - 硬件准备:选择适合的硬件设备,如服务器、网络设备等。 - 操作系统安装:在每台计算机上安装相同的操作系统,如 Linux 或 Windows Server。 - 软件配置:配置每台计算机的网络设置、防火墙、主机名等基本信息。 - 集群软件安装:安装适合的集群管理软件,如 Kubernetes、Docker Swarm 等。 - 节点加入集群:将每台计算机作为集群的一个节点加入集群。 - 资源调度和管理:使用集群管理软件进行资源调度和管理,如分配任务、监控节点健康状态等。 4. 云计算集群的常见技术和工具 云计算集群搭建可以使用多种技术和工具,其中包括: - 容器技术:如 Docker,用于将应用程序和其依赖项打包成容器,便于部署和管理。 - 编排工具:如 Kubernetes、Apache Mesos,用于自动化部署和管理容器化应用程序。 - 虚拟化技术:如 VMware、KVM,用于在物理服务器上创建虚拟机,并进行资源分配和管理。 - 自动化工具:如 Ansible、Chef,用于自动化集群的部署、配置和管理。 - 监控和日志工具:如 Prometheus、ELK Stack,用于监控集群的健康状态、性能指标和日志记录。 以上是关于云计算集群搭建的一些基本概念和步骤,希望能对你了解云计算集群搭建过程有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值