This is an example of how to 'become a cloud native' (Have a familiarity with the development pipeline used and orchestration)
This repo is intended for educational purposes
The following technologies are used within this repo:
- Skaffold
- Docker
- Kubernetes
- Helm
The project contains source code to a simple docker image
tibbar/cloud-native-example which runs a simple blacklist API.
You can interact with this API when it's running via the spec swagger/swagger.yaml
This project contains the dockerfile to build from the source code and the Skaffold configuration to develop against a local k8s cluster.
The k8s folder has three examples
- local (for skaffold to use and run a pod)
- vanilla (a barebones simple kubernetes deployment)
- helm (a helmified k8s release)
k8s
├── helm
│ └── cloud-native-example
│ ├── Chart.yaml
│ ├── charts
│ ├── templates
│ │ ├── NOTES.txt
│ │ ├── _helpers.tpl
│ │ ├── deployment.yaml
│ │ ├── ingress.yaml
│ │ ├── service.yaml
│ │ └── tests
│ │ └── test-connection.yaml
│ └── values.yaml
├── local
│ └── k8s-local-dev.yaml
└── vanilla
├── deployment.yaml
└── service.yaml
- I recommend you run
skaffold devmake some code changes and see the image rebuild. - You could then tag and push the new image.
- Following this you could try a kubernetes apply on a local cluster.
- Subsequently using helm to create then patch a release.
