Skip to content

pchico83/i2kit

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
cli
 
 
 
 
 
 
 
 
 
 

i2kit

The simplicity of containers, the security of virtual machines.

i2kit combines the simplicity of containers to develop your applications with the security and robustness of virtual machines for production environments at scale.

i2kit won't force a development environment on you, keep using what works for you.

Once you're ready to deploy, define your application deployment behavior using a YAML file (à la docker-compose) and i2kit will make the rest for you. i2kit builds an extremely lightweight virtual machine for each of your containers/pods using linuxkit, which not only brings the workload isolation and security advantages of virtual machines, but also seamlessly plug into proven cloud vendor technology. For example, if AWS is the cloud provider of your choice, i2kit will:

  • Balance traffic to your Container VMs using ELBs.
  • Enforce fault tolerance using autoscalability groups.
  • Provide service discovery using Route 53 domains.
  • Connect your containers using a VPC network.
  • Persist your data volumes using EBS.

i2kit does not require a central control plane to manage your running applications (à la Docker Swarm or Kubernetes), which not only reduces configuration, maintenance and infrastructure costs, but also eliminates critical runtime dependencies in your applications.

Check our paper for full details about the i2kit behavior.

Getting Started

Now, build the i2kit binary:

go build -o /usr/local/bin/i2kit

Create an environment.yml configuration as documented here.

In particular, you will need to have a hosted zone configured in Route53.

Once you have your environment ready, execute the following command:

i2kit deploy -s samples/nginx/service.yml -e environment.yml

After the command finishes, you can browse to nginx.your_hosted_zone_here to verify that nginx is running as expected.

Finally, destroy your service by executing the following command:

i2kit destroy -s samples/nginx/service.yml -e environment.yml

Service Manifest gives more information about how to create your own Service Manifests.

Environment Manifest gives more information about how to create your own Environment Manifests.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published