Installation of Portworx with Pure Cloud Block Store on AKS using Portworx Central
After preparing your environment, deploy the Portworx Operator first, followed by the Portworx StorageCluster. The Portworx Operator automates the deployment, configuration, upgrades, and integration of Portworx with your Kubernetes cluster.
The following collection of tasks describe how to install Portworx with Pure Cloud Block Store:
Complete all the tasks to install Portworx.
Prerequisites
- Ensure that system requirements are met.
- Ensure your Kubernetes cluster is configured to use Pure Cloud Block Store (CBS). For more information, see Prepare FlashBlade Environment for Installation of Portworx with Pure Cloud Block Store on AKS
Generate Portworx Specification
- Sign in to the Portworx Central console.
The system displays the Welcome to Portworx Central! page. - In the Portworx Enterprise section, select Generate Cluster Spec.
The system displays the Generate Spec page. - From the Portworx Version dropdown menu, select the Portworx version to install.
- From the Platform dropdown menu, select Pure FlashArray.
- From the Distribution Name dropdown menu, select a Kubernetes distribution.
- (Optional) To customize the configuration options and generate a custom specification with multi-tenancy, click Customize and perform the following steps:
To continue without customizing the default configuration, proceed to Step 7.
- Basic tab (etcd cluster details):
- Select Your etcd details to use an existing etcd cluster and enter the host name or IP and port number.
- Select one of the following authentication methods:
- Disable HTTPS – Use HTTP for etcd communication.
- Certificate Auth – Use HTTPS with an SSL certificate.
For more information, see Secure your etcd communication. - Password Auth – Use HTTPS with username and password authentication.
- Select one of the following authentication methods:
- Select Built-in to use an internal Portworx-managed key-value store (kvdb).
- Select the Enable TLS for internal kvdb checkbox to enable TLS encrypted communication among KVDB nodes and between Portworx nodes and the KVDB cluster.
- Select the Deploy Cert-Manager for TLS certificates checkbox if your cluster does not already have cert-manager.
- Select Next.
- Select Your etcd details to use an existing etcd cluster and enter the host name or IP and port number.
- Storage tab (storage and multitenancy configuration):
- Select type of drive as Create Using a Spec to create Pure CBS managed disks using the following spec.
- Select backend store based on your infrastructure as PX-StoreV1 or PX-StoreV2.
- From the Select type of storage area network dropdown, choose one of the following:
- iSCSI(Default)
- NVMe-oF RDMA
- NVMe-oF TCP
- Fibre Channel.
Using the above SAN type, the volumes from CBS will be connected to the Portworx nodes.
- Enter the size of the pool drive(s) in GB.
- Select Default IO Profile for Portworx volumes.
- Under Journal Device, select one of the following:
- None – Use the default journaling setting.
- Auto – Automatically allocate journal devices.
- Custom – Manually enter a journal device path.
Enter the path of the journal device in the Journal Device Path field.
- Select Next.
- Select type of drive as Create Using a Spec to create Pure CBS managed disks using the following spec.
- Network tab (network settings):
- Enter the Data Network Interface used by Portworx nodes for exchanging data. This setting does not apply to CBS connections.
- Enter the Management Network Interface to be used for management traffic.
- Enter the Starting port for Portworx services.
- Select Next.
- Customize tab (advanced settings):
- Choose None in the Customize section.
- (Optional) In Environment Variables, if you are using multiple NICs for iSCSI host, then add the following environment variable to your StorageCluster spec. Replace
<nic-interface-names>with comma-separated names of NICs such as"eth1,eth2":env:
- name: PURE_ISCSI_ALLOWED_IFACES
value: "<nic-interface-names>"
noteIf you have multiple NICs on your virtual machine, then CBS does not distinguish the NICs that include iSCSI and the others without iSCSI. This list must be provided, otherwise Portworx may potentially use only one of the provided interfaces.
- In Registry and Image Settings:
- Enter the Custom Container Registry Location to download the Docker images.
- Enter the Kubernetes Docker Registry Secret that serves as the authentication to access the custom container registry.
- From the Image Pull Policy dropdown menu, select Default, Always, IfNotPresent, or Never.
This policy influences how images are managed on the node and when updates are applied.
- In Security Settings, select the Enable Authorization checkbox to enable Role-Based Access Control (RBAC) and secure access to storage resources in your cluster.
- In Advanced Settings:
- Select the Enable Stork checkbox to enable Stork.
- Select the Enable CSI checkbox to enable CSI.
- Select the Enable Monitoring checkbox to enable monitoring for user-defined projects before installing Portworx Operator.
- Select the Enable Telemetry checkbox to enable telemetry in the StorageCluster spec.
For more information, see Enable Pure1 integration for upgrades on bare metal. - Enter the prefix for the Portworx cluster name in the Cluster Name Prefix field.
- Select the Secrets Store Type from the dropdown menu to store and manage secure information for features such as CloudSnaps and Encryption.
- Click Finish.
- In the summary page, enter a name for the specficiation in the Spec Name field, and tags in the Spec Tags field.
- Click Download .yaml to download the yaml file with the customized specification or Save Spec to save the specification.
- Click Save & Download to generate the specification.
You can either copy the kubectl apply command from the Central UI and apply it to your Kubernetes cluster, or download the YAML file and apply it using the file name.
(Optional) Customize Portworx system volumes for secure multi-tenancy
If you're deploying Portworx with Pure FlashArray and the Secure Multi-Tenancy (SMT) feature, you can assign either the same pod that is used for deviceSpecs or assign each system volume to a different FlashArray pod within the same realm, based on your requirements.
To place system volumes, such as journal, key-value database (KVDB), and system metadata, in specific FlashArray pods, customize the cloudStorage section in your StorageCluster specification:
cloudStorage:
deviceSpecs:
- size=2000,pod=<fa-pod-name> # volume for storage pool
journalDeviceSpec: size=3,pod=<fa-pod-name> # Journal volume
kvdbDeviceSpec: size=32,pod=<fa-pod-name> # Internal KVDB volume
systemMetadataDeviceSpec: size=32,pod=<fa-pod-name> # System metadata volume
For more information about cloudStorage fields, see Cloud storage configuration.
Apply Portworx Specification
Apply the Operator and StorageCluster specs you generated in the section above using the oc apply command:
- If you have downloaded and modified the specification, use that in the
kubectl applycommand below, instead of the specification URL generated from Portworx Central.
- OpenShift Container Platform
- Other Kubernetes platforms
-
From the OpenShift UI, go to OperatorHub, search for Portworx Enterprise, and click Install to deploy the Portworx Operator in a desired namespace.
-
Deploy the StorageCluster:
oc apply -f '<url-generated-from-portworx-central-spec-gen>'storagecluster.core.libopenstorage.org/px-cluster-xxxxxxxx-xxxx-xxxx-xxxx-5db83030471e created
-
Deploy the Operator:
kubectl apply -f '<url-generated-from-portworx-central-spec-gen>'serviceaccount/portworx-operator created
podsecuritypolicy.policy/px-operator created
clusterrole.rbac.authorization.k8s.io/portworx-operator created
clusterrolebinding.rbac.authorization.k8s.io/portworx-operator created
deployment.apps/portworx-operator created -
Deploy the StorageCluster:
kubectl apply -f '<url-generated-from-portworx-central-spec-gen>'storagecluster.core.libopenstorage.org/px-cluster-xxxxxxxx-xxxx-xxxx-xxxx-5db83030471e created
Once deployed, Portworx detects that the Pure CBS secret is present when it starts up and can use the specified CBS as a storage provider.
What to do next
Create a PVC. For more information, see Create your first PVC.