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
|
||||
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.
|
||||
|
||||
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) -->
|
||||
|
||||
## 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
|
||||
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
|
||||
|
@ -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
|
||||
```
|
||||
|
||||
This procedure can also be used for upgrades and will not harm any
|
||||
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
|
||||
|
||||
##### Enterprise Edition
|
||||
```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-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
|
||||
```
|
||||
|
||||
This procedure can also be used for upgrades and will not harm any
|
||||
running ArangoDB deployments.
|
||||
|
||||
### Installation of latest EE release using kustomize
|
||||
### Installation of latest 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,
|
||||
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:
|
||||
See `manifests/kustomize` directory for available combinations of installed features.
|
||||
|
||||
##### Community Edition example
|
||||
```
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
namespace: my-custom-namespace
|
||||
|
||||
bases:
|
||||
- https://github.com/arangodb/kube-arangodb/manifests/kustomize-enterprise/deployment/?ref=1.0.3
|
||||
resources:
|
||||
- https://github.com/arangodb/kube-arangodb/manifests/kustomize/crd?ref=1.2.34
|
||||
- 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
|
||||
upgrades.
|
||||
### Installation of latest release using Helm
|
||||
|
||||
Only use this procedure for clean installation of the operator. For upgrades see next section
|
||||
|
||||
##### Community Edition
|
||||
```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 --set "operator.image=arangodb/kube-arangodb-enterprise:1.2.34"
|
||||
# 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
|
||||
# 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
|
||||
|
||||
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!
|
||||
delete the previous operator deployment and then install the latest. **HOWEVER**:
|
||||
You *must not delete* 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:
|
||||
operator (`kube-arangodb`) 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
|
||||
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
|
||||
kube-arangodb-1-1696919877 default 1 2023-10-10 08:37:57.884783199 +0200 CEST deployed kube-arangodb-1.2.31
|
||||
```
|
||||
|
||||
So here, you would have to do
|
||||
|
||||
```bash
|
||||
helm delete vetoed-ladybird
|
||||
helm delete kube-arangodb-1-1696919877
|
||||
```
|
||||
|
||||
but **not delete `steely-mule`**. Then you could install the new version
|
||||
with `helm install` as normal:
|
||||
Then you can install the new version with `helm install` as normal:
|
||||
|
||||
##### Community Edition
|
||||
```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 --set "operator.image=arangodb/kube-arangodb-enterprise:1.2.34"
|
||||
# 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
|
||||
# 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
|
||||
|
|
Loading…
Reference in a new issue