Install Portworx on Oracle Container Engine for Kubernetes
This topic explains how to install Portworx on Oracle Container Engine for Kubernetes (OKE).
- Portworx Backup is not supported when using Portworx on OKE.
- When using Async DR with Portworx on OKE, you must configure migrations to use service accounts.
Prerequisites
- An OKE cluster that meets the Portworx prerequisites.
- An Oracle API signing key and fingerprint. Download and store the key with the name
oci_api_key.pem
, and record the fingerprint of the key for use during this procedure. - Your Oracle user OCID. Record the OCID for use during this procedure.
- Portworx by Pure Storage recommends you set max storage nodes per availability zone. When specified, Portworx will ensure that the desired number of storage nodes exist in the zone.
Install Portworx on OKE using the Operator
Generate the specs
To install Portworx with Kubernetes, you must first generate Kubernetes manifests that you will deploy in your cluster. Once the spec is generated you must also install the Portworx Operator.
-
Navigate to Portworx Central and log in, or create an account.
-
Select Portworx Enterprise and click Continue.
-
For Platform, select Oracle, then click Customize at the bottom of the Summary section.
-
Ensure that Use the Portworx Operator is selected, then select Portworx version 2.13 or newer. Fill in your cluster's Kubernetes version, then click Next.
-
In the Storage section, Portworx recommends that you to select Create using a Spec and specify your own values for Select number of VPUs for Oracle block volumes.
-
In the Networking section, click Next.
-
In the Customize section, select (OKE) Oracle Kubernetes Engine and click Finish to generate the specs.
Create an Oracle Cloud credentials Kubernetes secret
Create a Kubernetes secret named ociapikey
in the namespace where you will install Portworx. Use the following command:
kubectl create secret generic ociapikey \
--namespace <namespace> \
--from-file=oci_api_key.pem=oci_api_key.pem \
--from-literal=PX_ORACLE_user_ocid="<ocid>" \
--from-literal=PX_ORACLE_fingerprint="<fingerprint>"
Replace the following values:
<namespace>
- The namespace where you will install Portworx<ocid>
- Your Oracle user OCID<fingerprint>
- The fingerprint for your Oracle API signing key
Deploy the Operator
To deploy the Operator, run the command that Portworx Central provided, which looks similar to the following:
kubectl apply -f 'https://install.portworx.com/<portworx_version>?comp=pxoperator&kbver=<k8s-version>&ns=portworx'
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
To deploy the StorageCluster, run the command that Portworx Central provided, which looks similar to the following:
kubectl apply -f “https://install.portworx.com/<portworx_version>?operator=true&mc=false&kbver=<k8s-version>&ns=portworx&b=true&kd=type%3Dpv-10%2Csize%3D150&mz=2&cp=oracle&s=%22type%3Dpv-10%2Csize%3D150%22%2C%22type%3Dpv-20%2Csize%3D150%22&j=auto&c=px-cluster-xxxxxxxx-xxxx-xxxx-xxxx-1f911204536e&oke=true&stork=true&csi=true&mon=true&tel=false&st=k8s&promop=true”