基于Kubesphere 3.4
本章节介绍基于Kubesphere的离线安装和部署。
为什么基于离线,因为考虑到给客户部署时,会有一些网络限制,所以需要提前下载好安装包,然后离线部署。
准备工作
下载kubekye,当前使用版本3.0.13 ,下载地址为:
下载业务集群离线安装配置config-sample.yaml(这个里面集成了3.4.1版本的所有依赖,按当前ks最新版本为3.4.1版本的情况下,官网上的配置有很多问题,直接使用这个即可),下载地址为:
下载Harbar配置脚本,官网默认创建的脚本内容不全,以这个为准,下载地址为:
下载kubesphere离线安装包(13G左右),这个是制作好的制品,自己做的话会如果不能避开上面的坑,会逼人放弃的,下载地址为:
其他:制作离线制品的ymal,当然这个不需要下载,而且官网上给的清单版本号也不对,如果你想自己做制品(需要外网下载不少依赖),下载地址为:
安装前提
节点要求
所有节点必须都能通过 SSH 访问。
所有节点时间同步,时间为东八区标准时间。
所有节点都应使用 sudo/curl/openssl/tar。
/var/lib/docker 路径主要用于存储容器数据,在使用和操作过程中数据量会逐渐增加。因此,在生产环境中,建议为 /var/lib/docker 单独挂载一个硬盘。
CPU 必须为 x86_64,暂时不支持 Arm 架构的 CPU。
节点配置
根据kubesphere建议,生产环境中需要配置管理集群和业务集群,管理集群用于管理业务集群,业务集群用于部署业务应用。 实际情况下,根据自己的业务情况,可以只配置业务集群。配置节点,一般推荐一主三从,再加harbor节点,共5个节点。
管理集群建议配置
节点/配置 | CPU | 内存 | 磁盘 |
|---|---|---|---|
master | 4核 | 8G | 300G |
worker | 8核 | 16G | 500G |
harbor | 4核 | 8G | 1000G |
业务集群建议配置
节点/配置 | CPU | 内存 | 磁盘 |
|---|---|---|---|
master | 4核 | 8G | 300G |
worker | 8核 | 32G | 500G |
harbor | 4核 | 8G | 1000G |
网络要求
请确保 /etc/resolv.conf 中的 DNS 地址可用,否则,可能会导致集群中的 DNS 出现问题。
如果您的网络配置使用防火墙规则或安全组,请务必确保基础设施组件可以通过特定端口相互通信。建议您关闭防火墙。有关更多信息,请参见端口要求。
支持的 CNI 插件:Calico 和 Flannel。
端口要求
KubeSphere 需要某些端口用于服务之间的通信。如果您的网络配置有防火墙规则,则需要确保基础设施组件可以通过特定端口相互通信。这些端口用作某些进程或服务的通信端点。
服务 | 协议 | 行为 | 起始端口 | 结束端口 | 备注 |
|---|---|---|---|---|---|
ssh | TCP | allow | 22 | ||
etcd | TCP | allow | 2379 | 2380 | |
apiserver | TCP | allow | 6443 | ||
calico | TCP | allow | 9099 | 9100 | |
bgp | TCP | allow | 179 | ||
nodeport | TCP | allow | 30000 | 32767 | |
master | TCP | allow | 10250 | 10258 | |
dns | TCP | allow | 53 | ||
dns | UDP | allow | 53 | ||
local-registry | TCP | allow | 5000 | 离线环境需要 | |
local-apt | TCP | allow | 5080 | 离线环境需要 | |
rpcbind | TCP | allow | 111 | 使用 NFS 时需要 | |
ipip | IPENCAP / IPIP | allow | Calico 需要使用 IPIP 协议 | ||
metrics-server | TCP | allow | 8443 |
安装服务器注意点
所有下载脚本及安装包,放在master主节点/root根目录下;要保证/ 目录磁盘空间至少30G;
work节点保证/var目录有足够空间,因为安装资源全都是docker形式;
harbor服务器保证/opt目录有足够空间;
nfs或其他存储需要先配置好,比如:nfs,需要先配置server端,其他work节点可挂载,也可不挂载;
安装kubekey
安装Harbor
修改config-sample.yaml
config-sample.yaml文件中以下内容:
注意:把auths相关参数先注释掉,privateRegistry,namespaceOverride按上面写的,不要按官网上写的!
安装镜像仓库
执行以下命令,安装Harbor
创建 Harbor项目
执行以下命令下载指定脚本初始化 Harbor 仓库
安装Kubesphere集群
再次修改config-sample.yaml
配置相关harbor的参数, 请注意下面格式和缩进
安装集群
安装完成
添加节点
增加节点信息
修改sample.yaml文件,增加节点信息,步骤略过,和上面安装类似。
执行命令添加节点
基于ubuntu安装
ubuntu使用 22.04 server长期支持版本。
默认安装时需要注意几点:
安装时,选择安装openssh server。
安装到磁盘时,不需要增加新的分区和挂载点,默认即可,但要注意修改/挂载点的大小,直接使用剩余全部磁盘即可。
安装完成后,修改主机名。
下载工具
同上面准备工作一样。
系统准备工作
默认系统未设置root用户的密码,首先设置用户密码:
安装vim
修改网络配置
修改内容参考如下:
修改sudo免密
进入后把%sudo修改下面内容(主要就是加了NOPASSWD:):
修改时区
安装
安装参考上面章节。