

1.1 服务器规划-开源基础软件社区-51CTO.COM
source link: https://ost.51cto.com/posts/13940
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

1.1 服务器规划
1.服务器配置选型
1>. 学习环境(用于k8s基础的学习)
a) 2核2G 磁盘40G足矣,可以采用单master多Node,或者多Master无Node(Master节点也可以充当Node节点)
2>. 实战环境(用于k8s实战学习,从进阶部分开始)
a) 2核4G+磁盘40G+40G,可以采用单Master多Node,
或者多Master多Node(Master节点也可以充当Node节点,总计可用node节点数为5即可)
Master节点:2核4G服务器3台。
Node节点:2核4G服务器2台。
如果要做DevOps实验,可能需要5台以上4核5G的服务器
3.企业测试环境:
a) Master节点(尽量三台实现高可用,可以将某台Master禁止调度):8核16G+ 磁盘分为系统盘(路径:/,大小100G+)、Docker数据盘(/var/lib/docker,200G+)
b) Etcd数据盘(/var/lib/etcd,50节点50G+,150节点150G+,etcd节点可以和Master节点同一个宿主机,三个节点实现高可用)
c) Node节点:无特殊要求
d) 注意:测试环境所有的数据盘可以无需区分,有条件最好单独
4>.企业生产环境:
a) Master节点:三个节点实现高可用(必须)
i. 节点数:0-100 8核16+
ii. 节点数:100-250 8核32G+
iii. 节点数:250-500 16核32G+
b) etcd节点:三个节点实现高可用(必须),有条件存储分区必须高性能SSD硬盘,没有SSD也要有高效独立磁盘
i. 节点数:0-50 2核8G+ 50G SSD存储
ii. 节点数:50-250 4核16G+ 150G SSD存储
iii. 节点数:250-1000 8核32G+ 250G SSD存储
c) Node节点:无特殊要求,主要是Docker数据分区、系统分区需要单独使用,不可以使用同一个磁盘,系统分区100G+、Docker数据分区200G+,有条件使用SSD硬盘,必须独立于系统盘
d) 其他:集群规模不大可以将etcd和master放置于同一个宿主机,
也就是每个master节点部署k8s组件和etcd服务,但是etcd的数据目录一定要独立,并且使用SSD,
两者部署在一起需要相对增加宿主机的资源,个人建议生产环境把master节点的资源一次性给够,
此处的费用不应该节省,可以直接使用16核32G或者64G的机器,之后集群扩容就无需扩容master节点的资源,减少风险。
其中master节点和etcd节点的系统分区100G即可。
注意:每个节点的ip设为静态ip地址,不能动态分配。磁盘20-40G就够了。
2.集群网段划分
1>.集群安装时会涉及到三个网段
主机节点网段:192.168.0.0/24 # 宿主机,如,k8s-master01
Service网段:10.96.0.0/12 # 集群容器通信,Service相当于Pod的一个代理
Pod网段:10.244.0.0/12或者172.16.0.1/12 # 相当于容器的IP,Pod是容器的集合,是管理容器的。
2>.需要注意的是这三个网段不能有任何交叉
容易踩的坑:
集群节点状态都是ready的,pod的所有状态也是running的,为什么网就是不通?
很可能是采用了重复的网段,导致网段冲突了。
举例:
如果宿主机的IP是:10.105.0.x。
那么service网段就不能是10.96.0.0/12,因为10.96.0.0/12网段可用IP是:10.96.0.1 ~ 10.111.255.255。10.105是在这个范围之内的,属于网络交叉,此时service网段需要更换,可以更改为192.168.0.0/16网段(注意如果service网段是192.168开头的子网掩码最好不要是12,最好为16,因为子网掩码是12他的起始IP为192.160.0.1 不是192.168.0.1)。
同样的道理,计算Pod网段也不能重复。
一般的推荐是,直接第一个开头的就不要重复,比如你的宿主机是192开头的,那么你的service可以是10.96.0.0/12.
如果你的宿主机是10开头的,就直接把service的网段改成192.168.0.0/16
如果你的宿主机是172开头的,就直接把pod网段改成192.168.0.0/12
注意搭配,尽量避免均为10网段、172网段、192网段的搭配。第一个开头数字不一样就免去了网段冲突的可能性,也可以减去计算的步骤。
表1-1 本教程使用的虚拟机IP
主机名 | IP地址 | 说明 |
---|---|---|
k8s-master01 ~ 03 | 192.168.3.35 ~ 37 | master节点 * 3 |
k8s-master-lb | 192.168.3.40 | keepalived虚拟IP |
k8s-node01 ~ 02 | 192.168.3.38 ~ 39 | worker节点 * 2 |
说明:本教程通过5台虚拟机演示K8s的安装,节点数较少,所以采用了同一网段的IP。生产环境中随时可能扩充节点,为了避免网段冲突的隐患,应注意三个网段不能有任何交叉。
注意:VIP(虚拟IP)不要和公司内网IP重复,首先去ping一下,不通才可用。VIP需要和你的Master主机在同一个局域网内(不是直接用我的VIP)!
公有云上搭建VIP是公有云的负载均衡的IP,比如阿里云的内网SLB的地址,腾讯云内网ELB的地址。不需要再搭建keepalived和haproxy。
3>.网段范围计算工具
可以通过http://tools.jb51.net/aideddesign/ip_net_calc/计算:

