2. Deploy Portworx on AKS


Create a secret to give Portworx access to Azure APIs

Update <AZURE_TENANT_ID>, <AZURE_CLIENT_ID> and <AZURE_CLIENT_SECRET> in below command and create a secret called px-azure.

kubectl create secret generic -n kube-system px-azure --from-literal=AZURE_TENANT_ID=<AZURE_TENANT_ID> \
                                                      --from-literal=AZURE_CLIENT_ID=<AZURE_CLIENT_ID> \
secret/px-azure created

When you generate the spec in the next step, the Portworx pod will fetch the Azure environment variables from this secret.

Generate the specs

To install Portworx with Kubernetes, you must first generate Kubernetes manifests that you will deploy in your cluster:

  1. Navigate to PX-Central and log in, or create an account
  2. Select Install and Run to open the Spec Generator

    Screenshot showing install and run

  3. Select New Spec

    Screenshot showing new spec button

Portworx can also be installed using it’s Helm chart by following instructions here. The above method is recommended over helm as the wizard will guide you based on your environment.

NOTE: To deploy Portworx to an Azure Sovereign cloud, you must go to the Customize page and set the value of the AZURE_ENVIRONMENT variable. The following example screenshot shows how you can deploy Portworx to the Azure US Government cloud:

Screenshot showing the AZURE_ENVIRONMENT variable

Apply the specs

Apply the generated specs to your cluster.

kubectl apply -f px-spec.yaml
Monitor the portworx pods

Wait till all Portworx pods show as ready in the below output:

kubectl get pods -o wide -n kube-system -l name=portworx
Monitor Portworx cluster status
PX_POD=$(kubectl get pods -l name=portworx -n kube-system -o jsonpath='{.items[0].metadata.name}')
kubectl exec $PX_POD -n kube-system -- /opt/pwx/bin/pxctl status


Once you have a running Portworx installation, below sections are useful.

Last edited: Tuesday, Jun 2, 2020