diff --git a/k8s_config b/k8s_config index aab3320..467967a 100644 --- a/k8s_config +++ b/k8s_config @@ -3,4 +3,5 @@ GCP_ZONE="us-central1-a" GCP_CLUSTER="llvm-premerge-checks" GCP_PROJECT="llvm-premerge-checks" GCR_HOSTNAME="gcr.io" -GCS_BUCKET='llvm-premerge-checks' \ No newline at end of file +GCS_BUCKET='llvm-premerge-checks' +GCP_CLUSTER_WINDOWS="windows-agents" diff --git a/kubernetes/cluster_create.sh b/kubernetes/cluster_create.sh index 397af2c..ec46d1d 100755 --- a/kubernetes/cluster_create.sh +++ b/kubernetes/cluster_create.sh @@ -31,8 +31,16 @@ gcloud container clusters create $GCP_CLUSTER --zone $GCP_ZONE \ 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 \ +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 diff --git a/kubernetes/windows-agents/Deployment.yaml b/kubernetes/windows-agents/Deployment.yaml new file mode 100644 index 0000000..4e00384 --- /dev/null +++ b/kubernetes/windows-agents/Deployment.yaml @@ -0,0 +1,58 @@ +# 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. + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: agent-windows-visualstudio2017-ssd + labels: + app: agent-windows-visualstudio2017-ssd +spec: + replicas: 1 + selector: + matchLabels: + app: agent-windows-visualstudio2017-ssd + template: + metadata: + labels: + app: agent-windows-visualstudio2017-ssd + spec: + containers: + - name: agent-windows-visualstudio2017-ssd + image: gcr.io/llvm-premerge-checks/agent-windows-jenkins + resources: + limits: + cpu: 14 + memory: 20Gi + requests: + cpu: 14 + memory: 20Gi +# volumeMounts: +# - name: nfs-pvc +# mountPath: /mnt/nfs +# - name: ssd +# mountPath: /mnt/disks/ssd0 +# volumes: +# - name: nfs-pvc +# persistentVolumeClaim: +# claimName: nfs-jenkins +# - name: ssd +# hostPath: +# # directory location on host +# path: /mnt/disks/ssd0 +# type: Directory + nodeSelector: + kubernetes.io/os: windows + cloud.google.com/gke-nodepool: windows-pool \ No newline at end of file diff --git a/kubernetes/windows-agents/kustomization.yaml b/kubernetes/windows-agents/kustomization.yaml new file mode 100644 index 0000000..521cb26 --- /dev/null +++ b/kubernetes/windows-agents/kustomization.yaml @@ -0,0 +1,19 @@ +# 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. + +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - Deployment.yaml +