Skip to content

Commit

Permalink
refact: update examples with module refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
xunleii committed Dec 1, 2019
1 parent a0b60a3 commit fcd7899
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 32 deletions.
23 changes: 8 additions & 15 deletions examples/hcloud-k3s/instances.tf
Original file line number Diff line number Diff line change
@@ -1,32 +1,25 @@
resource "hcloud_ssh_key" "default" {
resource hcloud_ssh_key default {
name = "K3S terraform module - Provisionning SSH key"
public_key = var.ssh_key
}

resource "hcloud_network" "k3s" {
resource hcloud_network k3s {
name = "k3s-network"
ip_range = "10.0.0.0/8"
}

resource "hcloud_network_subnet" "k3s_nodes" {
resource hcloud_network_subnet k3s_nodes {
type = "server"
network_id = hcloud_network.k3s.id
network_zone = "eu-central"
ip_range = "10.254.1.0/24"
}

resource "hcloud_network_subnet" "k3s_internal" {
type = "server"
network_id = hcloud_network.k3s.id
network_zone = "eu-central"
ip_range = "10.0.0.0/15"
}

data "hcloud_image" "ubuntu" {
data hcloud_image ubuntu {
name = "ubuntu-18.04"
}

resource "hcloud_server" "master" {
resource hcloud_server master {
name = "k3s-master"

image = data.hcloud_image.ubuntu.name
Expand All @@ -42,13 +35,13 @@ resource "hcloud_server" "master" {
}
}

resource "hcloud_server_network" "master_network" {
resource hcloud_server_network master_network {
server_id = hcloud_server.master.id
network_id = hcloud_network.k3s.id
ip = cidrhost(hcloud_network_subnet.k3s_nodes.ip_range, 1)
}

resource "hcloud_server" "minions" {
resource hcloud_server minions {
count = var.minions_num
name = "k3s-minion-${count.index}"

Expand All @@ -65,7 +58,7 @@ resource "hcloud_server" "minions" {
}
}

resource "hcloud_server_network" "minions_network" {
resource hcloud_server_network minions_network {
count = length(hcloud_server.minions)
server_id = hcloud_server.minions[count.index].id
network_id = hcloud_network.k3s.id
Expand Down
29 changes: 15 additions & 14 deletions examples/hcloud-k3s/main.tf
Original file line number Diff line number Diff line change
@@ -1,28 +1,29 @@
terraform {
required_version = "~> 0.12.0"
}
provider hcloud {}

provider "hcloud" {}

module "k3s" {
module k3s {
source = "./../.."

k3s_version = "latest"
cluster_cidr = "10.0.0.0/16"
cluster_service_cidr = "10.1.0.0/16"
cluster_cidr = {
pods = "10.42.0.0/16"
services = "10.43.0.0/16"
}
drain_timeout = "30s"

additional_flags = {
master = []
minion = [
"--node-label node-role.kubernetes.io/minion='true'",
master = [
"--disable-cloud-controller",
"--flannel-iface ens10",
"--kubelet-arg cloud-provider=external" # required to use https://github.com/hetznercloud/hcloud-cloud-controller-manager
]
common = [
"--no-flannel"
minion = [
"--flannel-iface ens10",
"--kubelet-arg cloud-provider=external" # required to use https://github.com/hetznercloud/hcloud-cloud-controller-manager
]
}

master_node = {
name = "master.github.com"
ip = hcloud_server_network.master_network.ip
connection = {
host = hcloud_server.master.ipv4_address
Expand All @@ -31,7 +32,7 @@ module "k3s" {

minion_nodes = {
for i in range(length(hcloud_server.minions)) :
hcloud_server.minions[i].name => {
"${hcloud_server.minions[i].name}.github.com" => {
ip = hcloud_server_network.minions_network[i].ip
connection = {
host = hcloud_server.minions[i].ipv4_address
Expand Down
6 changes: 3 additions & 3 deletions examples/hcloud-k3s/variables.tf
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
variable "ssh_key" {
variable ssh_key {
description = "SSH public Key content needed to provision the instances."
type = "string"
type = string
}

variable "minions_num" {
variable minions_num {
description = "Number of minion nodes."
default = 3
}

0 comments on commit fcd7899

Please sign in to comment.