layout | title | keywords | sidebar |
---|---|---|---|
page |
Create a scaleout converged container cluster using Kubernetes and Portworx in GCE |
portworx, PaaS, IaaS, docker, kubernetes, converged, bare metal |
home_sidebar |
This guide shows you how you can easily deploy a hyper converged (compute and storage) cluster in any cloud (GCE, AWS, Azure) with Kubernetes and Portworx.
You can use any cloud instances (like EC2) with persistent storage. Portworx will automatically detect the performance of the volumes and match the CoS levels to the containers appropriately. Portworx will also aggregate the capacity across all the cloud instances to provide a global pool of virtual, highly available storage to Kubernetes.
Compatible instance and storage options for popular cloud providers are:
Provider | Instance Options | Storage Options |
---|---|---|
AWS | Any EC2 instance type | GP2, IO1 or ST1 |
GCE | Any GCE instance type | Persistent disks and SSDs |
Azure | Any Linux VM | Disk storage type |
Supported bare metal cloud providers are
- Scaleway. Use this image: https://www.scaleway.com/imagehub/docker/
- Digital Ocean
- Rackspace
- Packet.io
When chosing an instance, verify that you meet the minimum requirements available on the Portworx enterpris getting started guide.
Portworx recommends a minimum cluster size of 3 nodes.
A recent enough Linux distribution is typically all that is needed. We recommend one of the following:
- Ubuntu Xenial+
- CentOS 7.0+
- RHEL 7+
- CoreOS 1192.1.0+
Next, install Docker. Portworx recommends Docker 1.12 with Device Mapper.
Note: Portworx requires Docker to allow shared mounts. This is standard as of Docker 1.12. If you are running Docker without shared mounts, please follow the steps listed on the Portworx shared mount propagation documentation.
At this point, you have everything you need to deploy Portworx with Kubernetes to create a hyperconverged compute with storage cluster.
Visit Run Portworx with Kubernetes to get portworx and kubernetes running on all the nodes in your cluster.
In an example deployment, we used GCE to deploy a 30 node Portworx with Kubernetes cluster. The cost breakdown (minus the Portworx Enterprise licence fees) to run this 30 node cluster per hour was as follows:
| Material | Type | Details | Cost per hour | |----------|------|------| | Compute Instance|n1-standard-4|4 CPU cores, 4 GB RAM with 375 GB local SSD|$0.20| | Linux Distro |Ubuntu Xenial | 4.4.0-38-generic | $0.0 | | Container Engine | Docker | 1.12 with device mapper | $0.0 | | Scheduler | Kubernetes | v1.4.3 | $0.0 |
Based on the above BOM, the total hourly cost for the 30 node converged container cluster was $6.
GCEs disk pricing information is available at https://cloud.google.com/compute/pricing.
Each instance in our reference deployment had a local 375 GB SSD volume. Google charges $0.17 per GB. Therefore each instance cost us $63.75 per month. The total cost of storage per month for the 30 node cluster was $1912.50.
In total, we had a 30 node cluster with the following properties:
Resource | Amount |
---|---|
CPU | 120 cores |
Memory | 120 GB |
Storage | 11.250 TB |
The total monthly cost to run this in GCE was:
Item | Cost |
---|---|
Storage | $1912.50 |
Compute | $4320.0 |
Total | $6232.50 |