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

     1  apiVersion: apps.kubeblocks.io/v1alpha1
     2  kind: ClusterDefinition
     3  metadata:
     4    name: mongodb-sharding
     5    labels:
     6      {{- include "mongodb.labels" . | nindent 4 }}
     7  spec:
     8    type: mongodb
     9    connectionCredential:
    10      username: root
    11      password: {{ (include "mongodb.password" .) | quote  }}
    12      endpoint: "$(SVC_FQDN):$(SVC_PORT_tcp-monogdb)"
    13      host: "$(SVC_FQDN)"
    14      port: "$(SVC_PORT_tcp-monogdb)"
    15      headlessEndpoint: "$(KB_CLUSTER_COMP_NAME)-0.$(HEADLESS_SVC_FQDN):$(SVC_PORT_tcp-monogdb)"
    16      headlessHost: "$(POD_NAME_PREFIX)-0.$(HEADLESS_SVC_FQDN)"
    17      headlessPort: "$(SVC_PORT_tcp-monogdb)"
    18    componentDefs:
    19      - name: mongos
    20        scriptSpecs:
    21          - name: mongodb-scripts
    22            templateRef: mongodb-sharding-scripts
    23            volumeName: scripts
    24            namespace: {{ .Release.Namespace }}
    25            defaultMode: 0555
    26        workloadType: Stateless
    27        service:
    28          ports:
    29            - name: mongos
    30              port: 27017
    31              targetPort: mongos
    32        podSpec:
    33          containers:
    34            - name: mongos
    35              ports:
    36                - name: mongos
    37                  containerPort: 27017
    38              command:
    39                - /scripts/mongos-setup.sh
    40              volumeMounts:
    41                - name: scripts
    42                  mountPath: /scripts/mongos-setup.sh
    43                  subPath: mongos-setup.sh
    44      - name: configsvr
    45        scriptSpecs:
    46          - name: mongodb-scripts
    47            templateRef: mongodb-sharding-scripts
    48            volumeName: scripts
    49            namespace: {{ .Release.Namespace }}
    50            defaultMode: 0555
    51        characterType: mongodb
    52        workloadType: Consensus
    53        consensusSpec:
    54          leader:
    55            name: "primary"
    56            accessMode: ReadWrite
    57          followers:
    58            - name: "secondary"
    59              accessMode: Readonly
    60          updateStrategy: Serial
    61        probes:
    62          roleProbe:
    63            failureThreshold: {{ .Values.roleProbe.failureThreshold }}
    64            periodSeconds: {{ .Values.roleProbe.periodSeconds }}
    65            timeoutSeconds: {{ .Values.roleProbe.timeoutSeconds }}
    66        service:
    67          ports:
    68            - name: configsvr
    69              port: 27018
    70              targetPort: configsvr
    71        podSpec:
    72          containers:
    73            - name: configsvr
    74              ports:
    75                - name: configsvr
    76                  containerPort: 27018
    77              command:
    78                - /scripts/replicaset-setup.sh
    79                - --configsvr
    80              lifecycle:
    81                postStart:
    82                  exec:
    83                    command:
    84                      - /scripts/replicaset-post-start.sh
    85                      - CONFIGSVR
    86                      - "true"
    87              volumeMounts:
    88                - name: scripts
    89                  mountPath: /scripts/replicaset-setup.sh
    90                  subPath: replicaset-setup.sh
    91                - name: scripts
    92                  mountPath: /scripts/replicaset-post-start.sh
    93                  subPath: replicaset-post-start.sh
    94      - name: shard
    95        scriptSpecs:
    96          - name: mongodb-scripts
    97            templateRef: mongodb-sharding-scripts
    98            volumeName: scripts
    99            namespace: {{ .Release.Namespace }}
   100            defaultMode: 0555
   101        characterType: mongodb
   102        workloadType: Consensus
   103        consensusSpec:
   104          leader:
   105            name: "primary"
   106            accessMode: ReadWrite
   107          followers:
   108            - name: "secondary"
   109              accessMode: Readonly
   110          updateStrategy: BestEffortParallel
   111        probes:
   112          roleProbe:
   113            failureThreshold: {{ .Values.roleProbe.failureThreshold }}
   114            periodSeconds: {{ .Values.roleProbe.periodSeconds }}
   115            timeoutSeconds: {{ .Values.roleProbe.timeoutSeconds }}
   116        service:
   117          ports:
   118            - name: shard
   119              port: 27018
   120              targetPort: shard
   121        podSpec:
   122          containers:
   123            - name: shard
   124              ports:
   125                - name: shard
   126                  containerPort: 27018
   127              command:
   128                - /scripts/replicaset-setup.sh
   129                - --shardsvr
   130              lifecycle:
   131                postStart:
   132                  exec:
   133                    command:
   134                      - /scripts/replicaset-post-start.sh
   135                      - SHARD
   136                      - "false"
   137              volumeMounts:
   138                - name: scripts
   139                  mountPath: /scripts/replicaset-setup.sh
   140                  subPath: replicaset-setup.sh
   141                - name: scripts
   142                  mountPath: /scripts/replicaset-post-start.sh
   143                  subPath: replicaset-post-start.sh
   144            - name: agent
   145              command:
   146                - /scripts/shard-agent.sh
   147              volumeMounts:
   148                - name: scripts
   149                  mountPath: /scripts/shard-agent.sh
   150                  subPath: shard-agent.sh