|
| 1 | +Kubecon Seattle 2018 Gitops Tutorial |
| 2 | +==================================== |
| 3 | + |
| 4 | + |
| 5 | +XXX: about, slides, weaveworks, brice |
| 6 | + |
| 7 | +Prerequisites |
| 8 | +------------- |
| 9 | + |
| 10 | +### A Kubernetes cluster |
| 11 | + |
| 12 | +In order to conplete this tutorial, you will need a test kubernetes cluster. You have several options to quikcly get a development cluster to test out Gitops |
| 13 | + |
| 14 | +1. Run [Minikube]() locally. This will require you to have [Virtualbox]() installed. This is great if you have virtualbox installed, but the download is over 2GB. See the [setup isntructions for Minikube](docs/minikube-install.md). |
| 15 | +2. Use [Google Kubernetes Engine](). You'll need to have a google cloud instance set up to do this, and it will cost you a small amount to keep your cluster running. See the [setup instructions for GKE](docs/gke-install.md) |
| 16 | +3. Set up a cluster on [DigitalOcean](). This will also cost you a little to keep your cluster running. You can follow the [setup instructions for Digital Ocean](docs/digitalocean-install.md) to do this. |
| 17 | + |
| 18 | +You may have another way of getting a kubernetes cluster up and running. If that's the case, great! This tutorial should work with any valid kubernetes installation. |
| 19 | + |
| 20 | +Before you begin, you should make sure you have configured the `kubectl` command to point to your cluster and can query basic information. for example, run |
| 21 | + |
| 22 | +``` |
| 23 | +➤ kubectl get pods --all-namespaces |
| 24 | +``` |
| 25 | + |
| 26 | +To get a listing of all the running pod on your cluster. If this command completes succesfully, you're ready to go onto the next step. |
| 27 | + |
| 28 | +### A github or bitbucket account |
| 29 | + |
| 30 | + |
| 31 | +Getting started with Gitops |
| 32 | +--------------------------- |
| 33 | + |
| 34 | +### 1. Clone this repository |
| 35 | +in order to control the operation of your cluster using gitops, you'll need to |
| 36 | + |
| 37 | +### 2. Install the flux operator on your cluster |
| 38 | + |
| 39 | +### 3. Configure the operator to read from your repository |
| 40 | +- Add deploy keys with github repo |
| 41 | +- Configure the deploy operator to point to your cloned repository, to the `deploy/kubernetes` folder |
| 42 | + |
| 43 | + |
| 44 | +### 4. Add a yaml file |
| 45 | +Now that the operator is set up to react to changes in your repository's `deploy/kubernetes` directory, we need to provide it with some configuration for it to synchronise. |
| 46 | + |
| 47 | +### 5. Manually delete a deployment |
| 48 | +Now that we know that the gitops operator is running in your cluster, let's check the control group |
| 49 | + |
| 50 | +### 6. Modify the configuration and commit your changes |
| 51 | +- look at number of running pod for service |
| 52 | +- scale up deployment in the yaml |
| 53 | +- commit |
| 54 | +- watch the cluster for the change |
| 55 | + |
| 56 | +### 7. Automate deployment |
| 57 | +- look at version of deployment |
| 58 | +- add automation annotation |
| 59 | +- watch to see the cluster update to latest version |
| 60 | + |
| 61 | +### 6. Bonus: Deploy monitoring in a gitops way |
| 62 | +- copy the monitoring folder yamls |
| 63 | +- Look at the exposed service for grafana |
| 64 | +- modify the dashboard script to add a new dashboard |
| 65 | +- commit the changes. |
| 66 | + |
| 67 | + |
| 68 | + |
| 69 | + |
| 70 | + |
| 71 | + |
| 72 | +Finally |
| 73 | +------- |
| 74 | + |
| 75 | +Now you're done with this tutorial, make sure you delete your cluster so you don't incur running costs. See the |
| 76 | + |
| 77 | +- [Teardown instructions for Minikube](docs/minikube-teardown.md) |
| 78 | +- [Teardown instructions for GKE](docs/gke-teardown.md) |
| 79 | +- [Teardown instructions for DigitalOcean](digitalocean-teardown.md) |
0 commit comments