Skip to content

Commit 4311610

Browse files
authored
Merge branch 'main' into LogRetentionDoc
2 parents c4b945a + 6a74456 commit 4311610

File tree

5 files changed

+165
-3
lines changed

5 files changed

+165
-3
lines changed

src/docs/getting-started/adot-eks-add-on.mdx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ import operatorImg2 from "assets/img/docs/gettingStarted/operator/img2.png"
1313
### [Introduction](/docs/getting-started/adot-eks-add-on#introduction-1)
1414
### [Requirements](/docs/getting-started/adot-eks-add-on/requirements)
1515
### [Installation](/docs/getting-started/adot-eks-add-on/installation)
16+
### [Add-on Advanced Configuration](/docs/getting-started/adot-eks-add-on/add-on-configuration)
17+
#### [Add-on Advanced Configuration: Collector Deployment](/docs/getting-started/adot-eks-add-on/add-on-configuration-collector-deployment)
1618
### [Collector Configuration Introduction](/docs/getting-started/adot-eks-add-on/config-intro)
1719
#### [Collector Configuration for Amazon Managed Prometheus](/docs/getting-started/adot-eks-add-on/config-amp)
1820
#### [Collector Configuration for AWS CloudWatch](/docs/getting-started/adot-eks-add-on/config-cloudwatch)
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
---
2+
title: 'EKS add-ons Advanced Configuration for ADOT: Collector Deployment'
3+
description:
4+
This page details Collector deployment through EKS add-on advanced configuration for ADOT.
5+
path: '/docs/getting-started/adot-eks-add-on/add-on-configuration-collector-deployment'
6+
---
7+
8+
As discussed in the section [Add-on Advanced Configuration](/docs/getting-started/adot-eks-add-on/add-on-configuration), EKS add-ons now provides the ability to configure ADOT during installation time. With this functionality, an ADOT Collector can also be deployed during an installation, provided that add-on version `v0.62.1-eksbuild.1` or higher is being used.
9+
10+
For more information on Collector configuration, and to learn about Amazon Managed Prometheus, AWS CloudWatch, and AWS X-Ray as telemetry destinations, see the [Collector configuration introduction](/docs/getting-started/adot-eks-add-on/config-intro) section.
11+
12+
Below is a list of configurable values EKS add-ons provides for ADOT, specifically to enable Collector deployment.
13+
14+
| Value | Description | Example |
15+
| ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- |
16+
| `collector.serviceAccount.create` | Specify whether or not to create a service account for use with Collector deployment. Required for Collector deployment. | "{"collector":{"serviceAccount":{"create":true}}}" |
17+
| `collector.serviceAccount.name` | Specify a name for a service account for use with Collector deployment, either to create or a pre-existing service account. Required for Collector deployment. | "{"collector":{"serviceAccount":{"name":"adot-collector"}}}" |
18+
| `collector.serviceAccount.annotations` | Specifies annotations for a service account for use with Collector deployment. Required if `collector.serviceAccount.create` is true. | "{"collector":{"serviceAccount":{"annotations":{"eks.amazonaws.com/role-arn":"arn:aws:iam::000000000000:role/adot-collector"}}}}}" |
19+
| `collector.amp.enabled` | Specify whether or not to enable Amazon Managed Prometheus as a destination for Collector deployment. | "{"collector":{"amp":{"enabled":true}}}" |
20+
| `collector.amp.remoteWriteEndpoint` | Specify a remote write endpoint for Amazon Managed Prometheus. Required if `collector.amp.enabled` is true. | "{"collector":{"amp":{"remoteWriteEndpoint":"https://aps-workspaces.us-west-2.amazonaws.com/workspaces/ws-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/api/v1/remote_write"}}}" |
21+
| `collector.cloudwatch.enabled` | Specify whether or not to enable AWS CloudWatch as a destination for Collector deployment. | "{"collector":{"cloudwatch":{"enabled":true}}}" |
22+
| `collector.xray.enabled` | Specify whether or not to enable AWS X-Ray as a destination for Collector deployment. | "{"collector":{"xray":{"enabled":true}}}" |
23+
24+
25+
26+
An example of how to use EKS add-ons to install ADOT, with a Collector deployment to Amazon Managed Prometheus using a pre-existing service account for IRSA, can be seen in the command below
27+
28+
```console
29+
aws eks create-addon \
30+
--cluster-name <YOUR-EKS-CLUSTER-NAME> \
31+
--addon-name adot \
32+
--addon-version v0.62.1-eksbuild.1 \
33+
--configuration-values file://configuration-values.json
34+
```
35+
36+
```json
37+
// configuration-values.json
38+
{
39+
"collector": {
40+
"serviceAccount": {
41+
"create": false,
42+
"name": "<YOUR-SERVICE-ACCOUNT-NAME>"
43+
},
44+
"amp": {
45+
"enabled": true,
46+
"remoteWriteEndpoint": "https://aps-workspaces.us-west-2.amazonaws.com/workspaces/ws-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/api/v1/remote_write"
47+
}
48+
}
49+
}
50+
```
51+
52+
Note that collector may take 2-3 minutes to create and show up in your cluster.
53+
54+
55+
## [Previous Topic: Add-on Advanced Configuration](/docs/getting-started/adot-eks-add-on/add-on-configuration)
56+
57+
## [Next Topic: Updating and Cleanup](/docs/getting-started/adot-eks-add-on/update-and-cleanup)
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
---
2+
title: 'EKS add-ons Advanced Configuration for ADOT'
3+
description:
4+
This page introduces EKS add-on advanced configuration for ADOT.
5+
path: '/docs/getting-started/adot-eks-add-on/add-on-configuration'
6+
---
7+
8+
EKS add-ons provides the ability to configure the installation of ADOT, during installation time. During add-on creation, or add-on updates, configurable values can be used to modify the add-on to your liking. Some examples include modifying resource requests or limits or adding tolerations to the deployed pod.
9+
10+
These configuration values are passed in as a JSON string to a `--configuration-values` option when creating or updating ADOT using EKS add-ons. you can either pass in a JSON string directly, or you can pass a file path to a JSON file as a parameter, see [these docs](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-file.html) for more information. For example, to set the cpu resource limit to 200m during add-on creation, the command would look like
11+
12+
```console
13+
aws eks create-addon \
14+
--cluster-name <YOUR-EKS-CLUSTER-NAME> \
15+
--addon-name adot \
16+
--configuration-values "{\"manager\":{\"resources\":{\"limits\":{\"cpu\":\"200m\"}}}}" \
17+
--resolve-conflicts=OVERWRITE
18+
```
19+
20+
Note that, when passing in JSON directly, you must escape special characters, such as double quotes. This is reflected in the example above. Alternatively, you can pass in a file path as an argument to `--configuration-values`, reducing the need for special formatting. For example, the same command above using a file named `configuration-values.json` as a file path would look like
21+
22+
```console
23+
aws eks create-addon \
24+
--cluster-name <YOUR-EKS-CLUSTER-NAME> \
25+
--addon-name adot \
26+
--configuration-values file://configuration-values.json \
27+
--resolve-conflicts=OVERWRITE
28+
```
29+
30+
```json
31+
// configuration-values.json
32+
{
33+
"manager": {
34+
"resource": {
35+
"limits": {
36+
"cpu": "200m"
37+
}
38+
}
39+
}
40+
}
41+
```
42+
43+
Each EKS add-on version of ADOT will have it’s own definition of what values are configurable. They are very similar, if not identical, between most add-on versions. To see what configurable values are available for an add-on version, use the command
44+
45+
```console
46+
aws eks describe-addon-configuration --addon-name adot --addon-version <DESIRED-ADDON-VERSION>
47+
```
48+
49+
An example list of all configurable values, along with descriptions and examples, for the add-on version `v0.62.1-eksbuild.1` can be found below. Additionally, with the addition of configurable values for ADOT using EKS add-ons, it is possible to pass in configuration values to allow an ADOT Collector to be deployed during add-on creation or add-on updates. This will be discussed in an upcoming section.
50+
51+
| Value | Description | Example |
52+
| ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- |
53+
| `replicaCount` | Number of replicated pods to create. | "{"replicaCount": 1}" |
54+
| `manager.resources.limits.cpu` | Modifies the cpu resource limit for the ADOT Operator pod.* | "{"manager":{"resource":{"limits":{"cpu":"100m"}}}}" |
55+
| `manager.resources.limits.memory` | Modifies the memory resource limit for the ADOT Operator pod.* | "{"manager":{"resource":{"limits":{"memory":"128Mi"}}}}" |
56+
| `manager.resources.requests.cpu` | Modifies the cpu resource request for the ADOT Operator pod.* | "{"manager":{"resource":{"requests":{"cpu":"100m"}}}}" |
57+
| `manager.resources.requests.memory` | Modifies the memory resource request for the ADOT Operator pod.* | "{"manager":{"resource":{"requests":{"memory":"64Mi"}}}}" |
58+
| `manager.env` | Set environment variables for the ADOT Operator pod. | "{"manager":{"env":{}}}" |
59+
| `kubeRBACProxy.resources.limits.cpu` | Modifies the cpu resource limit for the kubeRBACProxy container.* | "{"kubeRBACProxy":{"resource":{"limits":{"cpu":"100m"}}}}" |
60+
| `kubeRBACProxy.resources.limits.memory` | Modifies the memory resource limit for the kubeRBACProxy container.* | "{"kubeRBACProxy":{"resource":{"limits":{"memory":"128Mi"}}}}" |
61+
| `kubeRBACProxy.resources.requests.cpu` | Modifies the cpu resource request for the kubeRBACProxy container.* | "{"kubeRBACProxy":{"resource":{"requests":{"cpu":"100m"}}}}" |
62+
| `kubeRBACProxy.resources.requests.memory` | Modifies the memory resource request for the kubeRBACProxy container.* | "{"kubeRBACProxy":{"resource":{"requests":{"memory":"64Mi"}}}}" |
63+
| `admissionWebhooks.namespaceSelector` | Add a namespaceSelector for admission webhooks. | "{"admissionWebhooks":{"namespaceSelector":{}}}" |
64+
| `admissionWebhooks.objectSelector` | Add a objectSelector for admission webhooks. | "{"admissionWebhooks":{"objectSelector":{}}}" |
65+
| `affinity` | Specify node affinity for the ADOT Operator pod. | "{"affinity":{}}" |
66+
| `tolerations` | Specify tolerations to apply to the ADOT Operator pod. | "{"tolerations":[]}" |
67+
| `nodeSelector` | Specify nodeSelector for the ADOT Operator pod. | "{"nodeSelector":{}}" |
68+
| `collector.serviceAccount.create` | Specify whether or not to create a service account for use with Collector deployment. Required for Collector deployment. | "{"collector":{"serviceAccount":{"create":true}}}" |
69+
| `collector.serviceAccount.name` | Specify a name for a service account for use with Collector deployment, either to create or a pre-existing service account. Required for Collector deployment. | "{"collector":{"serviceAccount":{"name":"adot-collector"}}}" |
70+
| `collector.serviceAccount.annotations` | Specifies annotations for a service account for use with Collector deployment. Required if `collector.serviceAccount.create` is true. | "{"collector":{"serviceAccount":{"annotations":{"eks.amazonaws.com/role-arn":"arn:aws:iam::000000000000:role/adot-collector"}}}}}" |
71+
| `collector.amp.enabled` | Specify whether or not to enable Amazon Managed Prometheus as a destination for Collector deployment. | "{"collector":{"amp":{"enabled":true}}}" |
72+
| `collector.amp.remoteWriteEndpoint` | Specify a remote write endpoint for Amazon Managed Prometheus. Required if `collector.amp.enabled` is true. | "{"collector":{"amp":{"remoteWriteEndpoint":"https://aps-workspaces.us-west-2.amazonaws.com/workspaces/ws-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/api/v1/remote_write"}}}" |
73+
| `collector.cloudwatch.enabled` | Specify whether or not to enable AWS CloudWatch as a destination for Collector deployment. | "{"collector":{"cloudwatch":{"enabled":true}}}" |
74+
| `collector.xray.enabled` | Specify whether or not to enable AWS X-Ray as a destination for Collector deployment. | "{"collector":{"xray":{"enabled":true}}}" |
75+
76+
*Note that in fargate, resource requests and limits must be equal, see this [troubleshooting guide](https://docs.aws.amazon.com/eks/latest/userguide/troubleshooting-adot.html) for more information.
77+
78+
79+
## [Previous Topic: Installation](/docs/getting-started/adot-eks-add-on/installation)
80+
81+
## [Next Topic: Add-on Advanced Configuration: Collector Deployment](/docs/getting-started/adot-eks-add-on/add-on-configuration-collector-deployment)

src/docs/getting-started/adot-eks-add-on/installation.mdx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ The steps to fully deploy ADOT are:
1111
2. Leverage EKS add-ons to deploy the ADOT Operator to your Amazon EKS cluster.
1212
3. Deploy the ADOT Collector Custom Resource Definition (CRD). You have the option to associate your IAM role with your EKS service account using [IRSA](https://docs.aws.amazon.com/emr/latest/EMR-on-EKS-DevelopmentGuide/setting-up-enable-IAM.html). By doing this, your service account can then provide AWS permissions to the containers you run in any pod that use that service account.
1313

14+
This section will go into detail for the second and third steps. Alternatively, the second and third steps can be simplified, and combined into one, using the EKS add-ons advanced configuration feature. For more information on advanced configuration for ADOT, see [Add-on Advanced Configuration](/docs/getting-started/adot-eks-add-on/add-on-configuration). For more information on ADOT Collector deployment using advanced configuration, see [Add-on Advanced Configuration: Collector Deployment](/docs/getting-started/adot-eks-add-on/add-on-configuration-collector-deployment).
15+
1416
## Leverage EKS Add-Ons to deploy the ADOT Operator to your Amazon EKS cluster
1517

1618
1. Apply the necessary permissions for ADOT to your cluster with the command:
@@ -75,7 +77,12 @@ eksctl create iamserviceaccount \
7577
--override-existing-serviceaccounts
7678
```
7779

78-
We will see in our collector configurations in the next sections that we add the `serviceAccount: adot-collector` field to our configuration to use IRSA.
80+
We will see in our collector configurations in later sections that we add the `serviceAccount: adot-collector` field to our configuration to use IRSA.
7981

8082
## [Previous Topic: Requirements](/docs/getting-started/adot-eks-add-on/requirements)
81-
## [Next Topic: Collector configuration introduction](/docs/getting-started/adot-eks-add-on/config-intro)
83+
84+
## Next Topics:
85+
86+
### [Add-on Advanced Configuration](/docs/getting-started/adot-eks-add-on/add-on-configuration)
87+
88+
### [Collector configuration introduction](/docs/getting-started/adot-eks-add-on/config-intro)

0 commit comments

Comments
 (0)