Upgrading Hydrolix
How to update Hydrolix on Kubernetes
Prerequisite
To upgrade (or downgrade) an existing cluster you will need the following
- kubectl & config credentials to the cluster
- python3 (v3.7+)
Setting environment variables
The hkt CLI uses environment variables (or cli flags) to customize your operator.yaml
file for deployment. Depending on the cloud provider, you will need either GKE or EKS variable set.
First, download the target hkt
version and move it into your /bin
directory
export HKT_VERSION=<i.e. v3.20.1>
export HDX_KUBERNETES_NAMESPACE=<i.e. production-service>
# download the specified hkt version
curl -s -o hkt https://hdx-infrastructure.s3.amazonaws.com/hkt/hkt-${HKT_VERSION} && chmod +x hkt
# check the version is correct
./hkt version
# move it to a /bin directory
sudo mv hkt /usr/local/bin/
EKS deployments
export AWS_ACCOUNT_ID="$(aws sts get-caller-identity --query "Account" --output text)"
export AWS_STORAGE_ROLE="arn:aws:iam::${AWS_ACCOUNT_ID}:role/${HDX_KUBERNETES_NAMESPACE}-bucket
GKE deployments
export PROJECT_ID=<i.e. prod-12345>
export GCP_STORAGE_SA=hdx-${HDX_KUBERNETES_NAMESPACE}[email protected]${PROJECT_ID}.iam.gserviceaccount.com
Update the Operator
hkt operator-resources > operator.yaml
Node Targeting
Note if you are using
node targeting
you should use the hkt operator-resources command with the-c
option with the name of your configuration file so all the correct flags are added to the operator.For example:
hkt operator-resources -c hydrolixcluster.yaml > operator.yaml
Apply the yaml file to your cluster.
kubectl apply -f operator.yaml
The update should then be complete once the rolling restart of the affected components has occurred.
Rollback
Rolling back is the same exact process, just specify the version you want to rollback to in your
HKT_VERSION
variable
Updated 24 days ago