Prerequisites
Before deploying BYOC, ensure you have the following tools installed on your local machine:
You also need:
- The CLI for your cloud provider:
- AWS: AWS CLI v2
- GCP: gcloud CLI
- Azure: Azure CLI
- A cloud account with admin-level permissions:
- AWS:
AdministratorAccess.PowerUserAccessisn’t sufficient because BYOC creates IAM roles and policies. - GCP:
roles/owner.roles/editorisn’t sufficient because BYOC creates IAM service accounts and bindings. - Azure:
Owneron the subscription.Contributorisn’t sufficient because BYOC creates managed identities and role assignments.
- AWS:
- Sufficient cloud quota for the resources (the setup wizard validates this)
- A Pinecone API key from the Pinecone console
- A Pinecone Enterprise plan (required for BYOC access)
If you install any new tools, open a new terminal session before proceeding so that your shell picks up the updated PATH and environment.
Deploy your environment
To deploy BYOC, follow these steps:Run the setup wizard
Run the bootstrap script from the BYOC deployment repository (github.com/pinecone-io/pulumi-pinecone-byoc) to start the interactive setup wizard:You can also pre-select your cloud provider:The script selects your cloud provider, checks that required tools are installed, verifies your cloud credentials, then launches an interactive wizard that collects your configuration choices, validates your quotas, and generates a Pulumi project. No cloud resources are created during this step.
After completing the wizard, a Pulumi project is generated in your project directory.
Setup wizard prompts
Setup wizard prompts
The wizard prompts you for the following:
Generated configuration file
Generated configuration file
The wizard creates a To change configuration after initial setup, edit
Pulumi.<stack>.yaml file with configurable options. The options vary by cloud provider:- AWS
- GCP
- Azure
Pulumi.<stack>.yaml and run pulumi up.Programmatic usage
Programmatic usage
For advanced users who want to integrate BYOC into existing Pulumi infrastructure, the Import the cluster class for your cloud provider:See the repository README for full usage examples.
pulumi-pinecone-byoc package is available on PyPI. Install with cloud-specific dependencies:Deploy the infrastructure
Deploy the generated Pulumi project to create your cloud resources:Pulumi shows a preview of all resources to be created. Confirm to proceed. Provisioning takes approximately 25-30 minutes.When complete, the output displays:
- Your BYOC environment name (used when creating indexes).
- The kubectl command to configure cluster access.
Infrastructure provisioned
Infrastructure provisioned
The deployment creates the following resources in your cloud account:
The initial deployment provisions 3 Kubernetes nodes. After setup, the cluster autoscales based on the services Pinecone deploys and your workload.
Verify the deployment
Configure This command configures your local All pods should show It’s normal to see “No resources found” on a fresh deployment. Operations appear here as Pinecone performs upgrades and other management tasks.
kubectl to connect to your cluster using the command from the deployment output:- AWS
- GCP
- Azure
kubectl tool to communicate with your Kubernetes cluster. You’ll use cluster access for administrative tasks like viewing operations and troubleshooting. Creating indexes and reading/writing vectors still use the standard Pinecone API.Verify all components are running:Running status. If any pods are in Pending or CrashLoopBackOff, check the Troubleshooting section.You can also verify the cluster operations CRD is installed:Troubleshooting
Common issues and how to resolve them:Preflight check failures
Preflight check failures
The setup wizard validates cloud quotas before deployment. If checks fail:
Deployment failures
Deployment failures
If
pulumi up fails partway through:Cluster access issues
Cluster access issues
Ensure your cloud credentials match the account where the cluster is deployed:
- AWS
- GCP
- Azure
Index stuck in terminating state
Index stuck in terminating state
If you destroyed the cluster before deleting indexes, indexes may be stuck in a “terminating” state. Contact Pinecone support for assistance.