All Projects → seanknox → aztack

seanknox / aztack

Licence: Apache-2.0 license
Terraform module for creating Kubernetes clusters running on Azure

Programming Languages

HCL
1544 projects
shell
77523 projects
Makefile
30231 projects
Smarty
1635 projects

Projects that are alternatives of or similar to aztack

Toc
A Table of Contents of all Gruntwork Code
Stars: ✭ 111 (+60.87%)
Mutual labels:  packer, infrastructure-as-code
gruntwork-io.github.io
The gruntwork.io website
Stars: ✭ 38 (-44.93%)
Mutual labels:  packer, infrastructure-as-code
Infrastructure As Code Tutorial
Infrastructure As Code Tutorial. Covers Packer, Terraform, Ansible, Vagrant, Docker, Docker Compose, Kubernetes
Stars: ✭ 1,954 (+2731.88%)
Mutual labels:  packer, infrastructure-as-code
gitlab-setup
A Packer / Terraform / Ansible configuration to install Gitlab and Gitlab-CI
Stars: ✭ 53 (-23.19%)
Mutual labels:  packer, infrastructure-as-code
icp-ce-on-linux-containers
Multi node IBM Cloud Private Community Edition 3.2.x w/ Kubernetes 1.13.5 in a Box. Terraform, Packer and BASH based Infrastructure as Code script sets up a multi node LXD cluster, installs ICP-CE and clis on a metal or VM Ubuntu 18.04 host.
Stars: ✭ 52 (-24.64%)
Mutual labels:  packer, infrastructure-as-code
tfu
tfu is a terraform helper to update the providers.
Stars: ✭ 13 (-81.16%)
Mutual labels:  infrastructure-as-code
nixcfg
My nix configuration(s), using flakes. It's my laptop, it's my servers, it's my everything, in code.
Stars: ✭ 44 (-36.23%)
Mutual labels:  infrastructure-as-code
opnsense-starterkit
Try opnsense, build opnsense images or start development
Stars: ✭ 18 (-73.91%)
Mutual labels:  packer
packer-kali linux
This is a repository that will be used to help create a process of a new kali vagrant box for hashicorp each week.
Stars: ✭ 36 (-47.83%)
Mutual labels:  packer
stein
A linter for config files with a customizable rule set
Stars: ✭ 92 (+33.33%)
Mutual labels:  infrastructure-as-code
builderator
Tools to make CI Packer builds awesome
Stars: ✭ 21 (-69.57%)
Mutual labels:  packer
packer-plugin-vultr
Packer Builder plugin for Vultr snapshots
Stars: ✭ 42 (-39.13%)
Mutual labels:  packer
circleci-packer-example
Example: packer image builder on CircleCI
Stars: ✭ 20 (-71.01%)
Mutual labels:  packer
terraform-pb
Programmatic management of infrastructure using Terraform and Protocol Buffers
Stars: ✭ 18 (-73.91%)
Mutual labels:  infrastructure-as-code
django-cdk
A CDK library that provides high-level constructs for hosting Django applications on AWS
Stars: ✭ 31 (-55.07%)
Mutual labels:  infrastructure-as-code
awesome-iac-testing
A list of awesome IaC testing articles, speeches & links. Especially about Ansible.
Stars: ✭ 56 (-18.84%)
Mutual labels:  infrastructure-as-code
packer-FreeBSD
Build a FreeBSD VM for Vagrant using packer
Stars: ✭ 23 (-66.67%)
Mutual labels:  packer
Evader
Packer (actually a crypter) for antivirus evasion implemented for windows PE files (BSc-Thesis)
Stars: ✭ 86 (+24.64%)
Mutual labels:  packer
one-click-microservice
A starting point for automating the creation of microservices and all its Ops costs with a single click.
Stars: ✭ 27 (-60.87%)
Mutual labels:  infrastructure-as-code
arch-ansible
An Ansible playbook to install Arch Linux
Stars: ✭ 33 (-52.17%)
Mutual labels:  packer

aztack

Provision a Kubernetes cluster with Packer and Terraform on Azure Resource Manager. Inspired by Kelsey Hightower's kubestack and the tack project.

