获得更多?

    KubeVela 安装时就自带了很多开箱即用的功能,可以查看如下手册了解详情:

    你可以通过安装 KubeVela 的插件(Addon)获取更多的扩展能力。

    KubeVela 官方团队维护了一个默认的插件仓库 () ,默认情况下会从这个仓库实时发现。

    安装插件

    1. I0111 21:45:24.553174 89345 apply.go:106] "creating object" name="addon-fluxcd" resource="core.oam.dev/v1beta1, Kind=Application"
    2. I0111 21:45:25.258914 89345 apply.go:106] "creating object" name="helm" resource="core.oam.dev/v1beta1, Kind=ComponentDefinition"
    3. I0111 21:45:25.342731 89345 apply.go:106] "creating object" name="kustomize-json-patch" resource="core.oam.dev/v1beta1, Kind=TraitDefinition"
    4. I0111 21:45:25.382201 89345 apply.go:106] "creating object" name="kustomize-patch" resource="core.oam.dev/v1beta1, Kind=TraitDefinition"
    5. I0111 21:45:25.625815 89345 apply.go:106] "creating object" name="kustomize-strategy-merge" resource="core.oam.dev/v1beta1, Kind=TraitDefinition"
    6. I0111 21:45:25.660129 89345 apply.go:106] "creating object" name="component-uischema-helm" resource="/v1, Kind=ConfigMap"
    7. Addon: fluxcd enabled Successfully.

    安装特定版本的插件

    你可以通过通过设置 --version 启动参数,来指定安装插件的某个特定版本。例如:

    1. vela addon enable fluxcd --version=1.0.0

    如果不指定该参数,默认会安装此插件的最新版本。

    启用一个插件时,默认会在所有子集群中安装该插件,你也可以通过设置 --cluster 启动参数选择安装在某些集群当中。例如:

    1. vela addon enable <addon-name> --clusters={cluster1,cluster2}

    某些插件支持在启用时设置一些参数。例如 velaux 插件支持通过设置 repo 参数使用其他的镜像仓库。你就可以通过以下命令设置使用你自己的镜像仓库:

    获取插件详情

    1. $ vela addon enable velaux --verbose
    2. velaux: disabled
    3. KubeVela User Experience (UX). An extensible, application-oriented delivery and management Dashboard.
    4. ==> Registry Name
    5. KubeVela
    6. [v1.4.3, v1.4.2, v1.4.0, v1.4.0-beta.2, v1.3.6, v1.3.4, v1.3.3, v1.3.2, ...]
    7. ==> Dependencies
    8. []
    9. ==> Parameters
    10. -> dbType: Specify the database type, current support KubeAPI(default) and MongoDB.
    11. default: "kubeapi"
    12. required:
    13. -> dbURL: Specify the MongoDB URL. it only enabled where DB type is MongoDB.
    14. -> gatewayDriver: Specify the gateway type.
    15. default: "nginx"
    16. required:
    17. -> imagePullSecrets: Specify the names of imagePullSecret for private image registry, eg. "{a,b,c}"
    18. -> serviceType: Specify the service type.
    19. required:
    20. -> database: Specify the database name, for the kubeapi db type, it represents namespace.
    21. -> dex: Specify whether to enable the dex
    22. default: "false"
    23. required:
    24. -> domain: Specify the domain, if set, ingress will be created if the gateway driver is nginx.
    25. -> serviceAccountName: Specify the serviceAccountName for apiserver
    26. default: "kubevela-vela-core"
    27. required:

    如上所示, 命令结果包含了一个插件的参数详细信息,可用版本,依赖的其他的插件等信息。

    安装完成后,插件中的功能会以组件,运维特征,工作流步骤等形式呈现,你可以通过 vela componentvela trait 等命令查看新增的能力,也可以在中查看每个官方插件对应的能力.

    1. $ vela addon disable fluxcd
    2. Successfully disable addon:fluxcd

    查看插件的下载仓库

    1. $ vela addon registry list
    2. Name Type URL
    3. KubeVela helm https://addons.kubevela.net

    KubeVela 社区在 Github 上维护了一个官方的正式插件包仓库 和一个 。你在相应的仓库中找到插件包的定义文件。

    同时这些文件会被同步到 对象存储 当中,以加快下载速度。

    添加插件包仓库

    你可以添加自己的插件包仓库,目前支持 OSS 和 Github 两种仓库类型。

    1. $ vela addon registry delete experimental
    2. Successfully delete an addon registry experimental

    多集群环境中启用插件包

    如果你的环境中添加了若干个子集群,启用插件包时会默认在管控集群和所有子集群中安装此插件包。但如果子集群在某个插件包启用之后加入环境当中,则需要通过升级操作在新加入集群中安装此插件包。如下所示

    1. $ vela addon upgrade velaux
    2. Addon:
    3. enabled Successfully

    离线安装插件包

    1. $ ls
    2. README.md fluxcd ocm-cluster-manager terraform terraform-alibaba terraform-aws terraform-azure velaux
    3. $ vela addon enable velaux/

    需要注意的是,在安装插件过程当中,仍可能需要从网络中拉取镜像或者 helm chart,如果你的网络环境同样无法访问这些地址,请参考进行完整的离线安装。

    具有插件管理权限的用户可以进入插件管理页面,进行插件启用/停用等操作。

    如上图所示,在插件列表中,你可以查看到插件启用状态和其他基础信息。点击插件名称可以进入到插件详情页面,你可以查询到插件的版本列表,提供的扩展类型和介绍信息。

    addon detail

    选择一个部署版本(默认为最新),设置需要部署的集群后,你可以点击 启用 按钮安装该插件。对于已启用的插件,如果没有应用使用该插件提供的扩展,你可以点击禁用按钮来卸载它。

    编写自己的插件包

    请参考插件包制作文档

    非常欢迎广大开发者们阅读开发者手册,了解更多的 KubeVela 细节,参与到社区的贡献中来。