1
1
provider "hcloud" {
2
- token = " ${ var . hcloud_token } "
2
+ token = var. hcloud_token
3
3
}
4
4
5
5
resource "hcloud_ssh_key" "k8s_admin" {
6
6
name = " k8s_admin"
7
- public_key = " ${ file (var. ssh_public_key )} "
7
+ public_key = file (var. ssh_public_key )
8
8
}
9
9
10
10
resource "hcloud_server" "master" {
11
- count = " ${ var . master_count } "
11
+ count = var. master_count
12
12
name = " master-${ count . index + 1 } "
13
- server_type = " ${ var . master_type } "
14
- image = " ${ var . master_image } "
15
- ssh_keys = [" ${ hcloud_ssh_key . k8s_admin . id } " ]
13
+ server_type = var. master_type
14
+ image = var. master_image
15
+ ssh_keys = [hcloud_ssh_key . k8s_admin . id ]
16
16
17
17
connection {
18
- private_key = " ${ file (var. ssh_private_key )} "
18
+ host = self. ipv4_address
19
+ type = " ssh"
20
+ private_key = file (var. ssh_private_key )
19
21
}
20
22
21
23
provisioner "file" {
@@ -29,7 +31,7 @@ resource "hcloud_server" "master" {
29
31
}
30
32
31
33
provisioner "remote-exec" {
32
- inline = " DOCKER_VERSION=${ var . docker_version } KUBERNETES_VERSION=${ var . kubernetes_version } bash /root/bootstrap.sh"
34
+ inline = [ " DOCKER_VERSION=${ var . docker_version } KUBERNETES_VERSION=${ var . kubernetes_version } bash /root/bootstrap.sh" ]
33
35
}
34
36
35
37
provisioner "file" {
@@ -38,31 +40,33 @@ resource "hcloud_server" "master" {
38
40
}
39
41
40
42
provisioner "remote-exec" {
41
- inline = " CORE_DNS=${ var . core_dns } bash /root/master.sh"
43
+ inline = [ " CORE_DNS=${ var . core_dns } bash /root/master.sh" ]
42
44
}
43
45
44
46
provisioner "local-exec" {
45
47
command = " bash scripts/copy-kubeadm-token.sh"
46
48
47
- environment {
48
- SSH_PRIVATE_KEY = " ${ var . ssh_private_key } "
49
+ environment = {
50
+ SSH_PRIVATE_KEY = var.ssh_private_key
49
51
SSH_USERNAME = " root"
50
- SSH_HOST = " ${ hcloud_server . master . ipv4_address } "
52
+ SSH_HOST = hcloud_server.master[ 0 ] .ipv4_address
51
53
TARGET = " ${ path . module } /secrets/"
52
54
}
53
55
}
54
56
}
55
57
56
58
resource "hcloud_server" "node" {
57
- count = " ${ var . node_count } "
59
+ count = var. node_count
58
60
name = " node-${ count . index + 1 } "
59
- server_type = " ${ var . node_type } "
60
- image = " ${ var . node_image } "
61
- depends_on = [" hcloud_server.master" ]
62
- ssh_keys = [" ${ hcloud_ssh_key . k8s_admin . id } " ]
61
+ server_type = var. node_type
62
+ image = var. node_image
63
+ depends_on = [hcloud_server . master ]
64
+ ssh_keys = [hcloud_ssh_key . k8s_admin . id ]
63
65
64
66
connection {
65
- private_key = " ${ file (var. ssh_private_key )} "
67
+ host = self. ipv4_address
68
+ type = " ssh"
69
+ private_key = file (var. ssh_private_key )
66
70
}
67
71
68
72
provisioner "file" {
@@ -76,17 +80,18 @@ resource "hcloud_server" "node" {
76
80
}
77
81
78
82
provisioner "remote-exec" {
79
- inline = " DOCKER_VERSION=${ var . docker_version } KUBERNETES_VERSION=${ var . kubernetes_version } bash /root/bootstrap.sh"
83
+ inline = [ " DOCKER_VERSION=${ var . docker_version } KUBERNETES_VERSION=${ var . kubernetes_version } bash /root/bootstrap.sh" ]
80
84
}
81
85
82
86
provisioner "file" {
83
87
source = " ${ path . module } /secrets/kubeadm_join"
84
88
destination = " /tmp/kubeadm_join"
85
89
86
90
connection {
91
+ host = self. ipv4_address
87
92
type = " ssh"
88
93
user = " root"
89
- private_key = " ${ file (var. ssh_private_key )} "
94
+ private_key = file (var. ssh_private_key )
90
95
}
91
96
}
92
97
@@ -96,6 +101,7 @@ resource "hcloud_server" "node" {
96
101
}
97
102
98
103
provisioner "remote-exec" {
99
- inline = " bash /root/node.sh"
104
+ inline = [ " bash /root/node.sh" ]
100
105
}
101
106
}
107
+
0 commit comments