Install Portworx on Mirantis Kubernetes Engine
For deploying Portworx on Kubernetes cluster managed by Mirantis Kubernetes Engine (MKE) environment, you should have provisioned virtual machines. Use the provisioned VMs as nodes to create a Kubernetes cluster managed by MKE.
Once your environment is configured, follow the instructions on this page to install Portworx on Kubernetes clusters managed by MKE.
Prerequisites
- You must have a Kubernetes cluster managed by MKE deployed on infrastructure that meets the minimum requirements for Portworx.
- You must have dedicated disk for internal kvdb.
- The KVDB device given above needs to be present only on 3 of your nodes and it should have a unique device name across all the KVDB nodes.
Install Portworx
For deploying Portworx, generate a Portworx StorageCluster spec and apply it in your environment.
Generate specs
To install Portworx with Kubernetes, you must first generate Kubernetes manifests that you will deploy in your cluster:
-
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.
-
For Platform, select DAS/SAN, Pure FlashArray, or vSphere. Select None for Distribution Name, then click Save Spec to generate the specs.
- For DAS/SAN, you must have pre-provisioned disks.
- For Pure FlashArray or vSphere, you can specify the disk while generating the Portworx spec. Once you apply the Portworx StorageCluster spec, these disks will be created in your environment.
Apply specs
Apply the Operator and StorageCluster specs you generated in the section above using the kubectl apply
command:
-
Deploy the Operator:
kubectl apply -f 'https://install.portworx.com/<version-number>?comp=pxoperator'
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 'https://install.portworx.com/<version-number>?operator=true&mc=false&kbver=&b=true&c=px-cluster-xxxxxxxx-xxxx-xxxx-xxxx-8dfd338e915b&stork=true&csi=true&mon=true&tel=false&st=k8s&promop=true'
storagecluster.core.libopenstorage.org/px-cluster-xxxxxxxx-xxxx-xxxx-xxxx-8dfd338e915b created
Monitor Portworx nodes
-
Enter the following
kubectl get
command and wait until all Portworx nodes show asReady
orOnline
in the output:kubectl -n <px-namespace> get storagenodes -l name=portworx
NAME ID STATUS VERSION AGE
username-k8s1-node0 xxxxxxxx-xxxx-xxxx-xxxx-43cf085e764e Online 2.11.1-3a5f406 4m52s
username-k8s1-node1 xxxxxxxx-xxxx-xxxx-xxxx-4597de6fdd32 Online 2.11.1-3a5f406 4m52s
username-k8s1-node2 xxxxxxxx-xxxx-xxxx-xxxx-e2169ffa111c Online 2.11.1-3a5f406 4m52s -
Enter the following
kubectl describe
command with theNAME
of one of the Portworx nodes you retrieved above to show the current installation status for individual nodes:kubectl -n <px-namespace> describe storagenode <portworx-node-name>
...
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal PortworxMonitorImagePullInPrgress 7m48s portworx, k8s-node-2 Portworx image portworx/px-enterprise:2.10.1.1 pull and extraction in progress
Warning NodeStateChange 5m26s portworx, k8s-node-2 Node is not in quorum. Waiting to connect to peer nodes on port 9002.
Normal NodeStartSuccess 5m7s portworx, k8s-node-2 PX is ready on this nodenote- In your output, the image pulled will differ based on your chosen Portworx license type and version.
- For Portworx Enterprise, the default license activated on the cluster is a 30 day trial that you can convert to a SaaS-based model or a generic fixed license.
Verify your Portworx installation
Once you've installed Portworx, you can perform the following tasks to verify that Portworx has installed correctly.