mirror of
				https://github.com/k3s-io/kubernetes.git
				synced 2025-10-30 21:30:16 +00:00 
			
		
		
		
	This also enables built-in backup, so the caveat about starting new pods no longer applies.
		
			
				
	
	
		
			69 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| # Copyright 2015 The Kubernetes Authors All rights reserved.
 | |
| #
 | |
| # 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
 |