Creating a workspace is simple. The first step is to create a workspace configuration file. The key information in the workspace configuration file usually includes:
- A unique workspace name
- A few provider specific key properties such as provider type, region/location
- One or more allowed ssh sources which allowing your working machine SSH to cloud
Note: Some resources like NAT gateway or elastic IP resources in Workspace cost money. The price policy may vary among cloud providers. Please check the price policy of the specific cloud provider to avoid undesired cost.
A typical workspace configuration file is simple. Specify the unique workspace name, cloud provider type and a few provider-specific properties.
Here is an AWS workspace configuration yaml example, which is located at CloudTik's examples/cluster/aws/example-workspace.yaml
# A unique identifier for the workspace.
workspace_name: example-workspace
# Cloud-provider specific configuration.
provider:
type: aws
region: us-west-2
# Use allowed_ssh_sources to allow SSH access from your client machine
allowed_ssh_sources:
- 0.0.0.0/0
NOTE: 0.0.0.0/0
in allowed_ssh_sources
will allow any IP addresses to connect to your cluster as long as it has the cluster private key.
For more security, make sure to change from 0.0.0.0/0
to restricted CIDR ranges for your case.
Here is an Azure workspace configuration yaml example, which is located at CloudTik's examples/cluster/azure/example-workspace.yaml
# A unique identifier for the workspace.
workspace_name: example-workspace
# Cloud-provider specific configuration.
provider:
type: azure
location: westus
subscription_id: your_subscription_id
# Use allowed_ssh_sources to allow SSH access from your client machine
allowed_ssh_sources:
- 0.0.0.0/0
NOTE: 0.0.0.0/0
in allowed_ssh_sources
will allow any IP addresses to connect to your cluster as long as it has the cluster private key.
For more security, make sure to change from 0.0.0.0/0
to restricted CIDR ranges for your case.
# A unique identifier for the workspace.
workspace_name: example-workspace
# Cloud-provider specific configuration.
provider:
type: gcp
region: us-central1
availability_zone: us-central1-a
project_id: your_project_id
# Use allowed_ssh_sources to allow SSH access from your client machine
allowed_ssh_sources:
- 0.0.0.0/0
NOTE: 0.0.0.0/0
in allowed_ssh_sources
will allow any IP addresses to connect to your cluster as long as it has the cluster private key.
For more security, make sure to change from 0.0.0.0/0
to restricted CIDR ranges for your case.
Use the following command to create and provision a workspace:
cloudtik workspace create /path/to/<your-workspace-config>.yaml
After the workspace is created, shared cloud resources such as VPC, network, identity resources, firewall or security groups are configured.
Use the following command to delete a workspace:
cloudtik workspace delete /path/to/<your-workspace-config>.yaml
Check ./examples/cluster
folder for more Workspace configuration file examples.