mirror of
https://github.com/bigchaindb/bigchaindb.git
synced 2024-10-13 13:34:05 +00:00
Simpler BigchainDB Instance Configuration in K8s (#1677)
* Simpler configuration of BigchainDB instance in a node * Update docs for BDB configuration * Changes as per @ttmc's comments
This commit is contained in:
parent
3946ab2f43
commit
9116836e4c
@ -123,8 +123,8 @@ receive requests from NGINX instance.
|
||||
It is set to ``80`` by default.
|
||||
|
||||
|
||||
vars.bigchaindb-api-port and vars.bigchaindb-ws-port
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
vars.bigchaindb-api-port, vars.bigchaindb-ws-port and Similar
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The ``bigchaindb-api-port`` is the port number on which BigchainDB is
|
||||
listening for HTTP requests. Currently set to ``9984`` by default.
|
||||
@ -132,6 +132,9 @@ listening for HTTP requests. Currently set to ``9984`` by default.
|
||||
The ``bigchaindb-ws-port`` is the port number on which BigchainDB is
|
||||
listening for Websocket requests. Currently set to ``9985`` by default.
|
||||
|
||||
There's another :ref:`page with a complete listing of all the BigchainDB Server
|
||||
configuration settings <Configuration Settings>`.
|
||||
|
||||
|
||||
bdb-config.bdb-keyring
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
@ -254,6 +254,16 @@ Step 7: Start the BigchainDB Kubernetes Service
|
||||
``bdb-instance-name`` is ``bdb-instance-0``, set the
|
||||
``spec.selector.app`` to ``bdb-instance-0-dep``.
|
||||
|
||||
* Set ``ports[0].port`` and ``ports[0].targetPort`` to the value set in the
|
||||
``bigchaindb-api-port`` in the ConfigMap above.
|
||||
This is the ``bdb-api-port`` in the file which specifies where BigchainDB
|
||||
listens for HTTP API requests.
|
||||
|
||||
* Set ``ports[1].port`` and ``ports[1].targetPort`` to the value set in the
|
||||
``bigchaindb-ws-port`` in the ConfigMap above.
|
||||
This is the ``bdb-ws-port`` in the file which specifies where BigchainDB
|
||||
listens for Websocket connections.
|
||||
|
||||
* Start the Kubernetes Service:
|
||||
|
||||
.. code:: bash
|
||||
@ -694,6 +704,11 @@ Step 16: Start a Kubernetes Deployment for BigchainDB
|
||||
richer monitoring and probing becomes available in BigchainDB, we will
|
||||
tweak the ``livenessProbe`` and ``readinessProbe`` parameters.
|
||||
|
||||
* Set the ports to be exposed from the pod in the
|
||||
``spec.containers[0].ports`` section. We currently expose 2 ports -
|
||||
``bigchaindb-api-port`` and ``bigchaindb-ws-port``. Set them to the
|
||||
values specified in the ConfigMap.
|
||||
|
||||
* Create the BigchainDB Deployment using:
|
||||
|
||||
.. code:: bash
|
||||
@ -787,7 +802,7 @@ To test the BigchainDB instance:
|
||||
|
||||
$ nslookup bdb-instance-0
|
||||
|
||||
$ dig +noall +answer _bdb-port._tcp.bdb-instance-0.default.svc.cluster.local SRV
|
||||
$ dig +noall +answer _bdb-api-port._tcp.bdb-instance-0.default.svc.cluster.local SRV
|
||||
|
||||
$ dig +noall +answer _bdb-ws-port._tcp.bdb-instance-0.default.svc.cluster.local SRV
|
||||
|
||||
@ -854,9 +869,12 @@ Step 19.2: Testing Externally
|
||||
Check the MongoDB monitoring and backup agent on the MongoDB Cloud Manager
|
||||
portal to verify they are working fine.
|
||||
|
||||
Try to access the ``<DNS/IP of your exposed BigchainDB service endpoint>:80``
|
||||
on your browser. You should receive a JSON response that shows the BigchainDB
|
||||
If you are using the NGINX with HTTP support, accessing the URL
|
||||
``http://<DNS/IP of your exposed BigchainDB service endpoint>:cluster-frontend-port``
|
||||
on your browser should result in a JSON response that shows the BigchainDB
|
||||
server version, among other things.
|
||||
If you are using the NGINX with HTTPS support, use ``https`` instead of
|
||||
``http`` above.
|
||||
|
||||
Use the Python Driver to send some transactions to the BigchainDB node and
|
||||
verify that your node or cluster works as expected.
|
||||
|
@ -23,19 +23,37 @@ spec:
|
||||
name: vars
|
||||
key: mdb-instance-name
|
||||
- name: BIGCHAINDB_DATABASE_PORT
|
||||
value: "27017"
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: vars
|
||||
key: mongodb-backend-port
|
||||
- name: BIGCHAINDB_DATABASE_REPLICASET
|
||||
value: bigchain-rs
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: vars
|
||||
key: mongodb-replicaset-name
|
||||
- name: BIGCHAINDB_DATABASE_BACKEND
|
||||
value: mongodb
|
||||
- name: BIGCHAINDB_DATABASE_NAME
|
||||
value: bigchain
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: vars
|
||||
key: bigchaindb-database-name
|
||||
- name: BIGCHAINDB_SERVER_BIND
|
||||
value: 0.0.0.0:9984
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: vars
|
||||
key: bigchaindb-server-bind
|
||||
- name: BIGCHAINDB_WSSERVER_HOST
|
||||
value: 0.0.0.0
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: vars
|
||||
key: bigchaindb-ws-interface
|
||||
- name: BIGCHAINDB_WSSERVER_PORT
|
||||
value: "9985"
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: vars
|
||||
key: bigchaindb-ws-port
|
||||
- name: BIGCHAINDB_KEYPAIR_PUBLIC
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
@ -44,13 +62,25 @@ spec:
|
||||
- name: BIGCHAINDB_KEYPAIR_PRIVATE
|
||||
value: "<private key here>"
|
||||
- name: BIGCHAINDB_BACKLOG_REASSIGN_DELAY
|
||||
value: "120"
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: bdb-config
|
||||
key: bigchaindb-backlog-reassign-delay
|
||||
- name: BIGCHAINDB_DATABASE_MAXTRIES
|
||||
value: "3"
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: bdb-config
|
||||
key: bigchaindb-database-maxtries
|
||||
- name: BIGCHAINDB_DATABASE_CONNECTION_TIMEOUT
|
||||
value: "120"
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: bdb-config
|
||||
key: bigchaindb-database-connection-timeout
|
||||
- name: BIGCHAINDB_LOG_LEVEL_CONSOLE
|
||||
value: debug
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: bdb-config
|
||||
key: bigchaindb-log-level
|
||||
- name: BIGCHAINDB_DATABASE_SSL
|
||||
value: "true"
|
||||
- name: BIGCHAINDB_DATABASE_CA_CERT
|
||||
@ -73,14 +103,12 @@ spec:
|
||||
# name: bdb-config
|
||||
# key: bdb-keyring
|
||||
ports:
|
||||
- containerPort: 9984
|
||||
hostPort: 9984
|
||||
- containerPort: "<bigchaindb-api-port from ConfigMap>"
|
||||
protocol: TCP
|
||||
name: bdb-port
|
||||
- containerPort: "<bigchaindb-ws-port from ConfigMap>"
|
||||
protocol: TCP
|
||||
- containerPort: 9985
|
||||
hostPort: 9985
|
||||
name: bdb-ws-port
|
||||
protocol: TCP
|
||||
volumeMounts:
|
||||
- name: bdb-certs
|
||||
mountPath: /etc/bigchaindb/ssl/
|
||||
@ -92,13 +120,15 @@ spec:
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: 9984
|
||||
port: bdb-port
|
||||
initialDelaySeconds: 15
|
||||
periodSeconds: 15
|
||||
failureThreshold: 3
|
||||
timeoutSeconds: 10
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: 9984
|
||||
port: bdb-port
|
||||
initialDelaySeconds: 15
|
||||
timeoutSeconds: 10
|
||||
restartPolicy: Always
|
||||
|
@ -9,11 +9,11 @@ spec:
|
||||
selector:
|
||||
app: bdb-instance-0-dep
|
||||
ports:
|
||||
- port: 9984
|
||||
targetPort: 9984
|
||||
name: bdb-port
|
||||
- port: 9985
|
||||
targetPort: 9985
|
||||
- port: "<bigchaindb-api-port from ConfigMap>"
|
||||
targetPort: "<bigchaindb-api-port from ConfigMap>"
|
||||
name: bdb-api-port
|
||||
- port: "<bigchaindb-ws-port from ConfigMap>"
|
||||
targetPort: "<bigchaindb-ws-port from ConfigMap>"
|
||||
name: bdb-ws-port
|
||||
type: ClusterIP
|
||||
clusterIP: None
|
||||
|
@ -70,13 +70,45 @@ data:
|
||||
# receive requests from NGINX instance.
|
||||
openresty-backend-port: "80"
|
||||
|
||||
# BigchainDB configuration parameters
|
||||
# Refer https://docs.bigchaindb.com/projects/server/en/latest/server-reference/configuration.html
|
||||
|
||||
# bigchaindb-api-port is the port number on which BigchainDB is listening
|
||||
# for HTTP requests.
|
||||
bigchaindb-api-port: "9984"
|
||||
|
||||
# bigchaindb-ws-port is the port number on which BigchainDB is listening
|
||||
# for Websocket requests.
|
||||
# bigchaindb-server-bind is the socket where BigchainDB binds for API
|
||||
# requests.
|
||||
bigchaindb-server-bind: "0.0.0.0:9984"
|
||||
|
||||
# bigchaindb-ws-port and bigchaindb-ws-interface form the socket where
|
||||
# BigchainDB binds for Websocket connections.
|
||||
bigchaindb-ws-port: "9985"
|
||||
bigchaindb-ws-interface: "0.0.0.0"
|
||||
|
||||
# mongodb-replicaset-name is the MongoDB replica set name
|
||||
mongodb-replicaset-name: "bigchain-rs"
|
||||
|
||||
# bigchaindb-database-name is the database collection used by BigchainDB with
|
||||
# the MongoDB backend.
|
||||
bigchaindb-database-name: "bigchain"
|
||||
|
||||
# bigchaindb-backlog-reassign-delay is the number of seconds a transaction
|
||||
# can remain in the backlog before being reassigned.
|
||||
bigchaindb-backlog-reassign-delay: "120"
|
||||
|
||||
# bigchaindb-database-maxtries is the maximum number of times that BigchainDB
|
||||
# will try to establish a connection with the database backend.
|
||||
# If it is set to 0, then it will try forever.
|
||||
bigchaindb-database-maxtries: "3"
|
||||
|
||||
# bigchaindb-database-connection-timeout is the maximum number of
|
||||
# milliseconds that BigchainDB will wait before closing the connection while
|
||||
# connecting to the database backend.
|
||||
bigchaindb-database-connection-timeout: "5000"
|
||||
|
||||
# bigchaindb-log-level is the log level used to log to the console.
|
||||
bigchaindb-log-level: "debug"
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
|
@ -34,7 +34,10 @@ spec:
|
||||
fieldRef:
|
||||
fieldPath: status.podIP
|
||||
- name: MONGODB_REPLICA_SET_NAME
|
||||
value: bigchain-rs
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: vars
|
||||
key: mongodb-replicaset-name
|
||||
- name: MONGODB_PORT
|
||||
value: "27017"
|
||||
args:
|
||||
|
Loading…
x
Reference in New Issue
Block a user