mirror of
https://github.com/arangodb/kube-arangodb.git
synced 2024-12-14 11:57:37 +00:00
[Maintenance] Simplify and update README file (#1430)
* Simplify and update README file - remove duplicated information - fix typos - update information on Upgrade process - update helm commands to be compatible with latest Helm version
This commit is contained in:
parent
05e588127a
commit
58a3789fcc
1 changed files with 64 additions and 116 deletions
180
README.md
180
README.md
|
@ -30,7 +30,7 @@ state for individual new features, since we expect that new
|
||||||
features will first be released with an "alpha" or "beta" readiness
|
features will first be released with an "alpha" or "beta" readiness
|
||||||
state and over time move to full "production readiness".
|
state and over time move to full "production readiness".
|
||||||
|
|
||||||
Operator will supports versions supported on providers and maintained by Kubernetes.
|
Operator will support Kubernetes versions supported on providers and maintained by Kubernetes.
|
||||||
Once version is not supported anymore it will go into "Deprecating" state and will be marked as deprecated on Minor release.
|
Once version is not supported anymore it will go into "Deprecating" state and will be marked as deprecated on Minor release.
|
||||||
|
|
||||||
Kubernetes versions starting from 1.18 are supported and tested, charts and manifests can use API Versions which are not present in older versions.
|
Kubernetes versions starting from 1.18 are supported and tested, charts and manifests can use API Versions which are not present in older versions.
|
||||||
|
@ -102,12 +102,18 @@ To upgrade to the Enterprise Edition, you need to get in touch with the ArangoDB
|
||||||
|
|
||||||
<!-- END(featuresEnterpriseTable) -->
|
<!-- END(featuresEnterpriseTable) -->
|
||||||
|
|
||||||
## Operator Community Edition (CE)
|
## Installation and Usage
|
||||||
|
|
||||||
Image: `arangodb/kube-arangodb:1.2.34`
|
Docker images:
|
||||||
|
- Community Edition: `arangodb/kube-arangodb:1.2.34`
|
||||||
|
- Enterprise Edition: `arangodb/kube-arangodb-enterprise:1.2.34`
|
||||||
|
|
||||||
### Installation of latest CE release using Kubectl
|
### Installation of latest release using Kubectl
|
||||||
|
|
||||||
|
This procedure can also be used for upgrades and will not harm any
|
||||||
|
running ArangoDB deployments.
|
||||||
|
|
||||||
|
##### Community Edition
|
||||||
```bash
|
```bash
|
||||||
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/1.2.34/manifests/arango-crd.yaml
|
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/1.2.34/manifests/arango-crd.yaml
|
||||||
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/1.2.34/manifests/arango-deployment.yaml
|
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/1.2.34/manifests/arango-deployment.yaml
|
||||||
|
@ -117,83 +123,7 @@ kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/1.2.34
|
||||||
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/1.2.34/manifests/arango-deployment-replication.yaml
|
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/1.2.34/manifests/arango-deployment-replication.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
This procedure can also be used for upgrades and will not harm any
|
##### Enterprise Edition
|
||||||
running ArangoDB deployments.
|
|
||||||
|
|
||||||
### Installation of latest CE release using kustomize
|
|
||||||
|
|
||||||
Installation using [kustomize](https://kubernetes.io/docs/tasks/manage-kubernetes-objects/kustomization/) looks like installation from yaml files,
|
|
||||||
but user is allowed to modify namespace or resource names without yaml modifications.
|
|
||||||
|
|
||||||
IT is recommended to use kustomization instead of handcrafting namespace in yaml files - kustomization will replace not only resource namespaces,
|
|
||||||
but also namespace references in resources like ClusterRoleBinding.
|
|
||||||
|
|
||||||
Example kustomization file:
|
|
||||||
```
|
|
||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
||||||
kind: Kustomization
|
|
||||||
|
|
||||||
namespace: my-custom-namespace
|
|
||||||
|
|
||||||
bases:
|
|
||||||
- https://github.com/arangodb/kube-arangodb/manifests/kustomize/deployment/?ref=1.0.3
|
|
||||||
```
|
|
||||||
|
|
||||||
### Installation of latest CE release using Helm
|
|
||||||
|
|
||||||
Only use this procedure for a new install of the operator. See below for
|
|
||||||
upgrades.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# The following will install the operator for `ArangoDeployment` &
|
|
||||||
# `ArangoDeploymentReplication` resources.
|
|
||||||
helm install https://github.com/arangodb/kube-arangodb/releases/download/1.2.34/kube-arangodb-1.2.34.tgz
|
|
||||||
# To use `ArangoLocalStorage`, set field `operator.features.storage` to true
|
|
||||||
helm install https://github.com/arangodb/kube-arangodb/releases/download/1.2.34/kube-arangodb-1.2.34.tgz --set "operator.features.storage=true"
|
|
||||||
```
|
|
||||||
|
|
||||||
### Upgrading the operator using Helm
|
|
||||||
|
|
||||||
To upgrade the operator to the latest version with Helm, you have to
|
|
||||||
delete the previous deployment and then install the latest. **HOWEVER**:
|
|
||||||
You *must not delete* the deployment of the custom resource definitions
|
|
||||||
(CRDs), or your ArangoDB deployments will be deleted!
|
|
||||||
|
|
||||||
Therefore, you have to use `helm list` to find the deployments for the
|
|
||||||
operator (`kube-arangodb`) and of the storage operator
|
|
||||||
(`kube-arangodb-storage`) and use `helm delete` to delete them using the
|
|
||||||
automatically generated deployment names. Here is an example of a `helm
|
|
||||||
list` output:
|
|
||||||
|
|
||||||
```
|
|
||||||
% helm list
|
|
||||||
NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
|
||||||
vetoed-ladybird 1 Mon Apr 8 11:36:58 2019 DEPLOYED kube-arangodb-0.3.10-preview default
|
|
||||||
```
|
|
||||||
|
|
||||||
So here, you would have to do
|
|
||||||
|
|
||||||
```bash
|
|
||||||
helm delete vetoed-ladybird
|
|
||||||
```
|
|
||||||
|
|
||||||
but **not delete `steely-mule`**. Then you could install the new version
|
|
||||||
with `helm install` as normal:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# The following will install the operator for `ArangoDeployment` &
|
|
||||||
# `ArangoDeploymentReplication` resources.
|
|
||||||
helm install https://github.com/arangodb/kube-arangodb/releases/download/1.2.34/kube-arangodb-1.2.34.tgz
|
|
||||||
# To use `ArangoLocalStorage`, set field `operator.features.storage` to true
|
|
||||||
helm install https://github.com/arangodb/kube-arangodb/releases/download/1.2.34/kube-arangodb-1.2.34.tgz --set "operator.features.storage=true"
|
|
||||||
```
|
|
||||||
|
|
||||||
## Operator Enterprise Edition (EE)
|
|
||||||
|
|
||||||
Image: `arangodb/kube-arangodb-enterprise:1.2.34`
|
|
||||||
|
|
||||||
### Installation of latest EE release using Kubectl
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/1.2.34/manifests/enterprise-crd.yaml
|
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/1.2.34/manifests/enterprise-crd.yaml
|
||||||
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/1.2.34/manifests/enterprise-deployment.yaml
|
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/1.2.34/manifests/enterprise-deployment.yaml
|
||||||
|
@ -203,75 +133,93 @@ kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/1.2.34
|
||||||
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/1.2.34/manifests/enterprise-deployment-replication.yaml
|
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/1.2.34/manifests/enterprise-deployment-replication.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
This procedure can also be used for upgrades and will not harm any
|
### Installation of latest release using kustomize
|
||||||
running ArangoDB deployments.
|
|
||||||
|
|
||||||
### Installation of latest EE release using kustomize
|
|
||||||
|
|
||||||
Installation using [kustomize](https://kubernetes.io/docs/tasks/manage-kubernetes-objects/kustomization/) looks like installation from yaml files,
|
Installation using [kustomize](https://kubernetes.io/docs/tasks/manage-kubernetes-objects/kustomization/) looks like installation from yaml files,
|
||||||
but user is allowed to modify namespace or resource names without yaml modifications.
|
but user is allowed to modify namespace or resource names without yaml modifications.
|
||||||
|
|
||||||
IT is recommended to use kustomization instead of handcrafting namespace in yaml files - kustomization will replace not only resource namespaces,
|
It is recommended to use kustomization instead of handcrafting namespace in yaml files - kustomization will replace not only resource namespaces,
|
||||||
but also namespace references in resources like ClusterRoleBinding.
|
but also namespace references in resources like ClusterRoleBinding.
|
||||||
|
|
||||||
Example kustomization file:
|
See `manifests/kustomize` directory for available combinations of installed features.
|
||||||
|
|
||||||
|
##### Community Edition example
|
||||||
```
|
```
|
||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
|
|
||||||
namespace: my-custom-namespace
|
namespace: my-custom-namespace
|
||||||
|
resources:
|
||||||
bases:
|
- https://github.com/arangodb/kube-arangodb/manifests/kustomize/crd?ref=1.2.34
|
||||||
- https://github.com/arangodb/kube-arangodb/manifests/kustomize-enterprise/deployment/?ref=1.0.3
|
- https://github.com/arangodb/kube-arangodb/manifests/kustomize/deployment?ref=1.2.34
|
||||||
```
|
```
|
||||||
|
|
||||||
### Installation of latest EE release using Helm
|
##### Enterprise Edition example
|
||||||
|
```
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
namespace: my-custom-namespace
|
||||||
|
resources:
|
||||||
|
- https://github.com/arangodb/kube-arangodb/manifests/kustomize-enterprise/crd?ref=1.2.34
|
||||||
|
- https://github.com/arangodb/kube-arangodb/manifests/kustomize-enterprise/deployment?ref=1.2.34
|
||||||
|
```
|
||||||
|
|
||||||
Only use this procedure for a new install of the operator. See below for
|
### Installation of latest release using Helm
|
||||||
upgrades.
|
|
||||||
|
|
||||||
|
Only use this procedure for clean installation of the operator. For upgrades see next section
|
||||||
|
|
||||||
|
##### Community Edition
|
||||||
```bash
|
```bash
|
||||||
# The following will install the operator for `ArangoDeployment` &
|
# The following will install the operator and basic CRDs resources.
|
||||||
# `ArangoDeploymentReplication` resources.
|
helm install --generate-name https://github.com/arangodb/kube-arangodb/releases/download/1.2.34/kube-arangodb-1.2.34.tgz
|
||||||
helm install https://github.com/arangodb/kube-arangodb/releases/download/1.2.34/kube-arangodb-1.2.34.tgz --set "operator.image=arangodb/kube-arangodb-enterprise:1.2.34"
|
|
||||||
# To use `ArangoLocalStorage`, set field `operator.features.storage` to true
|
# To use `ArangoLocalStorage`, set field `operator.features.storage` to true
|
||||||
helm install https://github.com/arangodb/kube-arangodb/releases/download/1.2.34/kube-arangodb-1.2.34.tgz --set "operator.image=arangodb/kube-arangodb-enterprise:1.2.34" --set "operator.features.storage=true"
|
helm install --generate-name https://github.com/arangodb/kube-arangodb/releases/download/1.2.34/kube-arangodb-1.2.34.tgz --set "operator.features.storage=true"
|
||||||
|
```
|
||||||
|
|
||||||
|
##### Enterprise Edition
|
||||||
|
```bash
|
||||||
|
# The following will install the operator and basic CRDs resources.
|
||||||
|
helm install --generate-name https://github.com/arangodb/kube-arangodb/releases/download/1.2.34/kube-arangodb-1.2.34.tgz --set "operator.image=arangodb/kube-arangodb-enterprise:1.2.34"
|
||||||
|
# To use `ArangoLocalStorage`, set field `operator.features.storage` to true
|
||||||
|
helm install --generate-name https://github.com/arangodb/kube-arangodb/releases/download/1.2.34/kube-arangodb-1.2.34.tgz --set "operator.image=arangodb/kube-arangodb-enterprise:1.2.34" --set "operator.features.storage=true"
|
||||||
```
|
```
|
||||||
|
|
||||||
### Upgrading the operator using Helm
|
### Upgrading the operator using Helm
|
||||||
|
|
||||||
To upgrade the operator to the latest version with Helm, you have to
|
To upgrade the operator to the latest version with Helm, you have to
|
||||||
delete the previous deployment and then install the latest. **HOWEVER**:
|
delete the previous operator deployment and then install the latest. **HOWEVER**:
|
||||||
You *must not delete* the deployment of the custom resource definitions
|
You *must not delete* the custom resource definitions (CRDs),
|
||||||
(CRDs), or your ArangoDB deployments will be deleted!
|
or your ArangoDB deployments will be deleted!
|
||||||
|
|
||||||
Therefore, you have to use `helm list` to find the deployments for the
|
Therefore, you have to use `helm list` to find the deployments for the
|
||||||
operator (`kube-arangodb`) and of the storage operator
|
operator (`kube-arangodb`) and use `helm delete` to delete them using the
|
||||||
(`kube-arangodb-storage`) and use `helm delete` to delete them using the
|
automatically generated deployment names. Here is an example of a `helm list` output:
|
||||||
automatically generated deployment names. Here is an example of a `helm
|
|
||||||
list` output:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
% helm list
|
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
|
||||||
NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
|
kube-arangodb-1-1696919877 default 1 2023-10-10 08:37:57.884783199 +0200 CEST deployed kube-arangodb-1.2.31
|
||||||
vetoed-ladybird 1 Mon Apr 8 11:36:58 2019 DEPLOYED kube-arangodb-0.3.10-preview default
|
|
||||||
```
|
```
|
||||||
|
|
||||||
So here, you would have to do
|
So here, you would have to do
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
helm delete vetoed-ladybird
|
helm delete kube-arangodb-1-1696919877
|
||||||
```
|
```
|
||||||
|
|
||||||
but **not delete `steely-mule`**. Then you could install the new version
|
Then you can install the new version with `helm install` as normal:
|
||||||
with `helm install` as normal:
|
|
||||||
|
|
||||||
|
##### Community Edition
|
||||||
```bash
|
```bash
|
||||||
# The following will install the operator for `ArangoDeployment` &
|
# The following will install the operator and basic CRDs resources.
|
||||||
# `ArangoDeploymentReplication` resources.
|
helm install --generate-name https://github.com/arangodb/kube-arangodb/releases/download/1.2.34/kube-arangodb-1.2.34.tgz
|
||||||
helm install https://github.com/arangodb/kube-arangodb/releases/download/1.2.34/kube-arangodb-1.2.34.tgz --set "operator.image=arangodb/kube-arangodb-enterprise:1.2.34"
|
|
||||||
# To use `ArangoLocalStorage`, set field `operator.features.storage` to true
|
# To use `ArangoLocalStorage`, set field `operator.features.storage` to true
|
||||||
helm install https://github.com/arangodb/kube-arangodb/releases/download/1.2.34/kube-arangodb-1.2.34.tgz --set "operator.image=arangodb/kube-arangodb-enterprise:1.2.34" --set "operator.features.storage=true"
|
helm install --generate-name https://github.com/arangodb/kube-arangodb/releases/download/1.2.34/kube-arangodb-1.2.34.tgz --set "operator.features.storage=true"
|
||||||
|
```
|
||||||
|
|
||||||
|
##### Enterprise Edition
|
||||||
|
```bash
|
||||||
|
# The following will install the operator and basic CRDs resources.
|
||||||
|
helm install --generate-name https://github.com/arangodb/kube-arangodb/releases/download/1.2.34/kube-arangodb-1.2.34.tgz --set "operator.image=arangodb/kube-arangodb-enterprise:1.2.34"
|
||||||
|
# To use `ArangoLocalStorage`, set field `operator.features.storage` to true
|
||||||
|
helm install --generate-name https://github.com/arangodb/kube-arangodb/releases/download/1.2.34/kube-arangodb-1.2.34.tgz --set "operator.image=arangodb/kube-arangodb-enterprise:1.2.34" --set "operator.features.storage=true"
|
||||||
```
|
```
|
||||||
|
|
||||||
## Building
|
## Building
|
||||||
|
|
Loading…
Reference in a new issue