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聯繫咱們。

相關文章
相關標籤/搜索