Add Terraform configuration and upgrade helm version (#1194)

* Use terraform to manage ci cluster. Upgrade ci cluster to 1.13
* Upgrade helm version
* Do not break the test if no previous resources
* Do not skip install helm if helm is old version
This commit is contained in:
Chia-Chun Tai
2019-05-31 15:44:42 +08:00
committed by Ta-Ching Chen
parent d578539391
commit 1c5fd92ad6
5 changed files with 64 additions and 2 deletions
+5
View File
@@ -12,6 +12,11 @@ test/logs/
.idea
environments/php7/vendor/
# terraform files
.terraform/
*.tfstate
*.backup
# Common backup files
*.swp
*.bak
+2
View File
@@ -8,6 +8,7 @@ else
K="kubectl --kubeconfig $KUBECONFIG --namespace default"
if $K get configmap ok-to-destroy
then
set +e # do not break if crd not found
$K delete functions --all
$K delete environments --all
$K delete httptriggers --all
@@ -15,6 +16,7 @@ else
$K delete messagequeuetriggers --all
$K delete packages --all
$K delete timetriggers --all
set -e
fi
fi
+3 -2
View File
@@ -14,9 +14,10 @@ then
fi
# Get helm
if [ ! -f $K8SCLI_DIR/helm ]
HELM_VERSION=2.14.0
if [ ! -f $K8SCLI_DIR/helm ] || (helm version --client | grep -v $HELM_VERSION)
then
curl -LO https://storage.googleapis.com/kubernetes-helm/helm-v2.7.2-linux-amd64.tar.gz
curl -LO https://storage.googleapis.com/kubernetes-helm/helm-v${HELM_VERSION}-linux-amd64.tar.gz
tar xzvf helm-*.tar.gz
mv linux-amd64/helm $K8SCLI_DIR/helm
fi
+51
View File
@@ -0,0 +1,51 @@
terraform {
backend "gcs" {
bucket = "fission-terraform-state"
prefix = "fission-ci-cluster"
}
}
provider "google" {
version = "~> 2.7"
project = "fission-ci"
}
resource "google_container_cluster" "fission-ci-1" {
name = "fission-ci-1"
description = ""
min_master_version = "1.13.6-gke.0"
network = "projects/fission-ci/global/networks/default"
location = "us-central1-a"
remove_default_node_pool = true
initial_node_count = 0
logging_service = "none"
monitoring_service = "none"
master_authorized_networks_config {}
}
resource "google_container_node_pool" "pool-v1" {
name = "pool-v1"
location = "us-central1-a"
cluster = google_container_cluster.fission-ci-1.name
node_config {
machine_type = "n1-standard-2"
preemptible = false
disk_size_gb = 100
oauth_scopes = [
"https://www.googleapis.com/auth/devstorage.read_only",
"https://www.googleapis.com/auth/monitoring.write",
]
}
initial_node_count = 3
autoscaling {
min_node_count = 3
max_node_count = 5
}
management {
auto_repair = true
auto_upgrade = true
}
}
+3
View File
@@ -0,0 +1,3 @@
terraform {
required_version = ">= 0.12"
}