From 29c115f867e224d18b086dd0b8e2465397189aac Mon Sep 17 00:00:00 2001 From: Michael O'Brien Date: Sun, 13 May 2018 08:14:42 -0400 Subject: rancher/k8s/helm/docker install Change-Id: Idf39ad49e7a18ed0ff654503e75c6954380d0703 Signed-off-by: Michael O'Brien Issue-ID: LOG-325 --- deploy/rancher/oom_entrypoint.sh | 93 +++++++++++++++ deploy/rancher/oom_rancher_setup.sh | 228 ++++++++++++++++++++++++++++++++++++ 2 files changed, 321 insertions(+) create mode 100755 deploy/rancher/oom_entrypoint.sh create mode 100755 deploy/rancher/oom_rancher_setup.sh diff --git a/deploy/rancher/oom_entrypoint.sh b/deploy/rancher/oom_entrypoint.sh new file mode 100755 index 0000000..551f404 --- /dev/null +++ b/deploy/rancher/oom_entrypoint.sh @@ -0,0 +1,93 @@ +#!/bin/bash +############################################################################# +# +# Copyright © 2018 Amdocs. +# +# 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. +# +############################################################################# +# +# This installation is for a rancher managed install of kubernetes +# after this run the standard oom install +# this installation can be run on amy ubuntu 16.04 VM or physical host +# https://wiki.onap.org/display/DW/ONAP+on+Kubernetes +# source from https://jira.onap.org/browse/OOM-715 +# Michael O'Brien +# +# Amsterdam +# Rancher 1.6.10, Kubernetes 1.7.7, Kubectl 1.7.7, Helm 2.3.0, Docker 1.12 +# master +# Rancher 1.6.14, Kubernetes 1.8.10, Kubectl 1.8.10, Helm 2.8.2, Docker 17.03 +# run as root - because of the logout that would be required after the docker user set + +usage() { +cat <> /etc/hosts + + echo "If you must install as non-root - comment out the docker install below - run it separately, run the user mod, logout/login and continue this script" + curl https://releases.rancher.com/install-docker/$DOCKER_VERSION.sh | sh + # when running as non-root (ubuntu) run the following and logout/log back in + #sudo usermod -aG docker ubuntu + + echo "install make - required for beijing+" + sudo apt-get install make -y + + sudo docker run -d --restart=unless-stopped -p 8880:8080 --name rancher_server rancher/server:v$RANCHER_VERSION + sudo curl -LO https://storage.googleapis.com/kubernetes-release/release/v$KUBECTL_VERSION/bin/linux/amd64/kubectl + sudo chmod +x ./kubectl + sudo mv ./kubectl /usr/local/bin/kubectl + sudo mkdir ~/.kube + wget http://storage.googleapis.com/kubernetes-helm/helm-v${HELM_VERSION}-linux-amd64.tar.gz + sudo tar -zxvf helm-v${HELM_VERSION}-linux-amd64.tar.gz + sudo mv linux-amd64/helm /usr/local/bin/helm + + # create kubernetes environment on rancher using cli + RANCHER_CLI_VER=0.6.7 + KUBE_ENV_NAME=$ENVIRON + wget https://releases.rancher.com/cli/v${RANCHER_CLI_VER}/rancher-linux-amd64-v${RANCHER_CLI_VER}.tar.gz + sudo tar -zxvf rancher-linux-amd64-v${RANCHER_CLI_VER}.tar.gz + sudo cp rancher-v${RANCHER_CLI_VER}/rancher . + sudo chmod +x ./rancher + + echo "install jq" + apt install jq -y + echo "wait for rancher server container to finish - 3 min" + sleep 60 + echo "2 more min" + sleep 60 + echo "1 min left" + sleep 60 + + echo "get public and private tokens back to the rancher server so we can register the client later" + API_RESPONSE=`curl -s 'http://127.0.0.1:8880/v2-beta/apikey' -d '{"type":"apikey","accountId":"1a1","name":"autoinstall","description":"autoinstall","created":null,"kind":null,"removeTime":null,"removed":null,"uuid":null}'` + # Extract and store token + echo "API_RESPONSE: $API_RESPONSE" + KEY_PUBLIC=`echo $API_RESPONSE | jq -r .publicValue` + KEY_SECRET=`echo $API_RESPONSE | jq -r .secretValue` + echo "publicValue: $KEY_PUBLIC secretValue: $KEY_SECRET" + + export RANCHER_URL=http://${SERVER}:8880 + export RANCHER_ACCESS_KEY=$KEY_PUBLIC + export RANCHER_SECRET_KEY=$KEY_SECRET + ./rancher env ls + echo "wait 60 sec for rancher environments can settle before we create the onap kubernetes one" + sleep 60 + + echo "Creating kubernetes environment named ${KUBE_ENV_NAME}" + ./rancher env create -t kubernetes $KUBE_ENV_NAME > kube_env_id.json + PROJECT_ID=$( ~/.kube/config <