mirror of
				https://github.com/k3s-io/kubernetes.git
				synced 2025-10-27 03:28:28 +00:00 
			
		
		
		
	Search and replace for references to moved examples Reverted find and replace paths on auto gen docs Reverting changes to changelog Fix bugs in test-cmd.sh Fixed path in examples README ran update-all successfully Updated verify-flags exceptions to include renamed files
		
			
				
	
	
		
			86 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| # Copyright 2014 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.
 | |
| 
 | |
| function launchmaster() {
 | |
|   if [[ ! -e /redis-master-data ]]; then
 | |
|     echo "Redis master data doesn't exist, data won't be persistent!"
 | |
|     mkdir /redis-master-data
 | |
|   fi
 | |
|   redis-server /redis-master/redis.conf --protected-mode no
 | |
| }
 | |
| 
 | |
| function launchsentinel() {
 | |
|   while true; do
 | |
|     master=$(redis-cli -h ${REDIS_SENTINEL_SERVICE_HOST} -p ${REDIS_SENTINEL_SERVICE_PORT} --csv SENTINEL get-master-addr-by-name mymaster | tr ',' ' ' | cut -d' ' -f1)
 | |
|     if [[ -n ${master} ]]; then
 | |
|       master="${master//\"}"
 | |
|     else
 | |
|       master=$(hostname -i)
 | |
|     fi
 | |
| 
 | |
|     redis-cli -h ${master} INFO
 | |
|     if [[ "$?" == "0" ]]; then
 | |
|       break
 | |
|     fi
 | |
|     echo "Connecting to master failed.  Waiting..."
 | |
|     sleep 10
 | |
|   done
 | |
| 
 | |
|   sentinel_conf=sentinel.conf
 | |
| 
 | |
|   echo "sentinel monitor mymaster ${master} 6379 2" > ${sentinel_conf}
 | |
|   echo "sentinel down-after-milliseconds mymaster 60000" >> ${sentinel_conf}
 | |
|   echo "sentinel failover-timeout mymaster 180000" >> ${sentinel_conf}
 | |
|   echo "sentinel parallel-syncs mymaster 1" >> ${sentinel_conf}
 | |
|   echo "bind 0.0.0.0"
 | |
| 
 | |
|   redis-sentinel ${sentinel_conf} --protected-mode no
 | |
| }
 | |
| 
 | |
| function launchslave() {
 | |
|   while true; do
 | |
|     master=$(redis-cli -h ${REDIS_SENTINEL_SERVICE_HOST} -p ${REDIS_SENTINEL_SERVICE_PORT} --csv SENTINEL get-master-addr-by-name mymaster | tr ',' ' ' | cut -d' ' -f1)
 | |
|     if [[ -n ${master} ]]; then
 | |
|       master="${master//\"}"
 | |
|     else
 | |
|       echo "Failed to find master."
 | |
|       sleep 60
 | |
|       exit 1
 | |
|     fi 
 | |
|     redis-cli -h ${master} INFO
 | |
|     if [[ "$?" == "0" ]]; then
 | |
|       break
 | |
|     fi
 | |
|     echo "Connecting to master failed.  Waiting..."
 | |
|     sleep 10
 | |
|   done
 | |
|   sed -i "s/%master-ip%/${master}/" /redis-slave/redis.conf
 | |
|   sed -i "s/%master-port%/6379/" /redis-slave/redis.conf
 | |
|   redis-server /redis-slave/redis.conf --protected-mode no
 | |
| }
 | |
| 
 | |
| if [[ "${MASTER}" == "true" ]]; then
 | |
|   launchmaster
 | |
|   exit 0
 | |
| fi
 | |
| 
 | |
| if [[ "${SENTINEL}" == "true" ]]; then
 | |
|   launchsentinel
 | |
|   exit 0
 | |
| fi
 | |
| 
 | |
| launchslave
 |