k8s.io/kubernetes@v1.31.0-alpha.0.0.20240520171757-56147500dadc/cluster/gce/delete-stranded-load-balancers.sh (about)

     1  #!/usr/bin/env bash
     2  
     3  # Copyright 2015 The Kubernetes Authors.
     4  #
     5  # Licensed under the Apache License, Version 2.0 (the "License");
     6  # you may not use this file except in compliance with the License.
     7  # You may obtain a copy of the License at
     8  #
     9  #     http://www.apache.org/licenses/LICENSE-2.0
    10  #
    11  # Unless required by applicable law or agreed to in writing, software
    12  # distributed under the License is distributed on an "AS IS" BASIS,
    13  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14  # See the License for the specific language governing permissions and
    15  # limitations under the License.
    16  
    17  # A utility for deleting target pools and forwarding rules that are unattached to VMs
    18  PROJECT=${PROJECT:-kubernetes-jenkins}
    19  REGION=${REGION:-us-central1}
    20  
    21  LIST=$(gcloud --project="${PROJECT}" compute target-pools list --format='value(name)')
    22  
    23  result=0
    24  for x in ${LIST}; do
    25      if ! gcloud compute --project="${PROJECT}" target-pools get-health "${x}" --region="${REGION}" 2>/dev/null >/dev/null; then
    26  	echo DELETING "${x}"
    27  	gcloud compute --project="${PROJECT}" firewall-rules delete "k8s-fw-${x}" -q
    28  	gcloud compute --project="${PROJECT}" forwarding-rules delete "${x}" --region="${REGION}" -q
    29  	gcloud compute --project="${PROJECT}" addresses delete "${x}" --region="${REGION}" -q
    30  	gcloud compute --project="${PROJECT}" target-pools delete "${x}" --region="${REGION}" -q
    31          result=1
    32      fi
    33  done
    34  exit ${result}
    35