<div dir="ltr">Dear LINBIT SDS on Kubernetes users,<br><br>We&#39;ve recently released the first stable version 2.0.1 of our next-generation Kubernetes Operator.<br><br>This new version of the Operator represents a complete rewrite, taking into account all the common issues encountered with our existing Operator offering. The new Operator is much easier to set up and maintain, while allowing a greater degree of customization for those that require it.<br><br>To give you an overview over the most important new features:<br><br>* The LINSTOR Satellites are now running in the normal Kubernetes Pod network instead of the host network. This makes it possible to use all the Kubernetes tools such as NetworkPolicies to control DRBD replication traffic. This feature is made possible by using the new network namespace support in DRBD 9.2.<br><br>* The default mode for when DRBD can&#39;t access data is now &quot;suspend-io&quot;. This ensures that your volumes won&#39;t suddenly switch to read-only mode. To ensure that your cluster continues to run in the event of actual long-lasting networking issues, we&#39;ve included our HA Controller as well as a new DRBD Shutdown Guard. The last component ensures that your node can cleanly shut down even if it has suspended DRBD volumes.<br><br>* The Operator now intelligently selects which DRBD loader image to use, so for many clusters, you won&#39;t need to make any specific changes to the default deployment instructions.<br><br>* The Operator has a built-in way to deal with non-uniform storage layouts: If you have some nodes with storage and some nodes as dedicated worker nodes without their own storage, this is now much easier to set up than in previous versions.<br><br>* The Operator accepts a list of &quot;patches&quot; to all resources it controls. This makes it possible to make required changes to the controlled resources without having to rely on the Operator itself to expose it directly.<br><br>To deploy the Operator, we&#39;ve chosen to switch to using &quot;kustomize&quot;, which is integrated with the normal kubectl command. In contrast to helm, you can make changes to the deployment without having to learn hundreds of template options. To deploy the new Operator on a new cluster, you can simply follow these steps:<br><br>1. Create a &quot;kustomization.yaml&quot; file with the following content, replacing &quot;MY_LINBIT_USER&quot; and &quot;MY_LINBIT_PASSWORD&quot; with your credentials. This kustomization file will deploy the LINSTOR Operator in the &quot;linbit-sds&quot; namespace:<br><br>---<br>apiVersion: <a href="http://kustomize.config.k8s.io/v1beta1">kustomize.config.k8s.io/v1beta1</a><br>kind: Kustomization<br>namespace: linbit-sds<br>resources:<br>  - <a href="https://github.com/LINBIT/linstor-operator-builder//deploy/default?ref=v2.0.1">https://github.com/LINBIT/linstor-operator-builder//deploy/default?ref=v2.0.1</a><br>generatorOptions:<br>  disableNameSuffixHash: true<br>secretGenerator:<br>  - name: drbdio-pull-secret<br>    type: <a href="http://kubernetes.io/dockerconfigjson">kubernetes.io/dockerconfigjson</a><br>    literals:<br>      - .dockerconfigjson={&quot;auths&quot;:{&quot;<a href="http://drbd.io">drbd.io</a>&quot;:{&quot;username&quot;:&quot;MY_LINBIT_USER&quot;,&quot;password&quot;:&quot;MY_LINBIT_PASSWORD&quot;}}}<br>---<br><br>2. Apply the kustomization using &quot;kubectl apply -k .&quot;<br><br>3. Create a &quot;linbit-sds.yaml&quot; file with the necessary resources for LINSTOR Operator. This example will create a cluster and configure a simple file based storage pool on all nodes to get you started:<br><br>---<br>apiVersion: <a href="http://piraeus.io/v1">piraeus.io/v1</a><br>kind: LinstorCluster<br>metadata:<br>  name: linstorcluster<br>spec: {}<br>---<br>apiVersion: <a href="http://piraeus.io/v1">piraeus.io/v1</a><br>kind: LinstorSatelliteConfiguration<br>metadata:<br>  name: storage-pool<br>spec:<br>  storagePools:<br>    - name: pool1<br>      fileThinPool:<br>        directory: /var/lib/linbit-sds/pool1<br>---<br><br>4. Apply the resources by running &quot;kubectl apply -f linbit-sds.yaml&quot;.<br><br>After step 4 you will have a working LINBIT SDS for Kubernetes set up, configured with storage pools ready for testing. For a more in-depth guide and the next steps, you can check out our Users Guide[1] and the available tutorials and how-to guides upstream[2].<br><br>A note for users of Operator v1: We will maintain the existing Operator v1 with bug fixes and new software versions until the end of 2023. We will provide a dedicated upgrade path to Operator v2. We recommend all v1 installations to continue to use v1. For all new clusters we recommend using v2.<br><br>Best regards,<br>Moritz<br><br>[1]: <a href="https://linbit.com/drbd-user-guide/linstor-guide-1_0-en/#ch-kubernetes">https://linbit.com/drbd-user-guide/linstor-guide-1_0-en/#ch-kubernetes</a><br>[2]: <a href="https://github.com/piraeusdatastore/piraeus-operator/tree/v2/docs/">https://github.com/piraeusdatastore/piraeus-operator/tree/v2/docs/</a></div>