[bitnami/cassandra] MAJOR - Upgrade Cassandra to 4.0 (#7164)

* Adapt Chart to Cassandra 4.0

Signed-off-by: Jose Antonio Carmona <jcarmona@vmware.com>

* Fix README

* Add blank line at end of Chart.yaml

* [bitnami/cassandra] Update components versions

Signed-off-by: Bitnami Containers <containers@bitnami.com>

* Bump chart patch version

* [bitnami/cassandra] Update components versions

Signed-off-by: Bitnami Containers <containers@bitnami.com>

Co-authored-by: Carlos Rodríguez Hernández <carlosrh@vmware.com>
Co-authored-by: Francisco de Paz Galán <fdepaz@vmware.com>
Co-authored-by: Bitnami Containers <containers@bitnami.com>
This commit is contained in:
Jose Antonio Carmona
2021-08-11 11:58:40 +02:00
committed by GitHub
parent 86b94d8a59
commit 9bcfbcb949
8 changed files with 16 additions and 44 deletions

View File

@@ -23,4 +23,4 @@ name: cassandra
sources:
- https://github.com/bitnami/bitnami-docker-cassandra
- http://cassandra.apache.org
version: 8.0.0
version: 8.0.1

View File

@@ -92,7 +92,6 @@ The command removes all the Kubernetes components associated with the chart and
| `cluster.numTokens` | Number of tokens for each node | `256` |
| `cluster.datacenter` | Datacenter name | `dc1` |
| `cluster.rack` | Rack name | `rack1` |
| `cluster.enableRPC` | Enable Thrift RPC endpoint | `true` |
| `cluster.endpointSnitch` | Endpoint Snitch | `SimpleSnitch` |
| `cluster.internodeEncryption` | DEPRECATED: use tls.internode and tls.client instead. Encryption values. | `none` |
| `cluster.clientEncryption` | Client Encryption | `false` |
@@ -160,7 +159,6 @@ The command removes all the Kubernetes components associated with the chart and
| `containerPorts.tls` | TLS Port on the Host and Container | `7001` |
| `containerPorts.jmx` | JMX Port on the Host and Container | `7199` |
| `containerPorts.cql` | CQL Port on the Host and Container | `9042` |
| `containerPorts.thrift` | Thrift Port on the Host and Container | `9160` |
### RBAC parameters
@@ -178,10 +176,8 @@ The command removes all the Kubernetes components associated with the chart and
| ----------------------------- | --------------------------------------------------------- | ----------- |
| `service.type` | Cassandra service type | `ClusterIP` |
| `service.port` | Cassandra service CQL Port | `9042` |
| `service.thriftPort` | Cassandra service Thrift Port | `9160` |
| `service.metricsPort` | Cassandra service metrics port | `8080` |
| `service.nodePorts.cql` | Node port for CQL | `""` |
| `service.nodePorts.thrift` | Node port for Thrift | `""` |
| `service.nodePorts.metrics` | Node port for metrics | `""` |
| `service.loadBalancerIP` | LoadBalancerIP if service type is `LoadBalancer` | `""` |
| `service.annotations` | Provide any additional annotations which may be required. | `{}` |
@@ -345,6 +341,17 @@ $ helm upgrade my-release bitnami/cassandra --set dbUser.password=[PASSWORD]
| Note: you need to substitute the placeholder _[PASSWORD]_ with the value obtained in the installation notes.
### To 8.0.0
Cassandra's version was bumped to `4.0`, [the new major](https://cassandra.apache.org/_/blog/Apache-Cassandra-4.0-is-Here.html) considered LTS. Among other features, this release removes support for [Thrift](https://issues.apache.org/jira/browse/CASSANDRA-11115), which means that the following properties of the chart will no longer be available:
- `cluster.enableRPC`
- `service.thriftPort`
- `service.nodePorts.thrift`
- `containerPorts.thrift`
For this version, there have been [intensive efforts](https://cwiki.apache.org/confluence/display/CASSANDRA/4.0+Quality%3A+Components+and+Test+Plans) from Apache to ensure that a safe cluster upgrade can be performed. Nevertheless, a backup creation prior to undergoing the upgrade process is recommended. Please, refer to the [official guide](https://cassandra.apache.org/doc/latest/operating/backups.html#snapshots) for further information.
### To 7.0.0
[On November 13, 2020, Helm v2 support was formally finished](https://github.com/helm/charts#status-of-the-project), this major version is the result of the required changes applied to the Helm Chart to be able to incorporate the different features added in Helm v3 and to be consistent with the Helm project itself regarding the Helm v2 EOL.

View File

@@ -26,7 +26,6 @@ In order to replicate the container startup scripts execute this command:
Cassandra can be accessed through the following URLs from within the cluster:
- CQL: {{ include "common.names.fullname" . }}.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }}:{{ .Values.service.port }}
- Thrift: {{ include "common.names.fullname" . }}.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }}:{{ .Values.service.thriftPort }}
To get your password run:

View File

