################################################################# # This YAML file desribes a StatefulSet with two containers: # # bigchaindb/bigchaindb:latest and mongo:3.4.1 # # It also describes a Service to expose BigchainDB and MongoDB. # ################################################################# apiVersion: v1 kind: Service metadata: name: bdb-service namespace: default labels: name: bdb-service spec: selector: app: bdb ports: - port: 9984 targetPort: 9984 name: bdb-http-api - port: 27017 targetPort: 27017 name: mongodb-port type: LoadBalancer --- apiVersion: apps/v1beta1 kind: StatefulSet metadata: name: bdb namespace: default spec: serviceName: bdb replicas: 1 template: metadata: name: bdb labels: app: bdb #annotations: #pod.beta.kubernetes.io/init-containers: '[ # TODO mongodb user and group; id = 999 spec: terminationGracePeriodSeconds: 10 containers: - name: bigchaindb image: bigchaindb/bigchaindb:master args: - start env: - name: BIGCHAINDB_KEYPAIR_PRIVATE value: 3CjmRhu718gT1Wkba3LfdqX5pfYuBdaMPLd7ENUga5dm - name: BIGCHAINDB_KEYPAIR_PUBLIC value: EEWUAhsk94ZUHhVw7qx9oZiXYDAWc9cRz93eMrsTG4kZ - name: BIGCHAINDB_KEYRING value: "" - name: BIGCHAINDB_DATABASE_BACKEND value: mongodb - name: BIGCHAINDB_DATABASE_HOST value: localhost - name: BIGCHAINDB_DATABASE_PORT value: "27017" - name: BIGCHAINDB_SERVER_BIND value: "0.0.0.0:9984" - name: BIGCHAINDB_DATABASE_REPLICASET value: bigchain-rs - name: BIGCHAINDB_DATABASE_NAME value: bigchain - name: BIGCHAINDB_BACKLOG_REASSIGN_DELAY value: "120" imagePullPolicy: IfNotPresent ports: - containerPort: 9984 hostPort: 9984 name: bdb-port protocol: TCP resources: limits: cpu: 200m memory: 768Mi livenessProbe: httpGet: path: / port: bdb-port initialDelaySeconds: 15 timeoutSeconds: 10 - name: mongodb image: mongo:3.4.1 args: - --replSet=bigchain-rs imagePullPolicy: IfNotPresent ports: - containerPort: 27017 hostPort: 27017 name: mdb-port protocol: TCP volumeMounts: - name: mdb-data mountPath: /data resources: limits: cpu: 200m memory: 768Mi livenessProbe: tcpSocket: port: mdb-port successThreshold: 1 failureThreshold: 3 periodSeconds: 15 timeoutSeconds: 1 restartPolicy: Always volumes: - name: mdb-data persistentVolumeClaim: claimName: mongoclaim