使用Kubefate1.6在两台Ubuntu16.04虚拟机上部署Fate集群


毕设在搞联邦学习相关的东西,用到了Kubefate,前前后后重装了好多次虚拟机,终于实现了 两台Ubuntu 16.04 的Kubefate docker-compose部署,现在把部署的坎坷过程记录下来,供大家参考。

一、准备工作

1)虚拟机

VMware新建两台Ubuntu 16.04的虚拟机,注意要映射到不同的ISO镜像文件!虚拟机的大概配置如下:

为了工作方便,关掉了自动锁屏:

2)两台机器安装ssh

两台机器都执行下面的指令:

sudo apt-get update
sudo apt-get upgrade

耐心等待之后,开始安装ssh(两台机器都要装):

sudo apt-get install openssh-server

安装完成之后,输入指令查看ssh运行状态:

ps -e | grep ssh

相关的一些命令:

启动ssh
/etc/init.d/ssh start
重启ssh
service sshd restart
关闭ssh
service sshd stop
测试ssh连接

安装完成之后测试机器A是否能够通过ssh连接到机器B的root。步骤如下:

  1. 查看各机器的ip地址

  2. 机器A(ip是132)输入指令:

    ssh root@192.168.233.131
    

    输入yes之后发生错误:

    解决方法:机器B中输入

    sudo gedit /etc/ssh/sshd_config
    

    修改文件中的:

    PermitRootLogin prohibit-password

    改为:

    PermitRootLogin yes

    修改保存之后重启B的ssh服务。

    由于root初始密码是随机生成的,所有要修改机器B的root密码。

    B中输入指令,按提示操作即可。

    sudo passwd
    
  3. 设置免密登录(可选)

    参考文章:SSH 三步解决免密登录

    在这里是机器A登录机器B,A中输入指令生成公私钥:

    ssh-keygen
    

    A中输入指令上传公钥到B:

    ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.233.131
    

    A中输入指令测试ssh:(131是机器B的ip)

    ssh root@192.168.233.131
    

    同样道理,修改A的root密码,修改A中sshd_config文件,重启A的ssh服务,然后将公钥上传到A(修改指令的ip地址即可,不用重新ssh-keygen),完成了A的免密登录设置。

    ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.233.132

3)安装git

AB都要运行

sudo apt-get install git
4)安装Docker

注意:AB两台机器都要运行

1、更新apt-get包

sudo apt-get update
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

2、添加 Docker 的官方 GPG 密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

3、设置稳定版仓库

sudo add-apt-repository \
   "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \
  $(lsb_release -cs) \
  stable"
5)安装Docker Engine-Community

注意:AB两台机器都要运行

1、更新 apt 包索引,安装最新版本的 Docker Engine-Community 和 containerd

sudo apt-get update

报错:

解决方法,将key复制下来,输入指令:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7EA0A9C3F273FCD8

参考文章:更新linux时候提示无法“由于没有公钥,无法验证下列签名 ***”的解决方案

再次运行sudo apt-get update,接着输入指令:

sudo apt-get install docker-ce docker-ce-cli containerd.io

2、测试docker是否安装成功

sudo docker run hello-world

安装成功截图:

6)安装Docker Compose

官方网站

运行以下命令以下载 Docker Compose 的当前稳定版本

sudo curl -L "https://github.com/docker/compose/releases/download/1.28.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

将可执行权限应用于二进制文件

sudo chmod +x /usr/local/bin/docker-compose

测试是否安装成功

docker-compose --version

成功截图:

二、环境搭建

这里我们是机器A做部署机,把fate集群部署到A、B上,以下操作在A中完成

去GitHub下载项目release包,官方下载地址:

https://github.com/FederatedAI/KubeFATE/releases/download/v1.6.0/kubefate-docker-compose-v1.6.0.tar.gz

下载完后提取压缩包,进入修改docker-deploy目录下的parties.conf文件,修改用户为root,修改对应的ip地址,如图:

修改docker-deploy目录下的.env文件,给RegistryURI参数填入以下字段,使用国内镜像网站:

RegistryURI=hub.c.163.com

生成部署文件:

sudo bash generate_config.sh 

执行部署脚本:

sudo bash docker_deploy.sh all

部署成功的截图:

三、测试demo,验证部署

FATE启动成功之后,我们通过验证toy_example示例来检测

选择192.168.233.132这个A节点验证,使用以下命令验证:

#进入python组件容器内部
docker exec -it confs-10000_python_1 bash     
#toy_example目录
cd /data/projects/fate/examples/toy_example   
#验证
python run_toy_example.py 10000 9999 1        

运行中访问192.168.233.132:8080


部署成功!

参考文档:

使用Docker Compose 部署 FATE

构建FATE的镜像

使用KubeFATE完成FATE的集群部署(十分详细!!!)(一)

使用KubeFATE完成FATE的集群部署(十分详细!!!)(二)

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值