|
1 | 1 | # Introduction |
2 | 2 |
|
3 | | -This [Kubernetes](https://kubernetes.io/) [device plugin](https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/) gives your pods and containers ability to access [Nitro Enclaves](https://aws.amazon.com/ec2/nitro/nitro-enclaves/) [device driver](https://docs.kernel.org/virt/ne_overview.html). The device plugin works with both [Amazon EKS](https://aws.amazon.com/eks/) and self-managed Kubernetes nodes. |
| 3 | +The Nitro Enclaves [Device Plugin](https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/) gives your pods and containers the ability to access the [Nitro Enclaves device driver](https://docs.kernel.org/virt/ne_overview.html). The device plugin works with both [Amazon EKS](https://aws.amazon.com/eks/) and self-managed Kubernetes nodes. |
| 4 | + |
| 5 | +[AWS Nitro Enclaves](https://aws.amazon.com/ec2/nitro/nitro-enclaves/) is an [Amazon EC2](https://aws-content-sandbox.aka.amazon.com/ec2/) capability that enables customers to create isolated compute environments to further protect and securely process highly sensitive data within their EC2 instances. |
4 | 6 |
|
5 | 7 | # Prerequisites |
6 | 8 | To utilize this device plugin, you will need: |
7 | 9 |
|
8 | | - - A configured [Kubernetes](https://kubernetes.io/) cluster. |
9 | | - - An Enclave enabled [EC2](https://aws.amazon.com/ec2/features/) node. |
| 10 | + - A configured Kubernetes cluster. |
| 11 | + - At least one enclave-enabled node available in the cluster. An enclave-enabled node is an EC2 instance with the **EnclaveOptions** parameter set to **true**. For more information on creating an enclaving an enclave-enabled node, review the using [Nitro Enclaves with EKS user guide](https://docs.aws.amazon.com/enclaves/latest/user/kubernetes.html). |
10 | 12 |
|
11 | 13 | To build the plugin, you will need: |
12 | 14 | - Docker |
13 | 15 |
|
14 | 16 | # Usage |
15 | | -You can install the device plugin to your **Kubernetes** cluster via the command below: |
| 17 | +To deploy the device plugin to your Kubernetes cluster, use the following command: |
16 | 18 | ``` |
17 | 19 | kubectl -f apply https://raw.githubusercontent.com/aws/aws-nitro-enclaves-k8s-device-plugin/main/aws-nitro-enclaves-k8s-ds.yaml |
18 | 20 | ``` |
19 | 21 |
|
20 | | -After deploying the device plugin, use labelling to enable device plugin on a particular node: |
| 22 | +After deploying the device plugin, use labelling to enable the device plugin on a particular node: |
21 | 23 | ``` |
22 | 24 | kubectl label node <node-name> aws-nitro-enclaves-k8s-dp=enabled |
23 | 25 | ``` |
24 | 26 |
|
25 | | -To see list of the nodes that have plugin enabled, use: |
| 27 | +To see list of the nodes that have plugin enabled, use the following command: |
26 | 28 | ``` |
27 | 29 | kubectl get nodes --show-labels | grep aws-nitro-enclaves-k8s-dp=enabled |
28 | 30 | ``` |
29 | 31 |
|
30 | | -Disabling the plugin on a particular node is possible with the command-line below: |
| 32 | +To disable the plugin on a particular node, use the following command: |
31 | 33 | ``` |
32 | 34 | kubectl label node <node-name> aws-nitro-enclaves-k8s-dp- |
33 | 35 | ``` |
34 | 36 |
|
35 | 37 | # Building the Device Plugin |
36 | | -To build the device plugin from its sources, use: |
| 38 | +To build the device plugin from its sources, use the following command: |
37 | 39 |
|
38 | 40 | ``` |
39 | 41 | ./scripts/build.sh |
40 | 42 | ```` |
41 | 43 |
|
42 | | -After successful execution of the script, the device plugin will be built as a docker image with the name `aws-nitro-enclaves-k8s-device-plugin`. |
| 44 | +After successfully running the script, the device plugin will be built as a Docker image with the name `aws-nitro-enclaves-k8s-device-plugin`. |
43 | 45 |
|
44 | 46 | # Running Nitro Enclaves in a Kubernetes Cluster |
45 | 47 |
|
46 | | -There is a hands-on guide available on how to run Nitro Enclaves in EKS clusters. Please check this [link](https://github.com/aws/aws-nitro-enclaves-with-k8s) to learn more. |
| 48 | +There is a guide available on how to run Nitro Enclaves in EKS clusters. See this [link](https://github.com/aws/aws-nitro-enclaves-with-k8s) to learn more. |
47 | 49 |
|
48 | 50 | # License |
49 | 51 | This project is licensed under the Apache-2.0 License. |
0 commit comments