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:
committed by
Ta-Ching Chen
parent
d578539391
commit
1c5fd92ad6
@@ -12,6 +12,11 @@ test/logs/
|
||||
.idea
|
||||
environments/php7/vendor/
|
||||
|
||||
# terraform files
|
||||
.terraform/
|
||||
*.tfstate
|
||||
*.backup
|
||||
|
||||
# Common backup files
|
||||
*.swp
|
||||
*.bak
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
terraform {
|
||||
required_version = ">= 0.12"
|
||||
}
|
||||
Reference in New Issue
Block a user