github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/mongodb/templates/sharding-scriptstemplate.yaml (about)

     1  apiVersion: v1
     2  kind: ConfigMap
     3  metadata:
     4    name: mongodb-sharding-scripts
     5    labels:
     6      {{- include "mongodb.labels" . | nindent 4 }}
     7  data:
     8    mongos-setup.sh: |-
     9      #!/bin/sh
    10      
    11      PORT=27018 
    12      CONFIG_SVR_NAME=$KB_CLUSTER_NAME"-configsvr"
    13      DOMAIN=$CONFIG_SVR_NAME"-headless."$KB_NAMESPACE".svc.cluster.local"
    14      mongos --bind_ip_all --configdb $CONFIG_SVR_NAME/$CONFIG_SVR_NAME"-0."$DOMAIN:$PORT,$CONFIG_SVR_NAME"-1."$DOMAIN:$PORT,$CONFIG_SVR_NAME"-2."$DOMAIN:$PORT
    15    replicaset-setup.sh: |-
    16      {{- .Files.Get "scripts/replicaset-setup.tpl" | nindent 4 }}
    17    replicaset-post-start.sh: |-
    18      {{- .Files.Get "scripts/replicaset-post-start.tpl" | nindent 4 }}
    19    shard-agent.sh: |-
    20      #!/bin/sh
    21      
    22      INDEX=$(echo $KB_POD_NAME | grep -o "\-[0-9]\+\$");
    23      INDEX=${INDEX#-};
    24      if [ $INDEX -ne 0 ]; then
    25        trap : TERM INT; (while true; do sleep 1000; done) & wait
    26      fi
    27  
    28      # wait main container ready
    29      PORT=27018
    30      until mongosh --quiet --port $PORT --eval "rs.status().ok"; do sleep 1; done
    31      # add shard to mongos
    32      SHARD_NAME=$(echo $KB_POD_NAME | grep -o ".*-");
    33      SHARD_NAME=${SHARD_NAME%-};
    34      DOMAIN=$SHARD_NAME"-headless."$KB_NAMESPACE".svc.cluster.local"
    35      MONGOS_HOST=$KB_CLUSTER_NAME"-mongos"
    36      MONGOS_PORT=27017
    37      SHARD_CONFIG=$SHARD_NAME/$SHARD_NAME"-0."$DOMAIN:$PORT,$SHARD_NAME"-1."$DOMAIN:$PORT,$SHARD_NAME"-2."$DOMAIN:$PORT
    38      until mongosh --quiet --host $MONGOS_HOST --port $MONGOS_PORT --eval "print('service is ready')"; do sleep 1; done
    39      mongosh --quiet --host $MONGOS_HOST --port $MONGOS_PORT --eval "sh.addShard(\"$SHARD_CONFIG\")"
    40  
    41      trap : TERM INT; (while true; do sleep 1000; done) & wait