KubeFATE配置文件说明

*本文做者系VMware云原生实验室工程师 彭路git

使用KubeFATEkubernetes上部署FATE集群时,提供了两种部署方式:KubeFATE服务和KubeFATE命令行工具。用户能够选择喜欢的方式来部署FATE集群。github

有如下几个配置文件须要注意:rbac-config.yamlkubefate.yamlconfig.yamlcluster.yamlcluster-serving.yaml数据库

rbac-config.yaml后端

建立KubeFATE所须要的NamespaceServiceAccount。给ServiceAccount绑定角色。数组

kubefate.yaml网络

KubeFATE服务部署到kubernetes上。包括两部分:KubeFATE服务和MongoDB数据库。工具

  1. KubeFATE服务

KubeFATE服务有三部分:DeploymentServiceIngress。下面分别介绍一下配置项。url

Deploymentspa

env:

  - name: FATECLOUD_MONGO_URL

    value"mongo:27017"

  - name: FATECLOUD_MONGO_USERNAME

    value"root"

  - name: FATECLOUD_MONGO_PASSWORD

    value"root"

  - name: FATECLOUD_MONGO_DATABASE

    value"KubeFate"

  - name: FATECLOUD_REPO_NAME

    value"kubefate"

  - name: FATECLOUD_REPO_URL

    value"https://federatedai.github.io/KubeFATE/"

  - name: FATECLOUD_USER_USERNAME

    value"admin"

  - name: FATECLOUD_USER_PASSWORD

    value"admin"

  - name: FATECLOUD_SERVER_ADDRESS

    value"0.0.0.0"

  - name: FATECLOUD_SERVER_PORT

    value"8080"

  - name: FATECLOUD_LOG_LEVEL

    value"debug"

配置项.net

说明

FATECLOUD_MONGO_URL

MongoDB的地址,依赖于MongoDB的配置。

FATECLOUD_MONGO_USERNAME

MongoDB的用户名。

FATECLOUD_MONGO_PASSWORD

MongoDB的密码。

FATECLOUD_MONGO_DATABASE

MongoDB里面的数据库名。

FATECLOUD_REPO_NAME

Helm chart远程仓库名。

FATECLOUD_REPO_URL

Helm chart远程仓库地址。

FATECLOUD_USER_USERNAME

KubeFATE服务默认用户名。

FATECLOUD_USER_PASSWORD

KubeFATE服务默认用户密码。

FATECLOUD_SERVER_ADDRESS

KubeFATE服务地址。

FATECLOUD_SERVER_PORT

KubeFATE服务端口。

FATECLOUD_LOG_LEVEL

KubeFATE服务日志等级。

Service

ports:
  - name: "8080"
    port: 8080
    targetPort: 8080
protocol: TCP
type: ClusterIP

端口和deployment配置的一致,网络类型是ClusterIp

Ingress

rules:

  - host: kubefate.net

    http:

      paths:

        - path: /

          backend:

            serviceName: kubefate

            servicePort: 8080

配置项

说明

host

Ingress的域名,经过这个域名来访问KubeFATE服务。

backend

Ingress的后端就是KubeFATEService

更多Ingress相关内容请参考:

https://kubernetes.io/docs/concepts/services-networking/ingress/

  1. MongoDB数据库

Deployment

env:

  - name: MONGO_INITDB_ROOT_USERNAME

    value: root

  - name: MONGO_INITDB_ROOT_PASSWORD

    value: root

MongoDB初始化的用户名和密码。

config.yaml

user:

  username: admin

  password: admin


serviceurl: kubefate.net

KubeFATE命令行工具调用KubeFATE服务时所用到的配置。ServiceurlKubeFATE服务的Ingress地址,userKubeFATE服务的默认用户名密码。

cluster.yaml

cluster.yaml声明须要部署的FATE群集信息,KubeFATE 命令行工具使用这些信息来部署FATE群集。

配置项

类型

说明

name

纯量

FATE集群的名字。

namespace

纯量

FATE集群在kubernetes上的命名空间。

chartName

纯量

部署FATE集群的helm chart名字。

chartVersion

纯量

部署FATE集群的helm chart版本。

partyId

纯量

FATE集群的Parity ID

modules

数组

须要部署的FATE模块。

proxy

对象

Proxy模块须要的配置。

egg

对象

Egg模块须要的配置。

servingIp

纯量

在线推理集群的IP

servingPort

纯量

在线推理集群的端口。

Egg对象:

配置项

类型

说明

count

纯量

FATE集群egg模块的数量。

processor

纯量

Egg模块的进程数。

Proxy对象:

多方FATE集群支持两种部署模式:经过exchange模块链接和直接链接模式。

Exchange模式:

    每一个参与方都与exchange集群链接,exchange有全部参与方的proxy地址。

  • Exchange集群只须要部署proxy模块。在proxy对象的配置里,partyList须要全部参与方的proxy地址,不须要exchange配置项。
  • 参与方FATE集群只须要填写exchange配置项,不须要填写partyList

直连模式:

     全部参与方直接互相链接。

  • 不须要填写exchange配置项。
  • Partylist配置项里面须要有全部参与方的proxy地址。

cluster-serving.yaml

cluster-serving.yaml声明须要部署的FATE在线推理群集信息,KubeFATE 命令行工具使用这些信息来部署FATE在线推理群集。

配置项

类型

说明

name

纯量

在线推理集群的名字。

namespace

纯量

在线推理集群在kubernetes上的命名空间。

chartName

纯量

部署在线推理集群的helm chart名字。

chartVersion

纯量

部署在线推理集群的helm chart版本。

partyId

纯量

在线推理集群的Parity ID

modules

数组

须要部署的模块。

servingProxy

对象

在线推理Proxy模块须要的配置。

ServingServer

对象

在线推理Server模块须要的配置。

servingProxy对象:

ServingServer对象:

在线推理集群的Server模块须要和对应的FATE集群的Fate_flow通讯。因此须要配置Fate_flow的信息。

咨询与KubeFATE相关问题可经过kubefate@vmware.com联系咱们。

相关文章
相关标签/搜索