sample app
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
stableWeight
andcanaryWeight
values. (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.