Skip to content

secretpool/kubernetes-terraform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Typhoon

Typhoon is a minimal and free Kubernetes distribution.

  • Minimal, stable base Kubernetes distribution
  • Declarative infrastructure and configuration
  • Free (freedom and cost) and privacy-respecting
  • Practical for labs, datacenters, and clouds

Typhoon distributes upstream Kubernetes, architectural conventions, and cluster addons, much like a GNU/Linux distribution provides the Linux kernel and userspace components.

Features

Docs

Please see the official docs and the Digital Ocean tutorial. Read concepts to learn about Terraform, modules, and organizing resources.

Install

Install terraform on your system:

$ brew install terraform

Add the terraform-provider-ct plugin binary for your system:

$ wget https://github.com/coreos/terraform-provider-ct/releases/download/v0.2.0/terraform-provider-ct-v0.2.0-darwin-amd64.tar.gz
$ tar xzf terraform-provider-ct-v0.2.0-darwin-amd64.tar.gz
$ mv terraform-provider-ct-v0.2.0-darwin-amd64/terraform-provider-ct /usr/local/bin/

Add the plugin to your ~/.terraformrc:

providers {
  ct = "/usr/local/bin/terraform-provider-ct"
}

Initial bootstrapping requires bootkube.service be started on one controller node. Terraform uses ssh-agent to automate this step. Add your SSH private key to ssh-agent:

$ ssh-add ~/.ssh/digital-ocean-hanzo
$ ssh-add -L

Initialize the config directory if this is the first use with Terraform:

$ make init

Get or update Terraform modules:

$ terraform get            # downloads missing modules
$ terraform get --update   # updates all modules
Get: git::https://github.com/poseidon/typhoon (update)
Get: git::https://github.com/poseidon/bootkube-terraform.git?ref=v0.10.0 (update)

Plan the resources to be created:

$ make plan
Plan: 54 to add, 0 to change, 0 to destroy.

Apply the changes to create the cluster:

$ make apply
module.digital-ocean-nemo.null_resource.bootkube-start: Still creating... (30s elapsed)
module.digital-ocean-nemo.null_resource.bootkube-start: Provisioning with 'remote-exec'...
...
module.digital-ocean-nemo.null_resource.bootkube-start: Still creating... (6m20s elapsed)
module.digital-ocean-nemo.null_resource.bootkube-start: Creation complete (ID: 7599298447329218468)

Apply complete! Resources: 54 added, 0 changed, 0 destroyed.

In 3-6 minutes, the Kubernetes cluster will be ready.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published