1
0
Fork 0
llvm-premerge-checks/kubernetes/cluster_create.sh
2020-02-03 12:41:54 +01:00

49 lines
No EOL
1.8 KiB
Bash
Executable file

#!/bin/bash
# Copyright 2019 Google LLC
#
# Licensed under the the Apache License v2.0 with LLVM Exceptions (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://llvm.org/LICENSE.txt
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
set -eux
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
ROOT_DIR="$(dirname ${DIR})"
# get config options
source "${ROOT_DIR}/k8s_config"
# create the cluster
gcloud container clusters create $GCP_CLUSTER --zone $GCP_ZONE \
--machine-type=n1-standard-4 --num-nodes=1
# Jenkins agents with local ssd
# as per instructions
# https://cloud.google.com/kubernetes-engine/docs/how-to/persistent-volumes/local-ssd
gcloud container node-pools create jenkins-agents --cluster $GCP_CLUSTER --zone $GCP_ZONE \
--machine-type=n1-standard-32 --num-nodes=2 --local-ssd-count=1
# created separate cluster for windows, as we need "ip-alias" enabled
# this can't be changed in a running cluster...
gcloud beta container clusters create $GCP_CLUSTER_WINDOWS \
--enable-ip-alias \
--num-nodes=1 \
--release-channel=rapid \
--enable-private-nodes
# Windows agents with local ssd
gcloud container node-pools create windows-pool --cluster $GCP_CLUSTER_WINDOWS \
--image-type=WINDOWS_SAC --no-enable-autoupgrade \
--machine-type=n1-standard-16 --local-ssd-count=1
# create static IP address
# IP can be created, but not used in Ingress. Not sure why
gcloud compute addresses create web-static-ip --zone=$GCP_ZONE