Creates a Kubernetes cluster on Azure with

  • 3x Controllers
  • 3x etcd
  • 1x node (by default)
Software Version
Ubuntu 16.04
cri-containerd 1.0.0.0
containerd v1.0.0-6
runc 1.0.0-rc4+dev
etcd v3.3.7
Kubernetes v1.10.4
Calico v3.1.3

More details of the cluster specs can be found in STATUS.md

Terraform

Terraform is used to declare and provision a Kubernetes cluster. Terraform runs entirely in a Docker container. The following generates Azure credentials and other required configuration and builds infra on Terraform.

$ CLUSTER_NAME=<NAME OF CLUSTER> make build post-terraform
terraform get
- module.rg
- module.vnet
- module.dns
- module.storage_account
- module.image
- module.load_balancer
- module.bastion
terraform init
Initializing modules...
- module.rg
- module.vnet
- module.dns
- module.storage_account
- module.image
- module.load_balancer
- module.bastion

Initializing provider plugins...

Resize the number of worker nodes

Edit terraform/build/$(CLUSTER_NAME)/terraform.tfvars. Set node_count to the desired value, e.g.

node_count = 5

Apply the changes:

$ CLUSTER_NAME=<NAME OF CLUSTER> make apply
Apply complete! Resources: 4 added, 0 changed, 0 destroyed.

The state of your infrastructure has been saved to the path
below. This state is required to modify and destroy your
infrastructure, so keep it safe. To inspect the complete state
use the `terraform show` command.

State path: terraform.tfstate

Packer Images

We use Packer to create an immutable image based on a source image based on Ubuntu 16.04. A prebuilt image is already provided for you, but if you wish to build yourself or change the image:

Create resource group

During the build process, Packer creates temporary Azure resources as it builds the source VM. To capture that source VM for use as an image, you must define a resource group. The output from the Packer build process is stored in this resource group.

Initialize settings

$ cd packer
$ make init

storage name: aztack1528763526
{
  "subscription_id":  "e766d9ee-d3d9-4b63-a912-8963dcfdf655",
  "client_id": "...",
  "client_secret": "...",
  "tenant_id":      "72f988bf-86f1-41af-91ab-2d7cd011db47",
  "resource_group_name": "ACStackImages",
  "location": "West US 2",
  "storage_account_name": "aztack1528763526",
  "vm_size": "Standard_D2_v2"
}

Build VHD image

$ make build
Build 'azure-arm' finished.

==> Builds finished. The artifacts of successful builds are:
--> azure-arm: Azure.ResourceManagement.VMImage:

StorageAccountLocation: westus2
OSDiskUri: https://aztack1528763526.blob.core.windows.net/system/Microsoft.Compute/Images/aztack-vhds/aztack-1528763664-osDisk.1f8be1f6-22ad-4b18-b3b3-3fe27dcfada0.vhd
OSDiskUriReadOnlySas: https://aztack1528763526.blob.core.windows.net/system/Microsoft.Compute/Images/aztack-vhds/aztack-1528763664-osDisk.1f8be1f6-22ad-4b18-b3b3-3fe27dcfada0.vhd?se=2018-07-12T00%3A46%3A43Z&sig=oSl%2BNkAEl%2FYEENeIy1Ckd9%2FgAqdAtV%2FktrdbHx3bXJ8%3D&sp=r&spr=https%2Chttp&sr=b&sv=2016-05-31
TemplateUri: https://aztack1528763526.blob.core.windows.net/system/Microsoft.Compute/Images/aztack-vhds/aztack-1528763664-vmTemplate.1f8be1f6-22ad-4b18-b3b3-3fe27dcfada0.json
TemplateUriReadOnlySas: https://aztack1528763526.blob.core.windows.net/system/Microsoft.Compute/Images/aztack-vhds/aztack-1528763664-vmTemplate.1f8be1f6-22ad-4b18-b3b3-3fe27dcfada0.json?se=2018-07-12T00%3A46%3A43Z&sig=ctdIO2s0GvBA9cA7zt6OAjQU9OY4YuVKBZIpf%2BhK0%2Bg%3D&sp=r&spr=https%2Chttp&sr=b&sv=2016-05-31
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].