FluxCD

    你可以通过 vela 的命令行工具,执行以下命令安装该插件。

    如果你只想利用 fluxcd addon 部署 helm 应用,你可以执行下面的命令启只启用 helm 相关的组件:

    Definitions

    参数

    参数描述示例
    repoType必填,仓库类型:”helm”,”git” 或者 “oss”Helm
    pullInterval选填,仓库同步时间周期, 默认为 5m5m
    url必填,仓库的访问地址,git 或者 helm 仓库的 URL 或者 OSS 的 endpointhttps://charts.bitnami.com/bitnami
    secretRef选填,访问仓库的 Secret 名称sec-name
    timeout选填,从仓库下载制品包的超时时间60s
    chart必填,对于 git/oss 的仓库这个参数用来指定 chart 的相对路径。对于 helm 仓库用来指定 chart 名称redis-cluster
    version选填,chart 的版本6.2.7
    targetNamespace选填,chart 的安装的命名空间your-ns
    releaseName选填,chart 的安装名称your-rn
    values选填,覆盖定义在 chart 包中 Values.yaml 的参数
    installTimeout选填,执行安装操作的超时时间,默认配置是 10 分钟20m
    interval选填,同步的时间间隔,默认是 30s1m
    oss选填, The 的仓库配置
    git选填, The git 的仓库配置
    OSS
    Git
    参数描述示例
    branch选填, Git 分支, 默认是 masteryour-branch

    例子

    如果你的 chart 存贮在 helm repository 中,你可以通过创建以下的应用去交付这个 chart

    1. apiVersion: core.oam.dev/v1beta1
    2. kind: Application
    3. metadata:
    4. name: helm-redis
    5. spec:
    6. components:
    7. - name: redis
    8. type: helm
    9. properties:
    10. repoType: "helm"
    11. url: "https://charts.bitnami.com/bitnami"
    12. chart: "redis"
    13. version: "16.8.5"
    14. values:
    15. persistence:
    16. size: 16Gi
    17. replica:
    18. persistence:
    19. size: 16Gi

    如果你的 chart 存贮在 OSS 中,你可以通过创建以下的应用去交付这个 chart

    1. apiVersion: core.oam.dev/v1beta1
    2. kind: Application
    3. name: app-delivering-chart
    4. spec:
    5. components:
    6. - name: terraform-controller
    7. type: helm
    8. properties:
    9. repoType: git
    10. url: https://github.com/oam-dev/terraform-controller
    11. chart: ./chart
    12. git:
    13. branch: master

    kustomize

    参数

    Image Repository
    参数是否必填描述示例
    image必填镜像地址oamdev/vela-core
    secretRef选填镜像的拉取密钥my-secret
    policy选填 镜像更新策略
    filterTags选填FilterTags 镜像标签的过滤策略$timestamp
    commitMessage选填提交信息
    Image policy
    FilterTags
    参数是否必填描述示例
    extract选填镜像 tag 提取策略$timestamp
    pattern选填镜像过滤策略模版‘^master-[a-f0-9]’

    示例

    1. 如果你的 kustomize 制品包存储在 OSS 中,你可以通过一下步骤部署它:

    (非必须) 如果你的 OSS bucket 需要权限验证,你需要先通过下面的命令创建访问密钥:

    1. $ kubectl create secret generic bucket-secret --from-literal=accesskey=<your-ak> --from-literal=secretkey=<your-sk>
    2. secret/bucket-secret created

    创建应用:

    1. 如果你的制品包存储在 git 中,你可以创建以下应用来部署它:
    1. apiVersion: core.oam.dev/v1beta1
    2. kind: Application
    3. metadata:
    4. name: git-app
    5. spec:
    6. - name: git-comp
    7. type: kustomize
    8. properties:
    9. url: https://github.com/<path>/<to>/<repo>
    10. git:
    11. branch: master
    12. provider: GitHub
    13. path: ./app/dev/
    1. 如果你希望你的应用能够跟随镜像变更自动更新,你可以通过创建下面的应用:
    1. apiVersion: core.oam.dev/v1beta1
    2. kind: Application
    3. metadata:
    4. name: image-app
    5. spec:
    6. components:
    7. - name: image
    8. type: kustomize
    9. properties:
    10. imageRepository:
    11. image: <your image>
    12. secretRef: imagesecret
    13. filterTags:
    14. pattern: '^master-[a-f0-9]+-(?P<ts>[0-9]+)'
    15. extract: '$ts'
    16. policy:
    17. numerical: