k8s.io/kubernetes@v1.31.0-alpha.0.0.20240520171757-56147500dadc/cluster/gce/gci/node-helper.sh (about) 1 #!/usr/bin/env bash 2 3 # Copyright 2016 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 library of helper functions and constant for GCI distro 18 source "${KUBE_ROOT}/cluster/gce/gci/helper.sh" 19 20 # shellcheck disable=SC2120 21 function get-node-instance-metadata-from-file { 22 local kube_env=${1:-node-kube-env} # optional 23 local metadata="" 24 metadata+="kube-env=${KUBE_TEMP}/${kube_env}.yaml," 25 metadata+="kubelet-config=${KUBE_TEMP}/node-kubelet-config.yaml," 26 metadata+="user-data=${KUBE_ROOT}/cluster/gce/gci/node.yaml," 27 metadata+="configure-sh=${KUBE_ROOT}/cluster/gce/gci/configure.sh," 28 metadata+="cluster-location=${KUBE_TEMP}/cluster-location.txt," 29 metadata+="cluster-name=${KUBE_TEMP}/cluster-name.txt," 30 metadata+="gci-update-strategy=${KUBE_TEMP}/gci-update.txt," 31 metadata+="shutdown-script=${KUBE_ROOT}/cluster/gce/gci/shutdown.sh," 32 metadata+="${NODE_EXTRA_METADATA}" 33 echo "${metadata}" 34 } 35 36 # Assumed vars: 37 # scope_flags 38 # Parameters: 39 # $1: template name (required). 40 function create-linux-node-instance-template { 41 local template_name="$1" 42 local machine_type="${2:-$NODE_SIZE}" 43 44 ensure-gci-metadata-files 45 # shellcheck disable=2154 # 'scope_flags' is assigned by upstream 46 create-node-template "${template_name}" "${scope_flags[*]}" "$(get-node-instance-metadata-from-file)" "" "linux" "${machine_type}" 47 }