Hey all.
I'm having a little bit of a hard time understanding how to upgrade my eck operator and elastic stack version.
Currently I'm on eck 1.0.0-beta1 which is compatible with the latest operator as per this guide Upgrade ECK | Elastic Cloud on Kubernetes [1.9] | Elastic
I want to upgrade both my eck operator to the latest and my Elasticsearch version from 7.4.0 to 7.10.2 and afterwards maybe to another version.
As far as I understood from the documentation, in order to upgrade to eck 1.9.1, there is nothing in particular I must do except replacing current CRDs as they were changed in v 1.7.0 and then re-creating them. Everything else should be smooth.
I don't have the initial manifests/deployments with which I've created the stack so my only option is to directly edit Elasticsearch.
Is it safe to edit Elasticsearch with kubectl edit Elasticsearch and then replacing the version of elastic stack (e.g.: Version: 7.4.0 with Version: 7.10.2) with whichever version I want? Below is my current Elasticsearch config, as seen when issuing kubectl describe Elasticsearch.
Name: my-elastic-cluster
Namespace: default
Labels: <none>
Annotations: common.k8s.elastic.co/controller-version: 1.0.0-beta1
elasticsearch.k8s.elastic.co/cluster-uuid: WTVBPq84SUicvKt-99NKQw
API Version: elasticsearch.k8s.elastic.co/v1beta1
Kind: Elasticsearch
Metadata:
Creation Timestamp: 2019-10-25T08:44:03Z
Finalizers:
finalizer.elasticsearch.k8s.elastic.co/observer
finalizer.elasticsearch.k8s.elastic.co/secure-settings-secret
finalizer.elasticsearch.k8s.elastic.co/http-certificates-secret
Generation: 27
Resource Version: 347957923
Self Link: /apis/elasticsearch.k8s.elastic.co/v1beta1/namespaces/default/elasticsearches/my-elastic-cluster
UID: 98f623e5-f703-11e9-903e-4d01210a8401ff
Spec:
Http:
Service:
Metadata:
Creation Timestamp: <nil>
Spec:
Ports:
Node Port: 32280
Port: 9200
Protocol: TCP
Target Port: 9200
Type: LoadBalancer
Tls:
Certificate:
Node Sets:
Config:
node.data: false
node.ingest: false
node.master: true
node.ml: false
node.store.allow_mmap: false
xpack.security.authc.realms:
Native:
native1:
Order: 1
Count: 3
Name: node-master
Pod Template:
Metadata:
Labels:
Es: master-node
Spec:
Containers:
Env:
Name: ES_JAVA_OPTS
Value: -Xms2g -Xmx2g
Name: elasticsearch
Resources:
Limits:
Cpu: 1
Memory: 4Gi
Init Containers:
Command:
sh
-c
bin/elasticsearch-plugin install --batch repository-gcs
Name: install-plugins
Resources:
Volume Claim Templates:
Metadata:
Name: elasticsearch-data
Spec:
Access Modes:
ReadWriteOnce
Resources:
Requests:
Storage: 10Gi
Storage Class Name: ssd
Status:
Config:
node.data: true
node.ingest: true
node.master: false
node.ml: true
node.store.allow_mmap: false
xpack.security.authc.realms:
Native:
native1:
Order: 1
Count: 5
Name: node-data
Pod Template:
Metadata:
Labels:
Es: data-node
Spec:
Containers:
Env:
Name: ES_JAVA_OPTS
Value: -Xms3g -Xmx3g
Name: elasticsearch
Resources:
Limits:
Cpu: 2
Memory: 6Gi
Init Containers:
Command:
sh
-c
bin/elasticsearch-plugin install --batch repository-gcs
Name: install-plugins
Resources:
Volume Claim Templates:
Metadata:
Name: elasticsearch-data
Spec:
Access Modes:
ReadWriteOnce
Resources:
Requests:
Storage: 100Gi
Storage Class Name: ssd
Status:
Secure Settings:
Secret Name: gcs-credentials
Update Strategy:
Change Budget:
Version: 7.4.0
Status:
Available Nodes: 8
Health: green
Phase: Ready
Events: <none>
Also, what's the order in which I must make the upgrade, first the operator then elastic stack version or first elastic stack version and then the operator?
Any help is greatly appreciated!
Cheers,
Radu