Skip to content
/ cloud Public
forked from antonipx/cloud

A bunch of dirty little shell hacks to manage cloud and ESXi VMs

Notifications You must be signed in to change notification settings

tenox7/cloud

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Shell hacks to manage cloud instances

Scripts

  • az - azure
  • ec2 - aws ec2
  • esx - vmware esx (via ssh)
  • gcp - google
  • gke - googke k8s
  • vcs - vmware vcenter server (via govc)

Usage

./script create|delete|ssh|list|setup <name>

create - creates instance with owner tag
delete - deletes instance
ssh    - ssh to instance
list   - list owned instances
setup  - installs the cloud provider

Examples

./ec2 create foobar
./ec2 list
./ec2 ssh foobar
./ec2 delete foobar

Create default type instance in ec2

./ec2 create foobar

To create specific instance / disk type

type="m5.4xlarge" data_size="256" data_type="io1" data_iops="1500" ./ec2 create foobar

Create instance with 4 disks

data_size="200 200 200 220" ./ec2 create foobar

If you don't want any data disks set it to empty string ""

disks="" ./ec2 create foobar

Use specific owner

owner="bob" ./ec2 create foobar owner="bob" ./ec2 list

Specific distro

ostype=coreos ./ec2 create foobar user=core ./ec2 ssh foobar

Specific AMI

ostype=ami-123456 ./ec2 create foobar

To run specific commands on a node

./ec2 ssh foobar cat /etc/passwd

To install Portworx on a bunch of nodes in parallel

for n in foobar{0..7}; do ./ec2 ssh $n < run/instpx& done

To spin up Kubernetes cluster with Portworx

see k8s example script

Remarks

  • esx/vcs require a template vm with open-vm-tools, openssh-server and passwordless sudo
  • delete command will delete any node regardless of ownership
  • az/vcs does not support multiple disks (TODO)

About

A bunch of dirty little shell hacks to manage cloud and ESXi VMs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%