如何在两个k8s上使用kubefate部署fate集群?

本文详述如何在两个独立的k8s集群上部署并配置互通的FATE实例,涵盖从环境检查到FATEboard配置的全过程,以实现联邦学习任务的执行。
摘要由CSDN通过智能技术生成
  • 本文作者系VMware中国研发中心研发工程师 马陈龙

目标

本文将介绍如何使用kubefate在两个kubernetes集群上部署互通的两个FATE。这两个FATE可以完成各种联邦学习的任务。

完成后将会得到下图的结构:
在这里插入图片描述

先决条件
两个独立的kubernetes集群 v1.16.0+;

两个集群都可以连接互联网也可以互通;

两个部署机器,分别可以执行两个集群的kubectl命令;

两个kubernetes都已经部署了ingress-controller ;

本教程的两个kubernetes集群我们分别称为【A集群】和【B集群】
部署的两个FATE实例分别称为【PartyA】和【PartyB】

开始
检查集群

A集群的信息

[deploy-A]$ kubectl get node -o wide
NAME     STATUS     ROLES    AGE    VERSION   INTERNAL-IP    EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION                CONTAINER-RUNTIME
master   Ready      master   191d   v1.17.3   192.168.10.1   <none>        CentOS Linux 7 (Core)   3.10.0-1062.12.1.el7.x86_64   docker://19.3.5
node-0   Ready      <none>   191d   v1.17.3   192.168.10.2   <none>        CentOS Linux 7 (Core)   3.10.0-1062.12.1.el7.x86_64   docker://19.3.3
node-1   Ready      <none>   191d   v1.17.3   192.168.10.3   <none>        CentOS Linux 7 (Core)   3.10.0-1062.12.1.el7.x86_64   docker://19.3.3

B集群的信息

[deploy-B]$ kubectl get node -o wide
NAME     STATUS    ROLES    AGE    VERSION   INTERNAL-IP     EXTERNAL-IP  OS-IMAGE                KERNEL-VERSION                CONTAINER-RUNTIME
master   Ready     master   191d   v1.17.3   192.168.9.1     <none>       CentOS Linux 7 (Core)   3.10.0-1062.12.1.el7.x86_64   docker://19.3.5
node-0   Ready     <none>   191d   v1.17.3   192.168.9.2     <none>       CentOS Linux 7 (Core)   3.10.0-1062.12.1.el7.x86_64   docker://19.3.5
node-1   Ready     <none>   191d   v1.17.3   192.168.9.3     <none>       CentOS Linux 7 (Core)   3.10.0-1062.12.1.el7.x86_64   docker://19.3.5

下载kubefate
Kubefate 的开源地址https://github.com/FederatedAI/KubeFATE

打开链接https://github.com/FederatedAI/KubeFATE/releases

Kubefate是容器化部署fate的最佳实践,项目更新较快,建议使用最新的releases。

在这里插入图片描述

下载 The KubeFATE release pack ,得到kubefate-k8s-v1.3.0-a.tar.gz这个文件,解压下载的这个文件,得到一个可执行文件和四个yaml文件

A集群解压

[deploy-A]$ tar -zxvf kubefate-k8s-v1.3.0-a.tar.gz 
kubefate
cluster.yaml
config.yaml
kubefate.yaml
rbac-config.yaml

B集群解压

[deploy-B]$ tar -zxvf kubefate-k8s-v1.3.0-a.tar.gz 
kubefate
cluster.yaml
config.yaml
kubefate.yaml
rbac-config.yaml

在kubernetes上安装kubefate server
分别创建kubefate server的namespace 和RBAC权限
在A集群和B集群分别部署rbac-config.yaml

A集群

[deploy-A]$ kubectl apply -f ./rbac-config.yaml
namespace/k
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值