Skip to content

Commit c602c29

Browse files
committed
Initial Commit
0 parents  commit c602c29

File tree

9 files changed

+79
-0
lines changed

9 files changed

+79
-0
lines changed

README.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
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)

deploy/kubernetes/.gitkeep

Whitespace-only changes.

docs/digitalocean-install.md

Whitespace-only changes.

docs/digitalocean-teardown.md

Whitespace-only changes.

docs/gke-install.md

Whitespace-only changes.

docs/gke-teardown.md

Whitespace-only changes.

docs/minikube-install.md

Whitespace-only changes.

docs/minikube-teardown.md

Whitespace-only changes.

examples/podinfo-dep.yaml

Whitespace-only changes.

0 commit comments

Comments
 (0)