#!/bin/bash -e # # Copyright 2020 Samsung Electronics Co., Ltd. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # 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. # usage() { cat << ==usage $0 Automatic configuration using external addresess from nodes $0 --help This message $0 -h This message $0 [cluster_ip1] ... [cluster_ipn] Cluster address or ip ranges ==usage } find_nodes_with_external_addrs() { local WORKER_NODES=$(kubectl get no -l node-role.kubernetes.io/worker=true -o jsonpath='{.items..metadata.name}') for worker in $WORKER_NODES; do local external_ip=$(kubectl get no $worker -o jsonpath='{.metadata.annotations.rke\.cattle\.io/external-ip }') local internal_ip=$(kubectl get no $worker -o jsonpath='{.metadata.annotations.rke\.cattle\.io/internal-ip }') if [ $internal_ip != $external_ip ]; then echo $external_ip fi done } generate_config_map() { cat <