1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
resource "random_id" "suffix" {
byte_length = 4
}
data "google_container_engine_versions" "main" {
zone = "${var.zone}"
}
resource "google_container_cluster" "cluster" {
name = "consul-k8s-${random_id.suffix.dec}"
project = "${var.project}"
enable_legacy_abac = true
initial_node_count = 5
zone = "${var.zone}"
min_master_version = "${data.google_container_engine_versions.main.latest_master_version}"
node_version = "${data.google_container_engine_versions.main.latest_node_version}"
}
resource "local_file" "kubeconfig" {
filename = "${path.module}/kubeconfig.yaml"
content = <<EOF
apiVersion: v1
clusters:
- cluster:
insecure-skip-tls-verify: true
server: https://${google_container_cluster.cluster.endpoint}
name: gke
contexts:
- context:
cluster: gke
user: terraform
name: default-context
current-context: default-context
kind: Config
preferences: {}
users:
- name: terraform
user:
username: ${google_container_cluster.cluster.master_auth.0.username}
password: ${google_container_cluster.cluster.master_auth.0.password}
EOF
}
resource "kubernetes_pod" "valid" {
count = 3
metadata {
name = "valid-${count.index}"
labels {
app = "valid"
}
}
spec {
container {
image = "nginx:1.7.9"
name = "echo"
}
}
}
resource "kubernetes_pod" "invalid" {
count = 2
metadata {
name = "invalid-${count.index}"
labels {
app = "invalid"
}
}
spec {
container {
image = "nginx:1.7.9"
name = "echo"
}
}
}
|