mirror of
https://github.com/aquasecurity/kube-bench.git
synced 2024-11-25 17:38:21 +00:00
Update EKS Config & Create EKS Guide (#489)
* Change EKS Readme * Fix readme formatting * Update README.md Co-Authored-By: Liz Rice <liz@lizrice.com> * Update README.md Co-Authored-By: Liz Rice <liz@lizrice.com> * Update README.md
This commit is contained in:
parent
56fa231376
commit
51aa10e354
27
README.md
27
README.md
@ -159,12 +159,29 @@ The default labels applied to master nodes has changed since Kubernetes 1.11, so
|
|||||||
|
|
||||||
### Running in an EKS cluster
|
### Running in an EKS cluster
|
||||||
|
|
||||||
There is a `job-eks.yaml` file for running the kube-bench node checks on an EKS cluster. **Note that you must update the image reference in `job-eks.yaml`.** Typically you will push the container image for kube-bench to ECR and refer to it there in the YAML file.
|
There is a `job-eks.yaml` file for running the kube-bench node checks on an EKS cluster. The significant difference on EKS is that it's not possible to schedule jobs onto the master node, so master checks can't be performed
|
||||||
|
|
||||||
There are two significant differences on EKS:
|
1. To create an EKS Cluster refer to [Getting Started with Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html) in the *Amazon EKS User Guide*
|
||||||
|
- Information on configuring `eksctl`, `kubectl` and the AWS CLI is within
|
||||||
* It uses [config files in JSON format](https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/)
|
2. Create an [Amazon Elastic Container Registry (ECR)](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html) repository to host the kube-bench container image
|
||||||
* It's not possible to schedule jobs onto the master node, so master checks can't be performed
|
```
|
||||||
|
aws ecr create-repository --repository-name k8s/kube-bench --image-tag-mutability MUTABLE
|
||||||
|
```
|
||||||
|
3. Download, build and push the kube-bench container image to your ECR repo
|
||||||
|
```
|
||||||
|
git clone https://github.com/aquasecurity/kube-bench.git
|
||||||
|
$(aws ecr get-login --no-include-email --region <AWS_REGION>)
|
||||||
|
docker build -t k8s/kube-bench .
|
||||||
|
docker tag k8s/kube-bench:latest <AWS_ACCT_NUMBER>.dkr.ecr.<AWS_REGION>.amazonaws.com/k8s/kube-bench:latest
|
||||||
|
docker tag k8s/kube-bench:latest <AWS_ACCT_NUMBER>.dkr.ecr.<AWS_REGION>.amazonaws.com/k8s/kube-bench:latest
|
||||||
|
docker push <AWS_ACCT_NUMBER>.dkr.ecr.<AWS_REGION>.amazonaws.com/k8s/kube-bench:latest
|
||||||
|
```
|
||||||
|
4. Copy the URI of your pushed image, the URI format is like this: `<AWS_ACCT_NUMBER>.dkr.ecr.<AWS_REGION>.amazonaws.com/k8s/kube-bench:latest`
|
||||||
|
5. Replace the `image` value in `job-eks.yaml` with the URI from Step 4
|
||||||
|
6. Run the kube-bench job on a Pod in your Cluster: `kubectl apply -f job-eks.yaml`
|
||||||
|
7. Find the Pod that was created, it *should* be in the `default` namespace: `kubectl get pods --all-namespaces`
|
||||||
|
8. Retrieve the value of this Pod and output the report, note the Pod name will vary: `kubectl logs kube-bench-<value>`
|
||||||
|
- You can save the report for later reference: `kubectl logs kube-bench-<value> > kube-bench-report.txt`
|
||||||
|
|
||||||
### Installing from a container
|
### Installing from a container
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user