From 3a3e735a4498cc05697842d7b329374fffda90cf Mon Sep 17 00:00:00 2001 From: Bryan Sullivan Date: Wed, 18 Oct 2017 16:52:53 -0700 Subject: [PATCH] Tested updates to k8s-cluster and ceph-baremetal JIRA: MODELS-23 Initial draft of ceph-helm.sh for testing Change-Id: I39b2edebfe6e9b22de1addd69cc771845495ceb9 Signed-off-by: Bryan Sullivan --- tools/kubernetes/ceph-baremetal.sh | 2 +- tools/kubernetes/ceph-helm.sh | 54 ++++++++++++++++++++++++++++++++++++++ tools/kubernetes/demo_deploy.sh | 12 +++++---- tools/kubernetes/k8s-cluster.sh | 8 +++--- 4 files changed, 67 insertions(+), 9 deletions(-) diff --git a/tools/kubernetes/ceph-baremetal.sh b/tools/kubernetes/ceph-baremetal.sh index 55d2a7f..998d136 100644 --- a/tools/kubernetes/ceph-baremetal.sh +++ b/tools/kubernetes/ceph-baremetal.sh @@ -192,7 +192,7 @@ EOF kubectl describe pods } -if [[ "$1" .ne "" ]]; then +if [[ "$1" != "" ]]; then setup_ceph "$1" $2 $3 $4 else grep '#. ' $0 diff --git a/tools/kubernetes/ceph-helm.sh b/tools/kubernetes/ceph-helm.sh index 96a310c..038c438 100644 --- a/tools/kubernetes/ceph-helm.sh +++ b/tools/kubernetes/ceph-helm.sh @@ -30,3 +30,57 @@ #. #. Status: work in progress, incomplete # + +function setup_ceph() { + nodes=$1 + private_net=$2 + public_net=$3 + dev=$4 + # per https://github.com/att/netarbiter/tree/master/sds/ceph-docker/examples/helm + echo "${FUNCNAME[0]}: Clone netarbiter" + git clone https://github.com/att/netarbiter.git + + echo "${FUNCNAME[0]}: Create a .kube/config secret so that a K8s job could run kubectl inside the container" + cd netarbiter/sds/ceph-docker/examples/helm + kubectl create namespace ceph + ./create-secret-kube-config.sh ceph + ./helm-install-ceph.sh my_ceph_chart $private_net $public_net + + kubedns=$(kubectl get service -o json --namespace kube-system kube-dns | \ + jq -r '.spec.clusterIP') + case "$dev" in + sda) + sdb) + for node in $nodes; do + echo "${FUNCNAME[0]}: setup resolv.conf for $node" + echo < "" -#. "" [] +#. "" [] #. : name of private key for cluster node ssh (in current folder) #. : space separated list of hostnames managed by MAAS #. : IP of cluster master node #. : space separated list of agent node IPs #. : CID formatted public network #. : CIDR formatted private network (may be same as pub-net) +#. : "helm" or "baremetal" #. : optional name of script for extra setup functions as needed key=$1 @@ -45,20 +46,21 @@ master=$3 workers="$4" priv_net=$5 pub_net=$6 -extras=$7 +ceph_mode=$7 +extras=$8 -source ~/models/tools/maas/deploy.sh $1 "$2" $5 +source ~/models/tools/maas/deploy.sh $1 "$2" $8 eval `ssh-agent` ssh-add $key if [[ "x$extras" != "x" ]]; then source $extras; fi scp -o StrictHostKeyChecking=no $key ubuntu@$master:/home/ubuntu/$key echo "Setting up kubernetes..." -scp -o StrictHostKeyChecking=no ~/models/tools/kubernetes/k8s-cluster.sh \ +scp -r -o StrictHostKeyChecking=no ~/models/tools/kubernetes/* \ ubuntu@$master:/home/ubuntu/. ssh -x -o StrictHostKeyChecking=no ubuntu@$master <