启动 worker
最后更新于
最后更新于
访问 https://io.net/ 官方网站,点击右上角用户登录。使用邮箱或推特账号登陆后,可通过面板点击导航至 worker 面板页面,也可通过链接 https://cloud.io.net/worker/devices 直接访问该页面。
从左上角下拉菜单导航到 worker
连接新 worker
填写设备信息
如上图所示填充内容为:
选择操作系统:此处选择Linux;
选择供应商:选择您希望将硬件分组到的供应商,io测试期选择io,正式上线后根据市场情况任意选择;
设备名称:为您的设备添加唯一的名称,理想的格式类似于以下内容:My-Test-Device;
设备类型:如果您选择 GPU Worker 但您的设备没有 GPU,则设置将失败;
填写后将弹出如下信息,该信息为初始化 worker 运行环境所需的脚本下载及执行命令,上一节初始化操作系统中,我们已完成对 Linux 系统的初始化工作,因此选择跳过本提示。
最后展示的是启动文件下载与运行命令,根据提示准备依次执行。
执行以下命令,下载 worker 启动所需的执行文件
此处注意,第二期测试期更新了启动文件 io_net_launch_binary_linux ,第一期参与测试的用户请将之前下载的 launch 文件删除,使用此命令重新下载,如未更新 launch 启动文件将导致 worker 无法上线!!!
执行以下命令,为该文件添加可执行权限
执行以下命令,启动 worker
执行结果如下,注意返回提示信息,此处将等待用户认证操作成功后继续。
以上提示说明:
Option 1 :在你的电脑或手机上访问 https://auth0.io.solutions/activate?user_code=BRRR-FWJR
Option 2 :访问 https://auth0.io.solutions/activate ,输入验证码 BRRR-FWJR
根据提示,需要用户在电脑或手机上访问指定的链接,并输入唯一验证码,两种方式二选一。
用户使用验证码进行认证的前提,已登录该账号所属的 邮箱 和 io账号 ,二者同时满足是进一步操作的前提!
打开浏览器,使用 Option 1 提供的链接进行访问,点击 Confirm
确认验证码进行网页认证。
下一步提示用户登录,选择一种登陆方式进行用户登录
如网页页面出现无法访问此网站的情况,在终端同时按下 CTRL+C 按键终止程序,在重新执行一次上线命令,系统会产生新的验证码,重复刚才的步骤继续新验证码的认证操作,直至认证成功。一般在3次尝试左右会成功。
认证成功后网页显示以下内容,同时命令行终端会有新的提示产生。
以下为认证成功后产生的内容
至此用户已完成验证码校验操作,继续最后一步的确认工作,此时用户需做三件事:
保存 红框处的登录 token:此token将在机器离线重新上线时使用,如未保存此token,下次机器重新上线时需要重新进行验证码认证操作,对于批量规模化用户来说这无疑是一场灾难;
确认你的邮箱地址是否正确:以确保机器正确绑定在用户的IO账户内;
以上两项校验无误后,输入 Yes
按下回车键,系统将自动启动 worker 上线;
务必妥善保管好登录 token,二次上线时会使用!
开始自动下载 worker 运行所需的镜像
当出现如下图案,说明 launch 程序已成功执行,但此时并不意味着worker已正常运行,需要进行进一步观察判断。
可通过 docker 控制命令查看 worker 容器运行状态,命令如下:
返回信息中,只有同时出现 io-worker-monitor
和 io-worker-vc
两个容器,worker 才会正常上线。
如上述操作完成过后,10分钟后 woker 容器未能正常响应,无法正常上线,请按照下一节 重新上线worker 进行操作 !!!
批量上线多个新的worker,获取user_id方式和上述流程一样,登录io网站后台,添加新worker获取命令参数,不同的是只需要获取 user_id ,使其唯一与io账户关联,worker_id则可以通过生成uuid方式获得。
user_id
和 device_id
格式同为 UUID,都遵循 UUID生成规范,二者说明:
user_id 用户唯一识别码: 由io账户注册时生成,作为用户唯一识别码与io账户绑定,永久不变;
device_id 设备唯一识别码:每次用户添加worker刷新网页时随机生成,只有当worker正常上线触发成功后,才写入数据库作为设备唯一识别码与用户唯一识别码绑定,因此在首次上线前可以通过命令自行生成;
执行以下命令,生成新的 UUID (device_id)
生成的 UUID 字符串可以直接作为新 worker 的 device_id 使用
重新上线离线的worker,需要获取 user_id 和 device_id ,以上两个ID可在此获得:
IO用户后台,worker管理页面;
worker 机器 launch 程序运行目录下,参数保存在 ionet_device_cache.json
文件中;
(可选操作)重新上线前,清除上一次运行的worker容器和镜像,此操作目的是避免此时有新的worker镜像推送,而 version control (简称vc) 运行时调用了过期的 镜像创建新容器,从而导致多monitoer同时运行干扰 worker 正常在线状态。
执行以下命令,重新上线状态异常或已离线的 worker
以上命令与首次上线IO提供的上线命令一致,只是最后多加了 --token 9n1aquJe5BxZl-xItW-i1F3cXs1iZcrKEyAf626FCWUkL
,该参数为 使用token方式认证,登录token在首次上显示由 launch 命令终端返回获得,使用 token认证方式 避免了每次重新上线worker需要进行网页认证的繁琐流程,适用于集群用户批量自动化运维管理,就一个字,好用!
如果不加此参数,一样可以运行,只是需要再次进行网页认证!
太困了写不下去了。。。
一条命令先琢磨去吧