@@ -32,9 +32,4 @@ spec:
- name: cql
port: {{ .Values.service.port }}
targetPort: cql
{{- if .Values.cluster.enableRPC }}
- name: thrift
port: {{ .Values.service.thriftPort }}
targetPort: thrift
{{- end }}
selector: {{- include "common.labels.matchLabels" . | nindent 4 }}

View File

@@ -16,10 +16,9 @@ spec:
matchLabels: {{- include "common.labels.matchLabels" . | nindent 6 }}
ingress:
# Allow inbound connections
# CQL and Thrift ports
# CQL port
- ports:
- port: {{ .Values.service.port }}
- port: {{ .Values.service.thriftPort }}
from:
{{- if not .Values.networkPolicy.allowExternal }}
- podSelector:

View File

@@ -30,16 +30,6 @@ spec:
{{- else if eq .Values.service.type "ClusterIP" }}
nodePort: null
{{- end }}
{{- if .Values.cluster.enableRPC }}
- name: thrift
port: {{ .Values.service.thriftPort }}
targetPort: thrift
{{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePorts.thrift)) }}
nodePort: {{ .Values.service.nodePorts.thrift }}
{{- else if eq .Values.service.type "ClusterIP" }}
nodePort: null
{{- end }}
{{- end }}
- name: metrics
port: {{ .Values.service.metricsPort }}
{{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePorts.metrics)) }}

View File

@@ -307,8 +307,6 @@ spec:
- name: JVM_EXTRA_OPTS
value: {{ .Values.jvm.extraOpts | quote }}
{{- end }}
- name: CASSANDRA_ENABLE_RPC
value: {{ .Values.cluster.enableRPC | quote }}
{{- if .Values.cluster.enableUDF }}
- name: CASSANDRA_ENABLE_USER_DEFINED_FUNCTIONS
value: {{ .Values.cluster.enableUDF | quote }}
@@ -405,13 +403,6 @@ spec:
{{- if .Values.hostNetwork }}
hostPort: {{ .Values.containerPorts.cql }}
{{- end }}
{{- if .Values.cluster.enableRPC }}
- name: thrift
containerPort: {{ .Values.containerPorts.thrift | default "9160" }}
{{- if .Values.hostNetwork }}
hostPort: {{ .Values.containerPorts.thrift }}
{{- end }}
{{- end }}
{{- if .Values.resources }}
resources: {{ toYaml .Values.resources | nindent 12 }}
{{- end }}

View File

@@ -66,7 +66,7 @@ diagnosticMode:
image:
registry: docker.io
repository: bitnami/cassandra
tag: 4.0.0-debian-10-r0
tag: 4.0.0-debian-10-r2
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
@@ -127,7 +127,6 @@ existingConfiguration: ""
## @param cluster.numTokens Number of tokens for each node
## @param cluster.datacenter Datacenter name
## @param cluster.rack Rack name
## @param cluster.enableRPC Enable Thrift RPC endpoint
## @param cluster.endpointSnitch Endpoint Snitch
## @param cluster.internodeEncryption DEPRECATED: use tls.internode and tls.client instead. Encryption values.
## @param cluster.clientEncryption Client Encryption
@@ -139,7 +138,6 @@ cluster:
numTokens: 256
datacenter: dc1
rack: rack1
enableRPC: true
endpointSnitch: SimpleSnitch
## NOTE: internodeEncryption requires tlsEncryptionSecretName
##
@@ -374,14 +372,12 @@ hostNetwork: false
## @param containerPorts.tls TLS Port on the Host and Container
## @param containerPorts.jmx JMX Port on the Host and Container
## @param containerPorts.cql CQL Port on the Host and Container
## @param containerPorts.thrift Thrift Port on the Host and Container
##
containerPorts:
intra: 7000
tls: 7001
jmx: 7199
cql: 9042
thrift: 9160
## @section RBAC parameters
@@ -411,21 +407,16 @@ service:
## @param service.port Cassandra service CQL Port
##
port: 9042
## @param service.thriftPort Cassandra service Thrift Port
##
thriftPort: 9160
## @param service.metricsPort Cassandra service metrics port
##
metricsPort: 8080
## Node ports to expose
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
## @param service.nodePorts.cql Node port for CQL
## @param service.nodePorts.thrift Node port for Thrift
## @param service.nodePorts.metrics Node port for metrics
##
nodePorts:
cql: ""
thrift: ""
metrics: ""
## @param service.loadBalancerIP LoadBalancerIP if service type is `LoadBalancer`
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
@@ -515,7 +506,7 @@ volumePermissions:
image:
registry: docker.io
repository: bitnami/bitnami-shell
tag: 10-debian-10-r157
tag: 10-debian-10-r158
pullPolicy: Always
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
@@ -579,7 +570,7 @@ metrics:
registry: docker.io
pullPolicy: IfNotPresent
repository: bitnami/cassandra-exporter
tag: 2.3.4-debian-10-r482
tag: 2.3.4-debian-10-r483
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/