sample app
March 22, 2019 ยท View on GitHub
This repository is a high level deployment defintion for Kubernetes. The repo contains Fabrikate defintions for a boilerplate Cloud Native stack and Helm charts for a demo application called Project Jackson.
Features
- Istio based canary deployment configuration of the Project Jackson API microservice
- Multicluster support
How to adjust the canary deployment traffic wights with Fabrikate
- Download version 0.3.0 or greater of Fabrikate
- From the root of this repository run the following command
fab set --subcomponent services.project-jackson.jackson-api service.canaryWeight=15
How to adjust the canary deployment traffic weights manually
- Navigate to the common.yaml file.
- Modifiy the
stableWeightandcanaryWeightvalues. (Below sure they total to 100)
config:
service:
name: jackson-api
port: 8080
labelName: jackson
canaryWeight: 10
stableWeight: 90
appName: spring-boot-api
enableVirtualService: true
enableDestinationRule: true
How to use TLS with Istio Ingress
-
See Istio TLS Documentation to generate ingress certificate secrets, and deploy them to your cluster.
-
Uncomment the TLS configuration (lines 15-27).
How to generate manifest YAML with Fabrikate on this repository
- Run Fabrikate at the root level of this repository
fab install .fab generate $ENV_CONFIG_NAME
Example of manifested YAML
This repository is linked to a manifest repository that has the output YAML
Deploying to Cluster
Make sure to apply jackson-secrets to your cluster.