EKS (Elastic Kubernetes Service)

Implementation details for API eks

Coverage Overview

Elastic Kubernetes Service (EKS) is supported by LocalStack only in the pro image.

AvailabilityTesting*
OperationImplementedImageInternal Test SuiteExternal Test SuiteTerraform ValidatedAWS ValidatedSnapshot TestedDetails
AssociateAccessPolicy
AssociateEncryptionConfig
AssociateIdentityProviderConfig
CreateAccessEntry
CreateAddon
CreateCluster✔️pro✔️✔️✔️✔️✔️Show Tests
CreateEksAnywhereSubscription
CreateFargateProfile✔️pro✔️✔️✔️✔️✔️Show Tests
CreateNodegroup✔️pro✔️✔️✔️✔️✔️Show Tests
CreatePodIdentityAssociation
DeleteAccessEntry
DeleteAddon
DeleteCluster✔️pro✔️✔️✔️✔️✔️Show Tests
DeleteEksAnywhereSubscription
DeleteFargateProfile✔️pro✔️✔️
DeleteNodegroup✔️pro✔️✔️✔️✔️✔️Show Tests
DeletePodIdentityAssociation
DeregisterCluster
DescribeAccessEntry
DescribeAddon
DescribeAddonConfiguration
DescribeAddonVersions
DescribeCluster✔️pro✔️✔️✔️✔️✔️Show Tests
DescribeEksAnywhereSubscription
DescribeFargateProfile✔️pro✔️✔️✔️✔️✔️Show Tests
DescribeIdentityProviderConfig
DescribeInsight
DescribeNodegroup✔️pro✔️✔️✔️✔️✔️Show Tests
DescribePodIdentityAssociation
DescribeUpdate
DisassociateAccessPolicy
DisassociateIdentityProviderConfig
ListAccessEntries
ListAccessPolicies
ListAddons
ListAssociatedAccessPolicies
ListClusters✔️pro✔️✔️✔️✔️Show Tests
ListEksAnywhereSubscriptions
ListFargateProfiles✔️pro
ListIdentityProviderConfigs
ListInsights
ListNodegroups✔️pro✔️✔️
ListPodIdentityAssociations
ListTagsForResource
ListUpdates
RegisterCluster
TagResource
UntagResource
UpdateAccessEntry
UpdateAddon
UpdateClusterConfig✔️pro✔️✔️
UpdateClusterVersion
UpdateEksAnywhereSubscription
UpdateNodegroupConfig✔️pro✔️✔️
UpdateNodegroupVersion✔️pro
UpdatePodIdentityAssociation

Terminology

  • Internal Test Suite: tested by LocalStack's internal integration test suite
  • External Test Suite: covered by an external integration test suite, that runs against LocalStack
  • Terraform Validated: operation tested with Terraform
  • AWS Validated: the integration test that includes this operation call was validated against AWS
  • Snapshot Tested: the operation is part of a snapshot parity test, which verifies the responses by LocalStack and AWS are the same

Testing Details

This section gives an overview about the internal integration test suite and the specific test cases that recorded the API call.

How to read the test details?

For each operation we put up a list of the related integration test cases.
Those operation calls have been recorded during the execution of the outlined test cases. Some calls might be internal, i.e., they are not explicitly called in the test, but are triggered implicitly by the LocalStack framework.

  • Parameters: The tests are ordered by the parameters used, which are highlighted in bold.
  • Test Details: LocalStack Community or LocalStack Pro indicates where the test originates. For each test you see:
    • test name
    • status code returned (which is the expected one for the test case)
    • information about validation:
      • AWS validated the test is validated against AWS, meaning it run successfully against real AWS as well
      • Snapshot Tested this is a snapshot parity test, meaning the responses are validated against AWS


CreateCluster

Parameters: clientRequestToken, kubernetesNetworkConfig, name, resourcesVpcConfig, roleArn, tags, version
  • LocalStack Pro
    • test_eksctl_stack LocalStack Pro: tests/aws/services/cloudformation/resources/test_eks.py::test_eksctl_stack HTTP Status Code: 200 AWS validated Snapshot Tested
Parameters: clientRequestToken, name, resourcesVpcConfig, roleArn
  • LocalStack Pro
    • test_eks_fargate_cluster LocalStack Pro: tests/aws/services/cloudformation/resources/test_eks.py::test_eks_fargate_cluster HTTP Status Code: 200 AWS validated Snapshot Tested
Parameters: clientRequestToken, name, resourcesVpcConfig, roleArn, tags
  • LocalStack Pro
    • test_create_app_in_k3s_cluster LocalStack Pro: tests/aws/services/eks/test_eks.py::TestK3SCluster::test_create_app_in_k3s_cluster HTTP Status Code: 200
Parameters: clientRequestToken, name, resourcesVpcConfig, roleArn, version
  • LocalStack Pro
    • test_invalid_k8s_versions[0] LocalStack Pro: tests/aws/services/eks/test_eks.py::TestEKS::test_invalid_k8s_versions[0] HTTP Status Code: 400 (InvalidParameterException) AWS validated Snapshot Tested
    • test_invalid_k8s_versions[1.60] LocalStack Pro: tests/aws/services/eks/test_eks.py::TestEKS::test_invalid_k8s_versions[1.60] HTTP Status Code: 400 (InvalidParameterException) AWS validated Snapshot Tested
    • test_invalid_k8s_versions[100.1] LocalStack Pro: tests/aws/services/eks/test_eks.py::TestEKS::test_invalid_k8s_versions[100.1] HTTP Status Code: 400 (InvalidParameterException) AWS validated Snapshot Tested
    • test_invalid_k8s_versions[test] LocalStack Pro: tests/aws/services/eks/test_eks.py::TestEKS::test_invalid_k8s_versions[test] HTTP Status Code: 400 (InvalidParameterException) AWS validated Snapshot Tested

