|
1 | 1 | # Introduction
|
2 | 2 |
|
3 |
| -TODO! |
| 3 | +TODO! document the attack vectors |
4 | 4 |
|
5 | 5 | > We’ll start with possible attack vectors, to help you map out the threat model that applies to your cluster, so you can figure out where you need to focus your efforts for security.
|
6 | 6 |
|
7 |
| -> We’ll show you how to compromise a deployment with a pod running with a known vulnerability. Once you’ve had the attacker’s eye-view, we’ll walk you through the most important techniques and open source tools to prevent compromise. |
| 7 | +We’ll show you how to compromise a deployment with a pod running with a known vulnerability. Once you’ve had the attacker’s eye-view, we’ll walk you through the most important techniques and open source tools to prevent compromise. |
| 8 | + |
| 9 | +- [Scanning container images for vulnerabilities](scanning.md) |
| 10 | +- [Configuring container images with security in mind, and checking them with policies](policies.md) |
| 11 | +- [Checking your Kubernetes configuration](settings.md) |
| 12 | +- [Enhancing security using GitOps](gitops.md) |
8 | 13 |
|
9 | 14 | ## Create a Kubernetes cluster
|
10 | 15 |
|
11 |
| -To follow along with the practical examples in this tutorial you'll need a Kubernetes cluster that you can experiment with. Since at times you will be deploying insecure code, please don't use your production cluster! You can run a cluster locally on your laptop, for example using [Kind - Kubernetes IN Docker](https://kind.sigs.k8s.io). |
| 16 | +To follow along with the practical examples in this tutorial you'll need a Kubernetes cluster that you can experiment with. Since at times you will be deploying insecure code, please don't use your production cluster! You can run a cluster locally on your laptop, for example using [Kind - Kubernetes IN Docker](https://kind.sigs.k8s.io). We'll also be using Helm to run software on the Kind cluster. |
12 | 17 |
|
13 | 18 | ### Install kind
|
14 | 19 |
|
@@ -56,4 +61,35 @@ NAME STATUS ROLES AGE VERSION
|
56 | 61 | kind-control-plane Ready master 78m v1.18.2
|
57 | 62 | ```
|
58 | 63 |
|
59 |
| -Great! You have a Kubernetes cluster running locally that you can experiment with. |
| 64 | +Great! You have a Kubernetes cluster running locally that you can experiment with. |
| 65 | + |
| 66 | +## Install Helm |
| 67 | + |
| 68 | +If you don't already have Helm on your laptop, you'll want to install that too. Find full instructions in the [Helm documentation](https://helm.sh/docs/intro/install/) or here is a quick guide: |
| 69 | + |
| 70 | +On MacOS using Homebrew: |
| 71 | + |
| 72 | +``` |
| 73 | +brew install helm |
| 74 | +``` |
| 75 | + |
| 76 | +On MacOS / Linux: |
| 77 | + |
| 78 | +``` |
| 79 | +curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 |
| 80 | +chmod +x get_helm.sh |
| 81 | +./get_helm.sh |
| 82 | +``` |
| 83 | + |
| 84 | +On Windows using Chocolatey: |
| 85 | + |
| 86 | +``` |
| 87 | +choco install kubernetes-helm |
| 88 | +``` |
| 89 | + |
| 90 | +If you have a fresh Kind installation there won't be any Helm charts installed yet, so a `helm ls` will return an empty list: |
| 91 | + |
| 92 | +``` |
| 93 | +$ helm ls |
| 94 | +NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION |
| 95 | +``` |
0 commit comments