- Notifications
You must be signed in to change notification settings - Fork9
The CrateDB Kubernetes Operator provides a convenient way to run CrateDB clusters inside Kubernetes.
License
crate/crate-operator
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
TheCrateDB Kubernetes Operator provides convenient way to runCrateDBclusters insideKubernetes. It is built on top of theKopf: KubernetesOperators Framework.
A minimal custom resource for a 3 node CrateDB cluster may look like this:
dev-cluster.yaml:
apiVersion:cloud.crate.io/v1kind:CrateDBmetadata:name:my-clusternamespace:devspec:cluster:imageRegistry:cratename:crate-devversion:5.7.3nodes:data: -name:hotreplicas:3resources:limits:cpu:4memory:4Gidisk:count:1size:128GiBstorageClass:defaultheapRatio:0.5
$kubectl --namespace dev create -f dev-cluster.yaml...$kubectl --namespace dev get cratedbsNAMESPACE NAME AGEdev my-cluster 36s
Please note that the minimum version of CrateDB that the operator supports is4.5.Previous versions might work, but the operator will not attempt to set a license.
- "all equal nodes" cluster setup
- "master + data nodes" cluster setup
- safe scaling of clusters
- safe rolling version upgrades for clusters
- SSL for HTTP and PG connections via Let's Encrypt certificate
- custom node settings
- custom cluster settings
- custom storage classes
- region/zone awareness for AWS and Azure
To be able to deploy the custom resourceCrateDB to a Kubernetes cluster,the API needs to be extended with a Custom Resource Definition (CRD).It can be installed separately by installing theCRD Helm Chart or as adependency of theOperator Helm Chart.
helm repo add crate-operator https://crate.github.io/crate-operatorhelm install crate-operator crate-operator/crate-operator
To override the environment variables from values.yaml, please refer totheconfiguration documentation.
To be able to deploy the custom resourceCrateDB to a Kubernetes cluster,the API needs to be extended with a Custom Resource Definition (CRD). The CRDforCrateDB can be found in thedeploy/ folder and can be applied(assuming sufficient privileges).
$kubectl apply -f deploy/crd.yamlcustomresourcedefinition.apiextensions.k8s.io/cratedbs.cloud.crate.io created
Once the CRD is installed, the operator itself can be deployed using aDeployment in thecrate-operator namespace.
$kubectl create namespace crate-operator...$kubectl create -f deploy/rbac.yaml...$kubectl create -f deploy/deployment.yaml...
Please refer to theconfiguration documentation for further details.
Please refer to theWorking on the operator section of the documentation.
About
The CrateDB Kubernetes Operator provides a convenient way to run CrateDB clusters inside Kubernetes.
Topics
Resources
License
Code of conduct
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.