迷你服务器集群环境系列(1)——开篇

Posted by

从今天开始开一个新坑,叫做:

迷你服务器集群环境

一、为什么要搭建这样一套环境呢

这里的原因说来话长,但归结起来主要是这三点原因

  • 希望通过这次搭建,学习最新的集群相关技术体系
  • 希望能够将自己写的一些软件运行在这一套环境之上,以减少家里的服务器环境混乱程度
  • 充分利用起来家里的各种闲置设备

因此这个系列的文章主要通过真实的搭建过程,来积累集群技术体系细节。

当然,在搭建的过程当中会随时因为各种问题,而导致策略发生变化。随之而来的相应的这个系列文章的内容也会更新。这个请大家时刻关注最新的内容更新~

那么,话不多说,我们现在开始!

二、技术体系目标

我们要搭建的“迷你服务器集群环境”主要是基于k8s来搭建,大概包括这些组件(随时更新):

  • K8S集群
  • 网络模块:bgp on calico / cilium
  • 存储模块:ceph
  • service mesh+ingress:istio

以及除了支持k8s集群外,同时支持异构集群环境:

  • 独立组件、网络(在k8s集群之外)
  • 云服务(与第三方云服务打通)

在网络层面,同时会涉及到:

  • 网络功能分区:核心区、接入区、公网下沉区、管理区、家庭办公区等

CICD部分,准备采用:

  • github.com
  • jenkins

运维部分,则会使用

  • promethus
  • grafana

总的来说是一个涉及各种东西的复杂工程(感觉这个坑太大了)

三、设备资源准备

在搭建的开始,这里准备使用一台Xeon E3 1240L v3作为主力设备,来实现整个集群。

Xeon E3 1240L v3的配置是这样子的,其中加粗的部分做了升级:

CPUXeon E3 1240L v3(4核8线程)
内存32GB DDR4 ECC
硬盘8*3T RAID-Z2
网络4口千兆
操作系统TrueNAS Scale
子节点说明使用虚拟机+bridge软交换机仿真真实集群环境

总的来说除了这台机器的CPU性能有点弱之外,其他的部分足以满足一个集群的搭建了。

在搭建的过程当中,不可避免出现额外的资源诉求。关于这部分,之后的文章中会陆续完善。

四、参考

由于整个系列主要围绕k8s展开,因此参考文件主要还是以k8s的官方文档为主:

https://kubernetes.io/docs/home/

不过,需要注意的是,由于默认的软件版本,如debian的版本,安装后就已经启用了某些配置或功能,因此在接下来的文章中会省略相关的步骤。如果其他软件环境下遇到问题,请严格按照官方文档来配置。

Leave a Reply