Skip to content
This repository has been archived by the owner on Apr 17, 2019. It is now read-only.

Iroha Kubernetes #1697

Merged
merged 5 commits into from
Sep 24, 2018
Merged

Iroha Kubernetes #1697

merged 5 commits into from
Sep 24, 2018

Conversation

bakhtin
Copy link
Contributor

@bakhtin bakhtin commented Aug 30, 2018

Description of the Change

This PR introduces support for deploying Iroha on Kubernetes cluster. PR consists of two major components that configure instances and run Iroha service:

  • Terraform: prepares infrastructure for deploying Kubernetes cluster. It deploys user-configurable number of EC2 nodes in multiple AWS regions (3 by default) and creates VPC peering between them for seamless communication
  • Ansbile: there are two related roles
    1. kubespray. External module that deploys production-grade k8s cluster
    2. iroha-k8s. A role for generating configuration files for N Iroha nodes

Pod specification file can also be used for manual deployment. Terraform modules are ready for manual deployment as well if one needs it.
For more info regarding the structure and internals see README file in iroha-k8s Ansible role
There is also Deployment manual that describes the steps required for deploying k8s cluster from scratch and running Iroha service on it.

Benefits

Iroha can be deployed on Kubernetes cluster

Possible Drawbacks

None

Signed-off-by: Artyom Bakhtin <a@bakhtin.net>
Signed-off-by: Artyom Bakhtin <a@bakhtin.net>
Signed-off-by: Artyom Bakhtin <a@bakhtin.net>
Signed-off-by: Artyom Bakhtin <a@bakhtin.net>
@bakhtin bakhtin added needs-review pr awaits review from maintainers infrastructure anything related to continious integration, building infrastructure, or cmake labels Aug 30, 2018
Copy link
Contributor

@igor-egorov igor-egorov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool! Not tested. I would be glad to see a presentation of the feature via zoom or using any other convenient way.

Docs demo can be seen here https://html-vzfklvxpvt.now.sh/guides/k8s-deployment

@@ -0,0 +1 @@
aff50dae4ce7e0474c9f9fdf943744bebd4a1c66bb3bb76a8cc9218b431668e9
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably I miss something, but why not generate such keys on the go?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is to provide a set of pregenerated keys ready to be deployed on a cluster. Similar to ones we have in example directory


Preparation
^^^^^^^^^^^
You need to obtain AWS key for managing resources. We recommend to create a separate IAM user for that. Go to your AWS console, head to "My Security Credentials" menu and create a user in "Users" section. Assign "AmazonEC2FullAccess" and "AmazonVPCFullAccess" policies to that user. Click "Create access key" on Security credentials tab. Take a note for values of Access key ID and Secret key. Set these values as environment variables in your console:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please put each sentence on its own line. That will make reviewing and commenting easier.
Currently, this comment relates to the whole paragraph.

Copy link
Contributor

@tyvision tyvision left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything is ok. Great work!

Signed-off-by: Artyom Bakhtin <a@bakhtin.net>
@bakhtin bakhtin merged commit 54d2ef0 into dev Sep 24, 2018
@bakhtin bakhtin deleted the feature/k8s-oss branch September 24, 2018 15:05
bakhtin added a commit that referenced this pull request Nov 2, 2018
* submodule

Signed-off-by: Artyom Bakhtin <a@bakhtin.net>

* add docs

Signed-off-by: Artyom Bakhtin <a@bakhtin.net>

* add to index

Signed-off-by: Artyom Bakhtin <a@bakhtin.net>

* fix grammar

Signed-off-by: Artyom Bakhtin <a@bakhtin.net>

* fix comments

Signed-off-by: Artyom Bakhtin <a@bakhtin.net>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
infrastructure anything related to continious integration, building infrastructure, or cmake needs-review pr awaits review from maintainers
Development

Successfully merging this pull request may close these issues.

3 participants