CreateFargateProfile

Parameters: clientRequestToken, clusterName, fargateProfileName, podExecutionRoleArn, selectors, subnets, tags
  • LocalStack Pro
    • test_eks_fargate_cluster LocalStack Pro: tests/aws/services/cloudformation/resources/test_eks.py::test_eks_fargate_cluster HTTP Status Code: 200 AWS validated Snapshot Tested

CreateNodegroup

Parameters: clientRequestToken, clusterName, labels, launchTemplate, nodeRole, nodegroupName, scalingConfig, subnets
  • LocalStack Pro
    • test_eksctl_stack LocalStack Pro: tests/aws/services/cloudformation/resources/test_eks.py::test_eksctl_stack HTTP Status Code: 200 AWS validated Snapshot Tested
Parameters: clientRequestToken, clusterName, labels, nodeRole, nodegroupName, scalingConfig, subnets
  • LocalStack Pro
    • test_ecr_eks_integration_multiple_nodes LocalStack Pro: tests/aws/services/eks/test_eks.py::TestK3SCluster::test_ecr_eks_integration_multiple_nodes HTTP Status Code: 200

DeleteCluster

Parameters: name
  • LocalStack Pro
    • test_eks_fargate_cluster LocalStack Pro: tests/aws/services/cloudformation/resources/test_eks.py::test_eks_fargate_cluster HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_eksctl_stack LocalStack Pro: tests/aws/services/cloudformation/resources/test_eks.py::test_eksctl_stack HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_pull_public_s3_image_with_transparent_endpoint_injection LocalStack Pro: tests/aws/services/eks/test_eks.py::TestK3SCluster::test_pull_public_s3_image_with_transparent_endpoint_injection HTTP Status Code: 200

DeleteNodegroup

Parameters: clusterName, nodegroupName
  • LocalStack Pro
    • test_eksctl_stack LocalStack Pro: tests/aws/services/cloudformation/resources/test_eks.py::test_eksctl_stack HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_ecr_eks_integration_multiple_nodes LocalStack Pro: tests/aws/services/eks/test_eks.py::TestK3SCluster::test_ecr_eks_integration_multiple_nodes HTTP Status Code: 200

DescribeCluster

Parameters: name
  • LocalStack Pro
    • test_eks_fargate_cluster LocalStack Pro: tests/aws/services/cloudformation/resources/test_eks.py::test_eks_fargate_cluster HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_eks_fargate_cluster LocalStack Pro: tests/aws/services/cloudformation/resources/test_eks.py::test_eks_fargate_cluster HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_eksctl_stack LocalStack Pro: tests/aws/services/cloudformation/resources/test_eks.py::test_eksctl_stack HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_create_app_in_k3s_cluster LocalStack Pro: tests/aws/services/eks/test_eks.py::TestK3SCluster::test_create_app_in_k3s_cluster HTTP Status Code: 200
    • test_eks_fargate_cluster LocalStack Pro: tests/aws/services/cloudformation/resources/test_eks.py::test_eks_fargate_cluster HTTP Status Code: 404 (ResourceNotFoundException) AWS validated Snapshot Tested

DescribeFargateProfile

Parameters: clusterName, fargateProfileName
  • LocalStack Pro
    • test_eks_fargate_cluster LocalStack Pro: tests/aws/services/cloudformation/resources/test_eks.py::test_eks_fargate_cluster HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_eks_fargate_cluster LocalStack Pro: tests/aws/services/cloudformation/resources/test_eks.py::test_eks_fargate_cluster HTTP Status Code: 200 AWS validated Snapshot Tested

DescribeNodegroup

Parameters: clusterName, nodegroupName
  • LocalStack Pro
    • test_eksctl_stack LocalStack Pro: tests/aws/services/cloudformation/resources/test_eks.py::test_eksctl_stack HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_eksctl_stack LocalStack Pro: tests/aws/services/cloudformation/resources/test_eks.py::test_eksctl_stack HTTP Status Code: 404 (ResourceNotFoundException) AWS validated Snapshot Tested

ListClusters

Parameters: include
  • LocalStack Pro
    • test_get_parameters_eks_amis[1.19] LocalStack Pro: tests/aws/services/eks/test_eks.py::TestEKS::test_get_parameters_eks_amis[1.19] HTTP Status Code: 200 AWS validated
    • test_get_parameters_eks_amis[1.20] LocalStack Pro: tests/aws/services/eks/test_eks.py::TestEKS::test_get_parameters_eks_amis[1.20] HTTP Status Code: 200 AWS validated
    • test_get_parameters_eks_amis[1.21] LocalStack Pro: tests/aws/services/eks/test_eks.py::TestEKS::test_get_parameters_eks_amis[1.21] HTTP Status Code: 200 AWS validated
    • test_get_parameters_eks_amis[1.22] LocalStack Pro: tests/aws/services/eks/test_eks.py::TestEKS::test_get_parameters_eks_amis[1.22] HTTP Status Code: 200 AWS validated
    • test_get_parameters_eks_amis[1.23] LocalStack Pro: tests/aws/services/eks/test_eks.py::TestEKS::test_get_parameters_eks_amis[1.23] HTTP Status Code: 200 AWS validated