4>.文档修改
根据文档修改ip地址时,ctrl+F,批量查找和替换为自己的ip地址。如,192.168.3.35 ~ 37批量改为自己的节点IP。装多台虚拟机,就批量替换多次。批量替换宿主机、Pod网段、Service网段。
k8s-master-lb 是不占任何机器的。
注意:以下两个是固定的ip规则:
Service网段中“Kubernetes Service”占其网段的第一个可用ip,如,192.168.0.1批量替换为我们的,如,10.96.0.1。
CoreDNS:占其网段的第十个可用ip,如,192.168.0.10。批量替换为我们的,如,10.96.0.10。
3.服务器操作系统选型
服务器操作系统选择CentOS 7.9。不要选CentOS8, 该版本在2021年就不被官方不维护了,以后是CentOS Stream。CentOS7会维护到2024年。
下载地址: https://www.centos.org/download/

选择阿里云镜像:

可选择DVD-2009.iso版本或Minimal-s009.iso的版本。

Recommend
-
12
作者:陈会 为了让刚入门的鸿蒙开发者迅速掌握hilog工具的使用方法,特编写了该篇命令行使用手册供开发者查阅,让开发者在自己的的开发和调试的过程中充分认识hilog工具的优势和便捷。 一、查询日志 1.1、...
-
16
本帖使用Dayu200为开发板,展示一个化妆品在线商店的App首页:溢彩美妆App。 注意:本文不涉及App上的用户互动,仅为页面设计效果的实现。 下图是在设计软件中的效果预览:
-
5
ArkUI JS AI作诗之滚动诗句 原创 精华 HarmonyOS ArkUI应用开发之AI作诗,根据输入的藏头诗关键字或诗的第一句,通过调用AI接口自动生成诗,然后将返回的诗按照句号切割为数组,使用Marquee...
-
8
“六天”恋上Kubernetes 精华 在过去相当长一段时间内,我自认为都是 Kubernetes 的强烈怀疑者。无论是做项目还是做初创公司,裸机始终都是我的首选,包括运行这篇博客的堆栈也同样用的是裸机(
-
4
RabbitMQ流程 原创 精华 简单介绍一个消息推送到接收的流程,提供一个简单的图:
-
12
-
8
作者:徐金生 目标:实现BLE蓝牙设备与DAYU200设备之间数据交互,即中心设备接收外围设备的通知数据,OpenHarmony社区提供了详细的API文档,可以移步到:
-
9
2021年,润和软件推出了OpenHarmony高性能设备平台大禹系列,其中DAYU 200作为首款支持OpenHarmony富设备的开发板,是广大开发者探索OpenHarmony开发的首选设备之一。今天就来带大家了解一下DAYU 200是如何为OpenHarmony生态赋能,以及如何给广大OpenHarmony应用开发...
-
4
数字华容道 原创 精华 1.打开引用首先为数字华容道的初始界面,点击开始游戏即会切换到数字华容道的游戏界面。
-
5
上期文章我们讲到了ArkUI的三大特性,同时提到了ArkUI是一套用于构建HarmonyOS应用界面的UI开发框架,本期我们将从架构设计上来聊聊ArkUI的设计理念。
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK