1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #!/bin/bash
- # Copyright 2015 The Kubernetes Authors.
- #
- # 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 is an example script that creates a vttablet deployment.
- set -e
- script_root=`dirname "${BASH_SOURCE}"`
- source $script_root/env.sh
- # Create the pods for shard-0
- CELLS=${CELLS:-'test'}
- keyspace='test_keyspace'
- SHARDS=${SHARDS:-'0'}
- TABLETS_PER_SHARD=${TABLETS_PER_SHARD:-5}
- port=15002
- grpc_port=16002
- UID_BASE=${UID_BASE:-100}
- VTTABLET_TEMPLATE=${VTTABLET_TEMPLATE:-'vttablet-pod-template.yaml'}
- RDONLY_COUNT=${RDONLY_COUNT:-2}
- uid_base=$UID_BASE
- for shard in $(echo $SHARDS | tr "," " "); do
- cell_index=0
- for cell in `echo $CELLS | tr ',' ' '`; do
- echo "Creating $keyspace.shard-$shard pods in cell $CELL..."
- for uid_index in `seq 0 $(($TABLETS_PER_SHARD-1))`; do
- uid=$[$uid_base + $uid_index + $cell_index]
- printf -v alias '%s-%010d' $cell $uid
- printf -v tablet_subdir 'vt_%010d' $uid
- echo "Creating pod for tablet $alias..."
- # Add xx to beginning or end if there is a dash. K8s does not allow for
- # leading or trailing dashes for labels
- shard_label=`echo $shard | sed s'/[-]$/-xx/' | sed s'/^-/xx-/'`
- tablet_type=replica
- if [ $uid_index -gt $(($TABLETS_PER_SHARD-$RDONLY_COUNT-1)) ]; then
- tablet_type=rdonly
- fi
- # Expand template variables
- sed_script=""
- for var in alias cell uid keyspace shard shard_label port grpc_port tablet_subdir tablet_type backup_flags; do
- sed_script+="s,{{$var}},${!var},g;"
- done
- # Instantiate template and send to kubectl.
- cat $VTTABLET_TEMPLATE | sed -e "$sed_script" | $KUBECTL create -f -
- done
- let cell_index=cell_index+100000000
- done
- let uid_base=uid_base+100
- done
|