summaryrefslogtreecommitdiffstats
path: root/kubernetes/contrib/metallb-loadbalancer-inst/install-metallb-on-cluster.sh
diff options
context:
space:
mode:
Diffstat (limited to 'kubernetes/contrib/metallb-loadbalancer-inst/install-metallb-on-cluster.sh')
-rwxr-xr-xkubernetes/contrib/metallb-loadbalancer-inst/install-metallb-on-cluster.sh92
1 files changed, 0 insertions, 92 deletions
diff --git a/kubernetes/contrib/metallb-loadbalancer-inst/install-metallb-on-cluster.sh b/kubernetes/contrib/metallb-loadbalancer-inst/install-metallb-on-cluster.sh
deleted file mode 100755
index 495d540905..0000000000
--- a/kubernetes/contrib/metallb-loadbalancer-inst/install-metallb-on-cluster.sh
+++ /dev/null
@@ -1,92 +0,0 @@
-#!/bin/sh -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
- 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
- external_ip=$(kubectl get no $worker -o jsonpath='{.metadata.annotations.rke\.cattle\.io/external-ip }')
- local internal_ip
- 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 <<CNFEOF | kubectl apply -f -
-apiVersion: v1
-kind: ConfigMap
-metadata:
- namespace: metallb-system
- name: config
-data:
- config: |
- address-pools:
- - name: default
- protocol: layer2
- addresses:
-$(for value in "$@"; do echo -e " - $value"; done)
-CNFEOF
-}
-
-generate_config_from_single_addr() {
- generate_config_map "$1 - $1"
-}
-
-install_metallb() {
- kubectl apply -f https://raw.githubusercontent.com/google/metallb/v0.9.3/manifests/namespace.yaml
- kubectl apply -f https://raw.githubusercontent.com/google/metallb/v0.9.3/manifests/metallb.yaml
- # Only when install
- kubectl create secret generic -n metallb-system memberlist --from-literal=secretkey="$(openssl rand -base64 128)"
-}
-
-automatic_configuration() {
- install_metallb
- generate_config_from_single_addr $(find_nodes_with_external_addrs)
-}
-
-manual_configuration() {
- install_metallb
- generate_config_map $@
-}
-
-if [ $# -eq 1 ] && [ "$1" = "-h" ]; then
- usage
-if [ $# -eq 1 ] && [ "$1" = "--help" ]; then
- usage
-elif [ $# -eq 0 ]; then
- automatic_configuration
-else
- manual_configuration $@
-fi