+ After removing the LINSTOR Operator v1 deployment, you can install + LINSTOR Operator v2. +
+ +
+ You can deploy the LINSTOR Operator v2 by using either the
+ Kustomize tool,
+ integrated with kubectl
, or else by using Helm and a LINBIT Helm chart.
+
This is the last step when migrating the LINSTOR Operator from version 1 (v1) to version 2 (v2).
+ +Prerequisites
++ To install the LINSTOR Operator v2 into your current deployment, you will need to install the following + tools: +
+ + + +Deploying LINSTOR Operator v2 by Using Kustomize
+
+ You can use kubectl
and the built-in kustomize
feature to deploy LINSTOR Operator
+ v2.
+ For instructions on how to do this, refer to the documentation in the + LINSTOR User’s Guide. + Follow the user’s guide instructions for deploying the Operator v2, After deploying the Operator, return to + this page (Step 4) and continue to the “Deploying the LINBIT SDS Cluster” instructions below. +
+ +Deploying LINSTOR Operator v2 by Using Helm
+You can also use Helm to deploy LINSTOR Operator v2.
+ ++ Instructions on how to do this are also in the + LINSTOR User’s Guide. + Follow the user’s guide instructions for deploying the Operator v2, After deploying the Operator, return to + this page (Step 4) and continue to the “Deploying the LINBIT SDS Cluster” instructions below. +
+ +Deploying the LINBIT SDS Cluster
++ LINBIT SDS is the term that describes a LINSTOR and DRBD deployment. The LINSTOR + Operator is a part of a LINBIT SDS deployment in Kubernetes. After deploying the + LINSTOR Operator v2, you can fully deploy LINBIT SDS in your Kubernetes cluster by using the resources that + you generated in Step 2. +
+ +Creating a Secret
++ When installing the LINSTOR Operator v1 by using Helm, Helm automatically generates a passphrase for LINSTOR. + After Helm initializes LINSTOR with the passphrase, the LINSTOR controller will not be able to fully start + without supplying the passphrase. In Step 2 of the migration + instructions, you collected the passphrase from your existing Operator v1 deployment. You will use that + passphrase to create a secret that you can use to migrate your resources into the Operator v2 deployment. +
+To create the secret, enter the following commands:
+PASSPHRASE=<passphrase-collected-from-kubectl-get-secrets-command-in-step-2>
+cat << EOF | kubectl apply -f - --server-side
apiVersion: v1
kind: Secret
metadata:
@@ -34,36 +102,48 @@ Creating a Secret
data:
MASTER_PASSPHRASE: $PASSPHRASE
EOF
-# unset PASSPHRASE
-Output from a successful kubectl apply
command will show that the secret was
-applied.
secret/linstor-op-passphrase serverside-applied
-Applying Resources
-Next, apply the resources that you collected in a v2-resources.yaml
file by
-running the collection script in the Step
-2 instructions.
# kubectl apply -f v2-resources.yaml --server-side
---💡 TIP: In Step -2, you ran -the information collection script from the
-piraeus-operator
directory that -you cloned locally from the upstream GitHub project. Unless you moved it, this -is the directory where you can find the script-generatedv2-resources.yaml
-file.
Output from a successful command will show that your resources were created.
-linstorcluster.piraeus.io/linstorcluster serverside-applied
+unset PASSPHRASE
+
+ Output from a successful kubectl apply
command will show that the secret was applied.
secret/linstor-op-passphrase serverside-applied
+
+ Applying Resources
+
+ Next, apply the resources that you collected in a v2-resources.yaml
file by running the
+ collection script in the Step 2
+ instructions.
+
kubectl apply -f v2-resources.yaml --server-side
+
+ Output from a successful command will show that your resources were created.
+ +linstorcluster.piraeus.io/linstorcluster serverside-applied
linstorsatelliteconfiguration.piraeus.io/host-networking serverside-applied
linstorsatelliteconfiguration.piraeus.io/linstor-op-ns serverside-applied
-Now the cluster will come up, using the existing data to restore the cluster state.
-Verifying Cluster State
-Before verifying your cluster state, you can change your kubectl
command
-context to the linbit-sds
namespace, by entering the following command:
# kubectl config set-context --current --namespace=linbit-sds
-Next, you can check the cluster state by using various linstor
command line client commands:
# kubectl exec deploy/linstor-controller -- linstor node list
-# kubectl exec deploy/linstor-controller -- linstor storage-pool list
-# kubectl exec deploy/linstor-controller -- linstor resource list-volumes
-# kubectl exec deploy/linstor-controller -- linstor error-reports list
-You can also provision new -volumes, to verify that the cluster is operational.
+ +Now the cluster will come up, using the existing data to restore the cluster state.
+ +Verifying Cluster State
+
+ Before verifying your cluster state, you can change your kubectl
command context to the
+ linbit-sds
namespace, by entering the following command:
+
kubectl config set-context --current --namespace=linbit-sds
+
+ Next, you can check the cluster state by using various linstor
command line client commands:
kubectl exec deploy/linstor-controller -- linstor node list
+kubectl exec deploy/linstor-controller -- linstor storage-pool list
+kubectl exec deploy/linstor-controller -- linstor resource list-volumes
+kubectl exec deploy/linstor-controller -- linstor error-reports list
+
+ + You can also + provision new volumes, + to verify that the cluster is operational. +
+