本文档介绍了云端安装Olares的场景,其中包括使用自己的公网IP/安装集群/使用自己的S3作为JuiceFS挂载源等场景。
以阿里云创建和安装为例,其他云厂商在流程上与之类似,您可以自行尝试,有问题也可以随时与我们联系。
- 安装前的准备
- 硬件要求
您需要先阅读系统要求并了解硬件要求。 - 创建安全组
入方向:开启80、443、30180给所有的IPv4以及IPv6,22端口您可以基于您的固定IP进行设置。
出方向:开启所有流量到所有地址
阿里云:
- 创建机器并登录
- 申请一台4核16G的Ubuntu 22.04/24.04,硬盘选100G(如果后续有更大的硬盘需求可以扩容),安全组选刚创建的安装组。
- 带宽建议选按流量计费,带宽值您可以根据需求设置。
- 创建密钥对并选择秘钥登录。
- 创建成功后您可以通过SSH工具登录到您的机器。
安装
单机模式 - 在ssh控制台,复制并执行以下shell语句。和正常安装脚本相比,其多了一个设置PUBLICLY_ACCESSIBLE为1的环境变量,代表当前机器有公网IP,要使用公网IP做域名解析。
使用云主机的公网IP
export PUBLICLY_ACCESSIBLE=1 \
&& curl -sSfL https://cn.olares.sh | bash -
或使用下列命令提前注入OlaresID参数,这样就能全自动安装,中间无确认流程
export PUBLICLY_ACCESSIBLE=1 \
&& export TERMINUS_OS_USERNAME=your_OlaresID \
&& curl -sSfL https://cn.olares.sh | bash -
- 等待安装完成
注意,中间OlaresID需要等待您的输入 - 输入你的OlaresID
- 等待日志提示安装完成,在浏览器访问 http://你的公网ip:30180 进行激活,用生成的密码完成激活。
- 激活成功后ping你的域名,能看到它绑定的是刚刚的公网IP。
集群模式
前置条件 - 当前节点与主节点可通过IP互相连通,即两节点需位于同一局域网中且内网互通。
- 主节点已安装了1.11.3 / 1.12.0 以上版本的Olares,且安装时启用了JuiceFS。
- 当前节点与主节点的hostname不冲突。
- 当前节点能通过SSH访问主节点,如:主节点的root用户(或具有sudo权限的用户)已添加了当前节点的SSH公钥,或可通过密码进行SSH认证。
- 仅支持Linux机器加入Olares集群。
安装方式 - 安装Master
- 与单机模式类似,但环境变量需要开启JUICEFS
使用云主机的公网IP
export PUBLICLY_ACCESSIBLE=1 \
JUICEFS="1" \
&& curl -sSfL https://cn.olares.sh | bash -
或使用下列命令提前注入OlaresID参数,这样就能全自动安装,中间无确认流程
export PUBLICLY_ACCESSIBLE=1 \
JUICEFS="1" \
TERMINUS_OS_USERNAME=your_OlaresID \
&& curl -sSfL https://cn.olares.sh | bash -
- 安装完成后进行激活,激活后才可以添加Worker。
- 安装Worker
- 生成ssh秘钥对并复制公钥到Master
前往Worker当前用户的.ssh目录
cd .ssh
ssh-keygen -t rsa -b 4096 -C "你的邮箱"
一路回车创建公钥对成功,复制id_rsa.pub的内容。
登录Master,粘贴到.ssh/authorized_keys内
echo ‘Worker的id_rsa.pub内容’ >> .ssh/authorized_keys
2. 尝试通过内网IP登录Master
通过内网IP(从云控制台可以看到)尝试SSH到Master,需要回车确认,登录成功后会看到Welcome to的提示语。
ssh root@172.x.x.x
3. 开始安装Worker
回到Worker控制台,执行下列命令安装集群Worker。注意修改MASTER_HOST和MASTER_SSH_USER为你的真实信息。
export MASTER_HOST=172.x.x.x \
MASTER_SSH_USER=root \
MASTER_SSH_PRIVATE_KEY_PATH=~/.ssh/id_rsa \
JUICEFS="1" \
&& curl -sSfL https://joincluster.joinolares.cn | sh
- 确认安装成功
执行下列命令,确保K8s已经识别到了我们添加的Worker节点
kubectl get nodes
使用自己的S3作为JuiceFS挂载源
说明:当启用JuiceFS时,默认是MinIO挂载到本地硬盘,你可以挂载到自己远程S3存储桶,目前支持s3(AWS)/oss(阿里云)/cos(腾讯云)。
- S3存储桶的创建和准备
- 去aliyun申请一个oss bucket
1. 无特殊要求,选一个离你较近的区域即可。
2. 创建成功后,记录存储桶的外网接入点(在概述页可见),比如:
https://olares-s3-test.oss-cn-beijing.aliyuncs.com - 创建一个策略可以访问这个bucket
1. 通过创建一个如下图的策略,注意,桶名称换成你刚刚创建的。
[图片] - 创建一个用户,添加策略到权限
1. 创建一个用户。- 选 AccessKey 访问。
- 创建成功后记录AccessKey ID和AccessKey Secret值。
2. 为该用户新增授权(选择刚刚创建的策略)。
- 至此,我们得到了所需的几个参数,S3存储桶接入点,AccessKey ID和AccessKey Secret。
- 执行安装
整体流程与安装单机和集群类似,只是多了以下4个参数,执行下列命令时记得都换成你自己的值。
STORAGE: "oss" //s3存储桶类型,s3:aws,oss:阿里云,cos:腾讯云
S3_BUCKET: "https://olares-s3-test.oss-cn-beijing.aliyuncs.com" //接入点地址
AWS_ACCESS_KEY_ID_SETUP: "" //访问存储桶的AK凭证
AWS_SECRET_ACCESS_KEY_SETUP: "" //访问存储桶的SK凭证
- 单机模式
export PUBLICLY_ACCESSIBLE=1 \
JUICEFS="1" \
STORAGE="" \
S3_BUCKET="" \
AWS_ACCESS_KEY_ID_SETUP="" \
AWS_SECRET_ACCESS_KEY_SETUP="" \
&& curl -sSfL https://cn.olares.sh | bash -
- 集群模式
1. 安装Master
export PUBLICLY_ACCESSIBLE=1 \
JUICEFS="1" \
STORAGE="" \
S3_BUCKET="" \
AWS_ACCESS_KEY_ID_SETUP="" \
AWS_SECRET_ACCESS_KEY_SETUP="" \
&& curl -sSfL https://cn.olares.sh | bash -
2. 安装Worker
请先阅读普通集群模式安装的前置条件,以及Worker公钥免密SSH Master的部分。
export MASTER_HOST=172.x.x.x \
MASTER_SSH_USER=root \
MASTER_SSH_PRIVATE_KEY_PATH=~/.ssh/id_rsa \
JUICEFS="1" \
STORAGE="" \
S3_BUCKET="" \
AWS_ACCESS_KEY_ID_SETUP="" \
AWS_SECRET_ACCESS_KEY_SETUP="" \
&& curl -sSfL https://joincluster.joinolares.cn | sh
常见问题
- 使用公网IP有什么优势?
您可以先了解Olares网络连接的几种方式,简单来说就是不会产生与Olares流量相关费用,并且如果您云主机的带宽足够大,使用体验会更好。 - Olares cli安装时候会修改系统的NS值
默认会把/etc/resolv.conf修改为下列值:
nameserver 1.1.1.1
nameserver 114.114.114.114
如果您在安装时出现域名解析的错误,请更换这两个值的顺序,即改成:
nameserver 114.114.114.114
nameserver 1.1.1.1
- 确保安全组设置正确,80/443/30180要对外开放,如果有内部ufw之类的内部防火墙,需要放开这几个端口。