Skip to content

Commit d291779

Browse files
authored
[Documentation] Update Supported K8S Versions and Charts (#1687)
1 parent 15f4c52 commit d291779

File tree

190 files changed

+6782
-30
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

190 files changed

+6782
-30
lines changed

.circleci/continue_config.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ jobs:
8484
echo "This is not a pull request. Skipping..."
8585
exit 0
8686
fi
87-
make tidy update-generated synchronize-v2alpha1-with-v1 generate-internal fmt yamlfmt
87+
make tidy update-generated synchronize-v2alpha1-with-v1 generate-internal sync fmt yamlfmt
8888
git checkout -- go.sum # ignore changes in go.sum
8989
if [ ! -z "$(git status --porcelain)" ]; then
9090
echo "There are uncommited changes!"

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
- (Feature) Expose HTTP Client Config
88
- (Bugfix) MarkedToRemove Condition Check
99
- (Bugfix) Fix HTTP Client NPE
10+
- (Documentation) Update Supported K8S Versions and Charts
1011

1112
## [1.2.41](https://github.com/arangodb/kube-arangodb/tree/1.2.41) (2024-05-24)
1213
- (Maintenance) Bump Prometheus API Version

Makefile

+45-1
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,9 @@ SOURCES := $(shell $(SOURCES_QUERY))
270270
NON_EE_SOURCES_QUERY := $(SOURCES_QUERY) ! -name '*.enterprise.go'
271271
NON_EE_SOURCES := $(shell $(NON_EE_SOURCES_QUERY))
272272

273-
YAML_EXCLUDE_DIRS := vendor .gobuild deps tools pkg/generated/clientset pkg/generated/informers pkg/generated/listers chart/kube-arangodb/templates chart/kube-arangodb-crd/templates chart/arangodb-ingress-proxy/templates
273+
YAML_EXCLUDE_DIRS := vendor .gobuild deps tools pkg/generated/clientset pkg/generated/informers pkg/generated/listers \
274+
chart/kube-arangodb/templates chart/kube-arangodb-arm64/templates chart/kube-arangodb-enterprise/templates chart/kube-arangodb-enterprise-arm64/templates \
275+
chart/kube-arangodb-crd/templates chart/arangodb-ingress-proxy/templates
274276
YAML_EXCLUDE_FILES :=
275277
YAML_QUERY := find ./ -type f -name '*.yaml' $(foreach EXCLUDE_DIR,$(YAML_EXCLUDE_DIRS), ! -path "*/$(EXCLUDE_DIR)/*") $(foreach EXCLUDE_FILE,$(YAML_EXCLUDE_FILES), ! -path "*/$(EXCLUDE_FILE)")
276278
YAMLS := $(shell $(YAML_QUERY))
@@ -616,6 +618,30 @@ chart-operator: helm
616618

617619
manifests: chart-operator
618620

621+
.PHONY: chart-operator-enterprise
622+
chart-operator-enterprise: export CHART_NAME := kube-arangodb-enterprise
623+
chart-operator-enterprise: helm
624+
@mkdir -p "$(ROOTDIR)/bin/charts"
625+
@$(HELM_PACKAGE_CMD)
626+
627+
manifests: chart-operator-enterprise
628+
629+
.PHONY: chart-operator-arm64
630+
chart-operator-arm64: export CHART_NAME := kube-arangodb-arm64
631+
chart-operator-arm64: helm
632+
@mkdir -p "$(ROOTDIR)/bin/charts"
633+
@$(HELM_PACKAGE_CMD)
634+
635+
manifests: chart-operator-arm64
636+
637+
.PHONY: chart-operator-enterprise-arm64
638+
chart-operator-enterprise-arm64: export CHART_NAME := kube-arangodb-enterprise-arm64
639+
chart-operator-enterprise-arm64: helm
640+
@mkdir -p "$(ROOTDIR)/bin/charts"
641+
@$(HELM_PACKAGE_CMD)
642+
643+
manifests: chart-operator-enterprise-arm64
644+
619645
.PHONY: manifests-verify
620646
manifests-verify:
621647
$(MAKE) manifest-verify-plain-ce
@@ -870,6 +896,24 @@ CRDS:=apps-job \
870896
scheduler-profile \
871897
analytics-graphanalyticsengine
872898

899+
.PHONY: sync
900+
sync:
901+
873902
.PHONY: sync-crds
874903
sync-crds:
875904
@cp $(foreach FILE,$(CRDS),"$(ROOT)/chart/kube-arangodb/crds/$(FILE).yaml" ) "$(ROOT)/pkg/crd/crds/"
905+
906+
sync: sync-crds
907+
908+
.PHONY: sync-charts
909+
sync-charts:
910+
@(cd "$(ROOT)/chart/kube-arangodb"; find . -type d -not -name values.yaml -exec mkdir -p "$(ROOT)/chart/kube-arangodb-enterprise/{}" \;)
911+
@(cd "$(ROOT)/chart/kube-arangodb"; find . -type f -not -name values.yaml -not -name Chart.yaml -exec cp "$(ROOT)/chart/kube-arangodb/{}" "$(ROOT)/chart/kube-arangodb-enterprise/{}" \;)
912+
913+
@(cd "$(ROOT)/chart/kube-arangodb"; find . -type d -not -name values.yaml -exec mkdir -p "$(ROOT)/chart/kube-arangodb-enterprise-arm64/{}" \;)
914+
@(cd "$(ROOT)/chart/kube-arangodb"; find . -type f -not -name values.yaml -not -name Chart.yaml -exec cp "$(ROOT)/chart/kube-arangodb/{}" "$(ROOT)/chart/kube-arangodb-enterprise-arm64/{}" \;)
915+
916+
@(cd "$(ROOT)/chart/kube-arangodb"; find . -type d -not -name values.yaml -exec mkdir -p "$(ROOT)/chart/kube-arangodb-arm64/{}" \;)
917+
@(cd "$(ROOT)/chart/kube-arangodb"; find . -type f -not -name values.yaml -not -name Chart.yaml -exec cp "$(ROOT)/chart/kube-arangodb/{}" "$(ROOT)/chart/kube-arangodb-arm64/{}" \;)
918+
919+
sync: sync-charts

README.md

+37-11
Original file line numberDiff line numberDiff line change
@@ -54,17 +54,17 @@ covers individual newer features separately.
5454

5555
| Platform | Kubernetes Version | ArangoDB Version | State | Remarks | Provider Remarks |
5656
|:--------------------|:-------------------|:-----------------|:-----------|:------------------------------------------|:-----------------------------------|
57-
| Google GKE | 1.21-1.28 | >= 3.8.0 | Production | Don't use micro nodes | |
58-
| Azure AKS | 1.21-1.28 | >= 3.8.0 | Production | | |
59-
| Amazon EKS | 1.21-1.28 | >= 3.8.0 | Production | | [Amazon EKS](./docs/providers/eks) |
57+
| Google GKE | 1.25-1.30 | >= 3.8.0 | Production | Don't use micro nodes | |
58+
| Azure AKS | 1.25-1.30 | >= 3.8.0 | Production | | |
59+
| Amazon EKS | 1.25-1.30 | >= 3.8.0 | Production | | [Amazon EKS](./docs/providers/eks) |
6060
| IBM Cloud | <= 1.20 | >= 3.8.0 | Deprecated | Support will be dropped in Operator 1.5.0 | |
61-
| IBM Cloud | 1.21-1.28 | >= 3.8.0 | Production | | |
61+
| IBM Cloud | 1.25-1.30 | >= 3.8.0 | Production | | |
6262
| OpenShift | 3.11 | >= 3.8.0 | Deprecated | Support will be dropped in Operator 1.5.0 | |
6363
| OpenShift | 4.2-4.14 | >= 3.8.0 | Production | | |
6464
| BareMetal (kubeadm) | <= 1.20 | >= 3.8.0 | Deprecated | Support will be dropped in Operator 1.5.0 | |
65-
| BareMetal (kubeadm) | 1.21-1.28 | >= 3.8.0 | Production | | |
66-
| Minikube | 1.21-1.28 | >= 3.8.0 | Devel Only | | |
67-
| Other | 1.21-1.28 | >= 3.8.0 | Devel Only | | |
65+
| BareMetal (kubeadm) | 1.25-1.30 | >= 3.8.0 | Production | | |
66+
| Minikube | 1.25-1.30 | >= 3.8.0 | Devel Only | | |
67+
| Other | 1.25-1.30 | >= 3.8.0 | Devel Only | | |
6868

6969
[END_INJECT]: # (kubernetesVersionsTable)
7070

@@ -285,6 +285,32 @@ resources:
285285

286286
Only use this procedure for clean installation of the operator. For upgrades see next section
287287

288+
#### From Chart Repository
289+
290+
##### Chart Installation
291+
292+
```bash
293+
# Add helm repository
294+
helm repo add kube-arangodb https://arangodb.github.io/kube-arangodb
295+
```
296+
297+
##### Community Edition
298+
```bash
299+
# The following will install the operator and basic CRDs resources.
300+
helm install --generate-name kube-arangodb/kube-arangodb
301+
# To use `ArangoLocalStorage`, set field `operator.features.storage` to true
302+
helm install --generate-name kube-arangodb/kube-arangodb --set "operator.features.storage=true"
303+
```
304+
305+
##### Enterprise Edition
306+
```bash
307+
helm install --generate-name kube-arangodb/kube-arangodb-enterprise
308+
# To use `ArangoLocalStorage`, set field `operator.features.storage` to true
309+
helm install --generate-name kube-arangodb/kube-arangodb-enterprise --set "operator.features.storage=true"
310+
```
311+
312+
#### From Chart Release
313+
288314
##### Community Edition
289315
```bash
290316
# The following will install the operator and basic CRDs resources.
@@ -296,9 +322,9 @@ helm install --generate-name https://github.com/arangodb/kube-arangodb/releases/
296322
##### Enterprise Edition
297323
```bash
298324
# The following will install the operator and basic CRDs resources.
299-
helm install --generate-name https://github.com/arangodb/kube-arangodb/releases/download/1.2.41/kube-arangodb-1.2.41.tgz --set "operator.image=arangodb/kube-arangodb-enterprise:1.2.41"
325+
helm install --generate-name https://github.com/arangodb/kube-arangodb/releases/download/1.2.41/kube-arangodb-enterprise-1.2.41.tgz
300326
# To use `ArangoLocalStorage`, set field `operator.features.storage` to true
301-
helm install --generate-name https://github.com/arangodb/kube-arangodb/releases/download/1.2.41/kube-arangodb-1.2.41.tgz --set "operator.image=arangodb/kube-arangodb-enterprise:1.2.41" --set "operator.features.storage=true"
327+
helm install --generate-name https://github.com/arangodb/kube-arangodb/releases/download/1.2.41/kube-arangodb-enterprise-1.2.41.tgz --set "operator.features.storage=true"
302328
```
303329

304330
### Upgrading the operator using Helm
@@ -335,9 +361,9 @@ helm install --generate-name https://github.com/arangodb/kube-arangodb/releases/
335361
##### Enterprise Edition
336362
```bash
337363
# The following will install the operator and basic CRDs resources.
338-
helm install --generate-name https://github.com/arangodb/kube-arangodb/releases/download/1.2.41/kube-arangodb-1.2.41.tgz --set "operator.image=arangodb/kube-arangodb-enterprise:1.2.41"
364+
helm install --generate-name https://github.com/arangodb/kube-arangodb/releases/download/1.2.41/kube-arangodb-enterprise-1.2.41.tgz
339365
# To use `ArangoLocalStorage`, set field `operator.features.storage` to true
340-
helm install --generate-name https://github.com/arangodb/kube-arangodb/releases/download/1.2.41/kube-arangodb-1.2.41.tgz --set "operator.image=arangodb/kube-arangodb-enterprise:1.2.41" --set "operator.features.storage=true"
366+
helm install --generate-name https://github.com/arangodb/kube-arangodb/releases/download/1.2.41/kube-arangodb-enterprise-1.2.41.tgz --set "operator.features.storage=true"
341367
```
342368

343369
## Building

chart/kube-arangodb-arm64/Chart.yaml

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# do not switch to V2 yet - we still need to support Helm 2
2+
apiVersion: v1
3+
name: kube-arangodb-arm64
4+
version: 1.2.41
5+
description: "ArangoDB Kubernetes Operator with ARM64 defaults"

chart/kube-arangodb-arm64/LICENSE

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
Copyright 2016-2022 ArangoDB GmbH, Cologne, Germany
2+
3+
Licensed under the Apache License, Version 2.0 (the "License");
4+
you may not use this file except in compliance with the License.
5+
You may obtain a copy of the License at
6+
7+
http://www.apache.org/licenses/LICENSE-2.0
8+
9+
Unless required by applicable law or agreed to in writing, software
10+
distributed under the License is distributed on an "AS IS" BASIS,
11+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
See the License for the specific language governing permissions and
13+
limitations under the License.
14+
15+
Copyright holder is ArangoDB GmbH, Cologne, Germany

chart/kube-arangodb-arm64/README.md

+206
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,206 @@
1+
# Introduction
2+
3+
Kubernetes ArangoDB Operator.
4+
5+
# Chart Details
6+
7+
Chart will install fully operational ArangoDB Kubernetes Operator.
8+
9+
# Resources Required
10+
11+
In default installation deployment with 1 pod will be created. The operator pod require 256MB of ram and 250m of CPU.
12+
13+
# Installing the Chart
14+
15+
Chart can be installed in two methods:
16+
- With all Operators in single Helm Release
17+
- One Helm Release per Operator
18+
19+
Possible Operators:
20+
- `ArangoDeployment` - enabled by default
21+
- `ArangoDeploymentReplications` - enabled by default
22+
- `ArangoLocalStorage` - disabled by default
23+
- `ArangoBackup` - disabled by default
24+
- `ArangoJob` - disabled by default
25+
- `ArangoClusterSynchronization` - disabled by default
26+
27+
To install Operators in mode "One per Helm Release" we can use:
28+
29+
```
30+
helm install --name arango-deployment kube-arangodb.tar.gz \
31+
--set operator.features.deployment=true \
32+
--set operator.features.deploymentReplications=false \
33+
--set operator.features.storage=false \
34+
--set operator.features.backup=false \
35+
--set operator.features.apps=false \
36+
--set operator.features.k8sToK8sClusterSync=false
37+
```
38+
39+
40+
# Configuration
41+
42+
### `operator.image`
43+
44+
Image used for the ArangoDB Operator.
45+
46+
Default: `arangodb/kube-arangodb:latest`
47+
48+
### `operator.imagePullPolicy`
49+
50+
Image pull policy for Operator images.
51+
52+
Default: `IfNotPresent`
53+
54+
### `operator.imagePullSecrets`
55+
56+
List of the Image Pull Secrets for Operator images.
57+
58+
Default: `[]string`
59+
60+
### `operator.scope`
61+
62+
Scope on which Operator will be configured.
63+
64+
Default: `legacy`
65+
66+
Supported modes:
67+
- `legacy` - mode with limited cluster scope access
68+
- `namespaced` - mode with namespace access only
69+
70+
### `operator.service.type`
71+
72+
Type of the Operator service.
73+
74+
Default: `ClusterIP`
75+
76+
### `operator.annotations`
77+
78+
Annotations passed to the Operator Deployment definition.
79+
80+
Default: `[]string`
81+
82+
### `operator.resources.limits.cpu`
83+
84+
CPU limits for operator pods.
85+
86+
Default: `1`
87+
88+
### `operator.resources.limits.memory`
89+
90+
Memory limits for operator pods.
91+
92+
Default: `256Mi`
93+
94+
### `operator.resources.requested.cpu`
95+
96+
Requested CPI by Operator pods.
97+
98+
Default: `250m`
99+
100+
### `operator.resources.requested.memory`
101+
102+
Requested memory for operator pods.
103+
104+
Default: `256Mi`
105+
106+
### `operator.nodeSelector`
107+
108+
NodeSelector for Deployment pods.
109+
110+
Default: `{}`
111+
112+
### `operator.tolerations`
113+
114+
Tolerations for Deployment pods.
115+
116+
There is built in configuration (can not be changed):
117+
```yaml
118+
tolerations:
119+
- key: "node.kubernetes.io/unreachable"
120+
operator: "Exists"
121+
effect: "NoExecute"
122+
tolerationSeconds: 5
123+
- key: "node.kubernetes.io/not-ready"
124+
operator: "Exists"
125+
effect: "NoExecute"
126+
tolerationSeconds: 5
127+
```
128+
129+
which can be extended by additional entries e.g.:
130+
```yaml
131+
tolerations:
132+
- key: devops
133+
operator: Exists
134+
effect: NoSchedule
135+
```
136+
Default (empty): `[]`
137+
138+
### `operator.securityContext.runAsUser`
139+
140+
Controls which user ID the containers are run with.
141+
142+
Default: `1000`
143+
144+
### `operator.replicaCount`
145+
146+
Replication count for Operator deployment.
147+
148+
Default: `1`
149+
150+
### `operator.updateStrategy`
151+
152+
Update strategy for operator pod.
153+
154+
Default: `Recreate`
155+
156+
### `operator.features.deployment`
157+
158+
Define if ArangoDeployment Operator should be enabled.
159+
160+
Default: `true`
161+
162+
### `operator.features.deploymentReplications`
163+
164+
Define if ArangoDeploymentReplications Operator should be enabled.
165+
166+
Default: `true`
167+
168+
### `operator.features.storage`
169+
170+
Define if ArangoLocalStorage Operator should be enabled.
171+
172+
Default: `false`
173+
174+
### `operator.features.backup`
175+
176+
Define if ArangoBackup Operator should be enabled.
177+
178+
Default: `false`
179+
180+
### `operator.features.apps`
181+
182+
Define if ArangoJob Operator should be enabled.
183+
184+
Default: `false`
185+
186+
### `operator.features.k8sToK8sClusterSync`
187+
188+
Define if ArangoClusterSynchronization Operator should be enabled.
189+
190+
Default: `false`
191+
192+
### `rbac.enabled`
193+
194+
Define if RBAC should be enabled.
195+
196+
Default: `true`
197+
198+
### `operator.architectures`
199+
200+
List of supported architectures.
201+
202+
Default: `[]string{"amd64"}`
203+
204+
# Limitations
205+
206+
N/A

0 commit comments

Comments
 (0)