Ongoing service disruptions
For the most recent update on ongoing service disruptions affecting the AWS Middle East (UAE) Region (ME-CENTRAL-1), refer to the AWS Health Dashboard. For information on AWS Service migration, see How do I migrate my services to another region?
How do I prevent configuration conflicts when I create or update my Amazon EKS managed add-ons?
I want to prevent configuration conflicts when I create or update my Amazon Elastic Kubernetes Service (Amazon EKS) managed add-ons.
Short description
When you use the AWS Command Line Interface (AWS CLI) to modify Amazon EKS managed add-on configurations, configuration conflicts might occur. If you don't specify how to manage these conflicts, then you receive the following error message:
"Conflicts found when trying to apply. Will not continue due to resolve conflicts mode."
To resolve this issue, take one of the following actions:
- Use the Amazon EKS console that automatically manages configuration conflicts to update the configuration.
- Use the AWS CLI with the resolve-conflicts OVERWRITE parameter to explicitly override the existing configuration.
Resolution
Note: If you receive errors when you run AWS CLI commands, then see Troubleshooting errors for the AWS CLI. Also, make sure that you're using the most recent AWS CLI version.
Write your configurations to a JSON file
Write your configurations to a JSON file based on the add-on that you use. For information about add-on configuration options, see amazon-vpc-cni-k8s, aws-ebs-csi-driver, and coredns on the GitHub website.
Amazon Virtual Private Cloud (Amazon VPC) CNI add-on:
cat <<EOF > example-json-file { "env": { "MINIMUM_IP_TARGET": "example-minimum-ip-target", "WARM_ENI_TARGET": "example-warm-eni-target", "WARM_IP_TARGET": "example-ip-target" } } EOF
Note: Replace example-minimum-ip-target with the minimum number of IP addresses that each node must maintain. Also, replace example-warm-eni-target with the number of elastic network interfaces that the add-on must keep available for Pod assignment. Finally, replace example-ip-target with the number of IP addresses that the add-on must keep available for Pod assignment.
Amazon Elastic Block Store (Amazon EBS) CSI driver add-on:
cat <<EOF > example-json-file { "node": { "volumeAttachLimit": example-volume-limit } } EOF
Note: Replace example-volume-limit with the maximum number of volumes that the Amazon EBS CSI driver add-on can attach to a node. This value must be less than or equal to the Amazon Elastic Compute Cloud (Amazon EC2) instance type's volume attachment quota.
CoreDNS:
cat <<EOF > example-json-file { "resources": { "limits": { "cpu": "example-cpu-limit", "memory": "example-memory-limit", }, "requests": { "cpu": "example-cpu-request", "memory": "example-memory-request" } } } EOF
Note: Replace example-cpu-limit with the maximum CPU that CoreDNS can use and example-memory-limit with the maximum memory resources that CoreDNS can use. Also, replace example-cpu-request with the minimum CPU that CoreDNS requires to run and example-memory-request with the minimum memory resources that CoreDNS requires to run.
Apply the JSON file to the add-on
Use the Amazon EKS console
Complete the following steps:
- Open the Amazon EKS console.
- Choose the Add-ons tab.
- Select your add-on, and then choose Edit
- Choose Optional configuration settings.
- For Configuration values, enter the configurations from your JSON file.
Use the AWS CLI
To apply the JSON file when you install the add-on for the first time, run the following create-addon command:
aws eks create-addon --addon-name add-on ---cluster-name example-cluster-name --resolve-conflicts OVERWRITE --configuration-values file://example-json-file
Note: Replace example-cluster-name with the name of your Amazon EKS cluster. Also, replace add-on with vpc-cni for the Amazon VPC CNI add-on, aws-ebs-csi-driver for the Amazon EBS CSI driver add-on, or coredns for the CoreDNS add-on. Finally, replace example-json-file with the name of your JSON configuration file.
To apply the JSON file to an existing add-on, run the following update-addon command:
aws eks update-addon --addon-name add-on ---cluster-name example-cluster-name --resolve-conflicts OVERWRITE --configuration-values file://example-json-file
Note: Replace example-cluster-name with the name of your Amazon EKS cluster. Also, replace add-on with vpc-cni for the Amazon VPC CNI add-on, aws-ebs-csi-driver for the Amazon EBS CSI driver add-on, or coredns for the CoreDNS add-on. Finally, replace example-json-file with the name of your JSON configuration file.
Test your updates
To confirm that your add-on uses the updated configuration, run the following command based on the add-on that you use.
Amazon VPC CNI and CoreDNS:
kubectl get pods -n kube-system example-aws-node-pod-ID -o jsonpath='{.spec.containers[*].env}'
Note: Replace example-aws-node-pod-ID with your node pod ID or your coreDNS pod ID.
Amazon EBS CSI driver:
kubectl get ds -n kube-system ebs-csi-node -o jsonpath='{.spec.template.spec.containers[*].args}'
Update tolerations
When you need to update node tolerations for your add-ons, you can include them in your configuration file. Like other configuration changes, you can apply these updates using either the Amazon EKS console or the AWS CLI with the resolve-conflicts OVERWRITE parameter.
-
Create your toleration configuration in YAML format:
cat <<EOF > example-yaml-file tolerations: - effect: example-effect key: example-key operator: example-operator value: example-value EOFNote: Replace example-yaml-file with your YAML configuration file name. Also, replace example-effect with NoSchedule, PreferNoSchedule, or NoExecute and example-operator with Equal or Exists. Finally, replace example-key with your node taint key and example-value with your node taint value.
-
Apply the configuration. Use either of the following options:
- Amazon EKS console: Follow the same steps in the "Use the Amazon EKS console" section.
-or- - AWS CLI: Use the create-addon or update-addon command with the --resolve-conflicts OVERWRITE parameter as shown in the "Use the AWS CLI" section.
- Amazon EKS console: Follow the same steps in the "Use the Amazon EKS console" section.
Related information
- Topics
- Containers
- Language
- English

Relevant content
- Accepted Answerasked 3 years ago
- asked 9 months ago
AWS OFFICIALUpdated a year ago
AWS OFFICIALUpdated 2 years ago
AWS OFFICIALUpdated 2 years ago
AWS OFFICIALUpdated 6 months ago