Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

K8S Platform Specific Deployment for Core module #27

Open
dzahariev opened this issue Mar 23, 2018 · 1 comment
Open

K8S Platform Specific Deployment for Core module #27

dzahariev opened this issue Mar 23, 2018 · 1 comment

Comments

@dzahariev
Copy link
Member

dzahariev commented Mar 23, 2018

Background

Service Manager exists outside of all platforms, as it is consumable (reached) through it’s REST API.
Anyway it need to be deployed somewhere (on some infrastructure/platform) and we tend to support at least 2 options - K8S and CF as host platforms for SM.
The implementation is separated on 2 parts:
Core module - that take cares for Business logic implementation including:

  • Initial configuration through environment
  • REST API implementation
  • Domain and Data model
  • Persistency handling through provided configuration to persistency provider
  • Extensibility capabilities
  • Healthcheck endpoint

Platform specific module - that take cares for packaging and platform specific configuration like:

  • Platform specific deployment details - CPU, RAM, Buildpack, VM type, …
  • Platform specific packaging details - archive or image preparation
  • Platform specific provisioning and deployment scripts ensuring HA and Blue/Green deployment
  • Platform specific health check requirements to the core module
  • Persistency provider configurations
  • Identity management provider configurations
  • Registration of Custom URL for the deployed service
  • HTTPS support

Example with Go Application packaging for K8S can be seen on:
https://github.com/kubernetes/examples/tree/master/guestbook-go

Easy of deployment that is good to achieve is like following:
https://github.com/kubernetes/dashboard/releases

An yaml file that have all configurations needed inside:
https://github.com/kubernetes/dashboard/blob/master/src/deploy/recommended/kubernetes-dashboard.yaml

Objective

Prepare K8S Platform dependent module.

Acceptance Criteria

  • I can build (prepare deployable) with a script that is included in the repository
  • README document with deployment process including preconditions, installation steps and configuration details is included
  • Following the steps I can deploy and start the SM Core module in K8S environment
@dotchev
Copy link
Contributor

dotchev commented Mar 27, 2018

Some K8S apps like the Service Catalog use Helm charts for deployment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants