Commit Graph

14 Commits

Author SHA1 Message Date
Sylvain Bellemare 10ae647d36 Update tag version of docker image for k8s 2017-06-29 15:09:33 +02:00
Krish 28042a7e83 Add NGINX integration with 3scale on Kubernetes (#1392)
* Add NGINX integration with 3scale on Kubernetes
2017-04-13 17:34:25 +02:00
Krish 425397f644 NGINX frontend for MongoDB and BigchainDB (#1304)
- Added NGINX deployment to frontend both BDB and MDB.
- Nginx is configured with a whitelist (which is read from a ConfigMap)
to allow only other MDB nodes in the closter to communicate with it.
- Azure LB apparently does not support proxy protocol and hence
whitelisting fails as nginx always observer the LB IP instead of the
real IP in the TCP stream.
- Whitelisting source IPs for MongoDB
- Removing deprecated folder
- Better log format
- Intuitive port number usage
- README and examples
- Addressed a typo in PYTHON_STYLE_GUIDE.md
- Azure LB apparently does not support proxy protocol and hence
whitelisting fails as nginx always observer the LB IP instead of the
real IP in the TCP stream.
- Whitelisting source IPs for MongoDB
- Removing deprecated folder
- Multiple changes:
- Better log format
- Intuitive port number usage
- README and examples
- Addressed a typo in PYTHON_STYLE_GUIDE.md
- Documentation
- add the k8s directory to the ignore list in codecov.yml
2017-03-22 14:25:25 +01:00
Krish ea6ce5c1a1 Single node/cluster bootstrap and node addition workflow in k8s (#1278)
* Combining configs
*  Combining the persistent volume claims into a single file.
*  Combining the storage classes into a single file.

* Updating documentation

* Multiple changes
*  Support for ConfigMap
*  Custom MongoDB container for BigchainDB
*  Update documentation to run a single node on k8s

* Additional documentation

* Documentation to add a node to an existing BigchainDB cluster

* Commit on rolling upgrades

* Fixing minor documentation mistakes

* Documentation updates as per @ttmc's comments

* Block formatting error

* Change in ConfigMap yaml config
2017-03-15 16:22:49 +01:00
Troy McConaghy e0366468ec Fix comments in bigchaindb/toolbox Dockerfile
The comments were referring to another Docker image (`krish7919/toolbox`).
2017-03-13 18:14:18 +01:00
Krish 7dbd374838 Running a single node on k8s (#1269)
* Single node as a StatefulSet in k8s
- uses bigchaindb/bigchaindb:0.9.1

* Updating README

* rdb, mdb as stateful services

* [WIP] bdb as a statefulset

* [WIP] bdb w/ rdb and bdb w/ mdb backends
- does not work as of now

* Split mdb & bdb into separate pods + enhancements
*  discovery of the mongodb service by the bdb pod by using dns name.
*  using separate storage classes to map 2 different volumes exposed by the
mongo docker container; one for /data/db (dbPath) and the other for
 /data/configdb (configDB).
*  using the `persistentVolumeReclaimPolicy: Retain` in k8s pvc. However,
this seems to be unsupported in Azure and the disks still show a reclaim
policy of `delete`.
*  mongodb container runs the `mongod` process as user `mongodb` and group
`mongodb. The corresponding `uid` and `gid` for the `mongod` process is 999
and 999 respectively. When the constinaer runs on a host with a mounted disk,
the writes fail, when there is no user with uid 999. To avoid this, I use the
docker provided feature of --cap-add=FOWNER in k8s. This bypasses the uid and
gid permission checks during writes and allows writes.
Ref: https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities

* Delete redundant k8s files, add cluster deletion steps.

* Single node as a StatefulSet in k8s
- uses bigchaindb/bigchaindb:0.9.1

* Updating README

* rdb, mdb as stateful services

* [WIP] bdb as a statefulset

* [WIP] bdb w/ rdb and bdb w/ mdb backends
- does not work as of now

* Split mdb & bdb into separate pods + enhancements
*  discovery of the mongodb service by the bdb pod by using dns name.
*  using separate storage classes to map 2 different volumes exposed by the
mongo docker container; one for /data/db (dbPath) and the other for
 /data/configdb (configDB).
*  using the `persistentVolumeReclaimPolicy: Retain` in k8s pvc. However,
this seems to be unsupported in Azure and the disks still show a reclaim
policy of `delete`.
*  mongodb container runs the `mongod` process as user `mongodb` and group
`mongodb. The corresponding `uid` and `gid` for the `mongod` process is 999
and 999 respectively. When the constinaer runs on a host with a mounted disk,
the writes fail, when there is no user with uid 999. To avoid this, I use the
docker provided feature of --cap-add=FOWNER in k8s. This bypasses the uid and
gid permission checks during writes and allows writes.
Ref: https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities

* Delete redundant k8s files, add cluster deletion steps.

* Documentation: running a single node with distinct mongodb and bigchaindb
pods on k8s

* Updates as per @ttmc's comments
2017-03-09 16:53:00 +01:00
Troy McConaghy 880729cac2 minor changes to 2 yml files + added RDB intracluster port 2017-03-05 16:47:12 +01:00
krish7919 (Krish) 93d06b4e2a PVC for MDB in single BDB+MDB StatefulSet 2017-03-04 20:05:30 +01:00
krish7919 (Krish) b9e5bc84d9 Merge branch 'k8s-node' of github.com:bigchaindb/bigchaindb into local-k8s-node 2017-03-03 17:35:16 +01:00
krish7919 (Krish) 43284798fe Run bdb:latest with mongodb:3.4.1 as separate containers in the same pod 2017-03-03 17:34:50 +01:00
Troy McConaghy e1d7f95a8c Switch to PVC for RDB in single BDB+RDB StatefulSet 2017-03-03 15:57:35 +01:00
Troy McConaghy 30db8a4e30 Renamed 'bdb091-server' to 'bdb-server' 2017-03-03 14:20:43 +01:00
krish7919 (Krish) 9228e69355 Run bdb:latest with rdb:2.3 as separate containers in the same pod 2017-03-03 12:07:49 +01:00
krish7919 (Krish) 64f4afb7ad Run bdb v0.9.1 as a pod in k8s 2017-03-03 10:19:09 +01:00