|
| 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) |
0 commit comments