gravity-operator

module
v0.3.12 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 16, 2019 License: Apache-2.0

README

Gravity Operator

Build Status

Gravity Operator manages Gravity processes on Kubernetes.

Getting Started

This document introduces how to deploy, configure and upgrade a Gravity Operator.

Prerequisites
  • Kubernetes 1.11+ with CRD status subroutine
  • helm
Installing
$ cd charts/gravity-operator
$ helm install --name gravity-operator ./

This chart bootstraps a gravity-operator deployment on a Kubernetes cluster using the Helm package manager.

Gravity Cluster Configuration

The following table shows the configurable parameters of the gravity-operator chart and their default values. See deploy/k8s/gravity-operator/values.yaml.

Parameter Description Default Value
deploymentRules Array of deployment rules which control Gravity deployment versions See DeploymentRules
operator.image.repository Image of the operator moiot/gravity-operator
operator.image.tag Image tag of the operator v0.1.0
operator.rolling The maximum number of pipelines that can be upgraded in parallel. Value can be an absolute number (ex: 5) or a percentage (ex: 10%). 25%
admin.image.repository Image of admin moiot/gravity-admin
admin.image.tag Image tag of admin v0.2.0
admin.service.nodePort Node port of the admin service 30066

By defining DeploymentRule, a Gravity cluster is divided into multiple groups based on the pipeline name and these groups can use different Gravity versions.

The default rule is as follows:

  - group: "default"
    pipelines: ["*"]
    image: "moiot/gravity:v0.9.15"
    command: ["/gravity", "-config=/etc/gravity/config.json"]
Parameter Type Description
group String Name of the rule
pipelines String array Global expression of the matched pipeline name
image String Image (including tag) of matched pipeline deployment. It will be written to pod template's container image field
command String array Command of running matched pipeline. It will be written to pod template's container command field

Gravity Cluster Upgrade

To upgrade a Gravity cluster, perform the following steps:

  1. Modify the values.yaml file in the chart.
  2. Use helm to upgrade the cluster.

Architecture

Architecture

License

This project is licensed under the Apache License 2.0 License - see the LICENSE file for details

Directories

Path Synopsis
cmd
pkg
apis/cluster/v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 is the v1alpha1 version of the API.
apis/pipeline/v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 is the v1alpha1 version of the API.
client/cluster/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/cluster/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/cluster/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/cluster/clientset/versioned/typed/cluster/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/cluster/clientset/versioned/typed/cluster/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/pipeline/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/pipeline/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/pipeline/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/pipeline/clientset/versioned/typed/pipeline/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/pipeline/clientset/versioned/typed/pipeline/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL