View Source aws_eks (aws v1.0.4)
Amazon Elastic Kubernetes Service (Amazon EKS) is a managed service that makes it easy for you to run Kubernetes on Amazon Web Services without needing to setup or maintain your own Kubernetes control plane.
Kubernetes is an open-source system for automating the deployment, scaling, and management of containerized applications.
Amazon EKS runs up-to-date versions of the open-source Kubernetes software, so you can use all the existing plugins and tooling from the Kubernetes community. Applications running on Amazon EKS are fully compatible with applications running on any standard Kubernetes environment, whether running in on-premises data centers or public clouds. This means that you can easily migrate any standard Kubernetes application to Amazon EKS without any code modification required.Summary
Functions
Associates an access policy and its scope to an access entry.
Associates an encryption configuration to an existing cluster.
Associates an identity provider configuration to a cluster.
Creates an access entry.
Creates an Amazon EKS add-on.
Creates an Amazon EKS control plane.
Creates an EKS Anywhere subscription.
Creates an Fargate profile for your Amazon EKS cluster.
Creates a managed node group for an Amazon EKS cluster.
Creates an EKS Pod Identity association between a service account in an Amazon EKS cluster and an IAM role with EKS Pod Identity.
Deletes an access entry.
Deletes an Amazon EKS add-on.
Deletes an Amazon EKS cluster control plane.
Deletes an expired or inactive subscription.
Deletes an Fargate profile.
Deletes a EKS Pod Identity association.
Deregisters a connected cluster to remove it from the Amazon EKS control plane.
Describes the versions for an add-on.
Describes an Amazon EKS cluster.
Returns descriptive information about an EKS Pod Identity association.
Describes an update to an Amazon EKS resource.
Disassociates an identity provider configuration from a cluster.
Returns a list of all insights checked for against the specified cluster.
Lists the managed node groups associated with the specified cluster in your Amazon Web Services account in the specified Amazon Web Services Region.
List the EKS Pod Identity associations in a cluster.
Connects a Kubernetes cluster to the Amazon EKS control plane.
Associates the specified tags to an Amazon EKS resource with the specified resourceArn
.
Updates an Amazon EKS cluster configuration.
Updates an Amazon EKS cluster to the specified Kubernetes version.
Update an EKS Anywhere Subscription.
Updates an Amazon EKS managed node group configuration.
Updates the Kubernetes version or AMI version of an Amazon EKS managed node group.
Updates a EKS Pod Identity association.
Functions
Associates an access policy and its scope to an access entry.
For more information about associating access policies, see Associating and disassociating access policies to and from access entries: https://docs.aws.amazon.com/eks/latest/userguide/access-policies.html in the Amazon EKS User Guide.associate_access_policy(Client, ClusterName, PrincipalArn, Input0, Options0)
View SourceAssociates an encryption configuration to an existing cluster.
Use this API to enable encryption on existing clusters that don't already have encryption enabled. This allows you to implement a defense-in-depth security strategy without migrating applications to new Amazon EKS clusters.associate_encryption_config(Client, ClusterName, Input0, Options0)
View SourceAssociates an identity provider configuration to a cluster.
If you want to authenticate identities using an identity provider, you can create an identity provider configuration and associate it to your cluster. After configuring authentication to your cluster you can create KubernetesRole
and ClusterRole
objects, assign permissions to them, and then bind them to the identities using Kubernetes RoleBinding
and ClusterRoleBinding
objects. For more information see Using RBAC Authorization: https://kubernetes.io/docs/reference/access-authn-authz/rbac/ in the Kubernetes documentation.
associate_identity_provider_config(Client, ClusterName, Input0, Options0)
View SourceCreates an access entry.
An access entry allows an IAM principal to access your cluster. Access entries can replace the need to maintain entries in the aws-auth
ConfigMap
for authentication. You have the following options for authorizing an IAM principal to access Kubernetes objects on your cluster: Kubernetes role-based access control (RBAC), Amazon EKS, or both. Kubernetes RBAC authorization requires you to create and manage Kubernetes Role
, ClusterRole
, RoleBinding
, and ClusterRoleBinding
objects, in addition to managing access entries. If you use Amazon EKS authorization exclusively, you don't need to create and manage Kubernetes Role
, ClusterRole
, RoleBinding
, and ClusterRoleBinding
objects.
Creates an Amazon EKS add-on.
Amazon EKS add-ons help to automate the provisioning and lifecycle management of common operational software for Amazon EKS clusters. For more information, see Amazon EKS add-ons: https://docs.aws.amazon.com/eks/latest/userguide/eks-add-ons.html in the Amazon EKS User Guide.Creates an Amazon EKS control plane.
The Amazon EKS control plane consists of control plane instances that run the Kubernetes software, such as etcd
and the API server. The control plane runs in an account managed by Amazon Web Services, and the Kubernetes API is exposed by the Amazon EKS API server endpoint. Each Amazon EKS cluster control plane is single tenant and unique. It runs on its own set of Amazon EC2 instances.
The cluster control plane is provisioned across multiple Availability Zones and fronted by an Elastic Load Balancing Network Load Balancer. Amazon EKS also provisions elastic network interfaces in your VPC subnets to provide connectivity from the control plane instances to the nodes (for example, to support kubectl exec
, logs
, and proxy
data flows).
Amazon EKS nodes run in your Amazon Web Services account and connect to your cluster's control plane over the Kubernetes API server endpoint and a certificate file that is created for your cluster.
You can use the endpointPublicAccess
and endpointPrivateAccess
parameters to enable or disable public and private access to your cluster's Kubernetes API server endpoint. By default, public access is enabled, and private access is disabled. For more information, see Amazon EKS Cluster Endpoint Access Control: https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html in the Amazon EKS User Guide .
You can use the logging
parameter to enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS Cluster Control Plane Logs: https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html in the Amazon EKS User Guide .
CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see CloudWatch Pricing: http://aws.amazon.com/cloudwatch/pricing/.
In most cases, it takes several minutes to create a cluster. After you create an Amazon EKS cluster, you must configure your Kubernetes tooling to communicate with the API server and launch nodes into your cluster. For more information, see Managing Cluster Authentication: https://docs.aws.amazon.com/eks/latest/userguide/managing-auth.html and Launching Amazon EKS nodes: https://docs.aws.amazon.com/eks/latest/userguide/launch-workers.html in the Amazon EKS User Guide.Creates an EKS Anywhere subscription.
When a subscription is created, it is a contract agreement for the length of the term specified in the request. Licenses that are used to validate support are provisioned in Amazon Web Services License Manager and the caller account is granted access to EKS Anywhere Curated Packages.Creates an Fargate profile for your Amazon EKS cluster.
You must have at least one Fargate profile in a cluster to be able to run pods on Fargate.
The Fargate profile allows an administrator to declare which pods run on Fargate and specify which pods run on which Fargate profile. This declaration is done through the profile’s selectors. Each profile can have up to five selectors that contain a namespace and labels. A namespace is required for every selector. The label field consists of multiple optional key-value pairs. Pods that match the selectors are scheduled on Fargate. If a to-be-scheduled pod matches any of the selectors in the Fargate profile, then that pod is run on Fargate.
When you create a Fargate profile, you must specify a pod execution role to use with the pods that are scheduled with the profile. This role is added to the cluster's Kubernetes Role Based Access Control: https://kubernetes.io/docs/reference/access-authn-authz/rbac/ (RBAC) for authorization so that the kubelet
that is running on the Fargate infrastructure can register with your Amazon EKS cluster so that it can appear in your cluster as a node. The pod execution role also provides IAM permissions to the Fargate infrastructure to allow read access to Amazon ECR image repositories. For more information, see Pod Execution Role: https://docs.aws.amazon.com/eks/latest/userguide/pod-execution-role.html in the Amazon EKS User Guide.
Fargate profiles are immutable. However, you can create a new updated profile to replace an existing profile and then delete the original after the updated profile has finished creating.
If any Fargate profiles in a cluster are in the DELETING
status, you must wait for that Fargate profile to finish deleting before you can create any other profiles in that cluster.
Creates a managed node group for an Amazon EKS cluster.
You can only create a node group for your cluster that is equal to the current Kubernetes version for the cluster. All node groups are created with the latest AMI release version for the respective minor Kubernetes version of the cluster, unless you deploy a custom AMI using a launch template. For more information about using launch templates, see Launch template support: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html.
An Amazon EKS managed node group is an Amazon EC2 Auto Scaling group and associated Amazon EC2 instances that are managed by Amazon Web Services for an Amazon EKS cluster. For more information, see Managed node groups: https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html in the Amazon EKS User Guide.
Windows AMI types are only supported for commercial Amazon Web Services Regions that support Windows on Amazon EKS.Creates an EKS Pod Identity association between a service account in an Amazon EKS cluster and an IAM role with EKS Pod Identity.
Use EKS Pod Identity to give temporary IAM credentials to pods and the credentials are rotated automatically.
Amazon EKS Pod Identity associations provide the ability to manage credentials for your applications, similar to the way that Amazon EC2 instance profiles provide credentials to Amazon EC2 instances.
If a pod uses a service account that has an association, Amazon EKS sets environment variables in the containers of the pod. The environment variables configure the Amazon Web Services SDKs, including the Command Line Interface, to use the EKS Pod Identity credentials.
Pod Identity is a simpler method than IAM roles for service accounts, as this method doesn't use OIDC identity providers. Additionally, you can configure a role for Pod Identity once, and reuse it across clusters.create_pod_identity_association(Client, ClusterName, Input0, Options0)
View SourceDeletes an access entry.
Deleting an access entry of a type other thanStandard
can cause your cluster to function improperly. If you delete an access entry in error, you can recreate it.
delete_access_entry(Client, ClusterName, PrincipalArn, Input0, Options0)
View SourceDeletes an Amazon EKS add-on.
When you remove an add-on, it's deleted from the cluster. You can always manually start an add-on on the cluster using the Kubernetes API.Deletes an Amazon EKS cluster control plane.
If you have active services in your cluster that are associated with a load balancer, you must delete those services before deleting the cluster so that the load balancers are deleted properly. Otherwise, you can have orphaned resources in your VPC that prevent you from being able to delete the VPC. For more information, see Deleting a cluster: https://docs.aws.amazon.com/eks/latest/userguide/delete-cluster.html in the Amazon EKS User Guide.
If you have managed node groups or Fargate profiles attached to the cluster, you must delete them first. For more information, seeDeleteNodgroup
and DeleteFargateProfile
.
Deletes an expired or inactive subscription.
Deleting inactive subscriptions removes them from the Amazon Web Services Management Console view and from list/describe API responses. Subscriptions can only be cancelled within 7 days of creation and are cancelled by creating a ticket in the Amazon Web Services Support Center.delete_fargate_profile(Client, ClusterName, FargateProfileName, Input)
View SourceDeletes an Fargate profile.
When you delete a Fargate profile, any Pod
running on Fargate that was created with the profile is deleted. If the Pod
matches another Fargate profile, then it is scheduled on Fargate with that profile. If it no longer matches any Fargate profiles, then it's not scheduled on Fargate and may remain in a pending state.
DELETING
status at a time. You must wait for a Fargate profile to finish deleting before you can delete any other profiles in that cluster.
delete_fargate_profile(Client, ClusterName, FargateProfileName, Input0, Options0)
View Sourcedelete_nodegroup(Client, ClusterName, NodegroupName, Input0, Options0)
View Sourcedelete_pod_identity_association(Client, AssociationId, ClusterName, Input)
View SourceDeletes a EKS Pod Identity association.
The temporary Amazon Web Services credentials from the previous IAM role session might still be valid until the session expiry. If you need to immediately revoke the temporary session credentials, then go to the role in the IAM console.delete_pod_identity_association(Client, AssociationId, ClusterName, Input0, Options0)
View SourceDeregisters a connected cluster to remove it from the Amazon EKS control plane.
A connected cluster is a Kubernetes cluster that you've connected to your control plane using the Amazon EKS Connector: https://docs.aws.amazon.com/eks/latest/userguide/eks-connector.html.describe_access_entry(Client, ClusterName, PrincipalArn, QueryMap, HeadersMap)
View Sourcedescribe_access_entry(Client, ClusterName, PrincipalArn, QueryMap, HeadersMap, Options0)
View Sourcedescribe_addon(Client, AddonName, ClusterName, QueryMap, HeadersMap)
View Sourcedescribe_addon(Client, AddonName, ClusterName, QueryMap, HeadersMap, Options0)
View Sourcedescribe_addon_configuration(Client, AddonName, AddonVersion, QueryMap, HeadersMap)
View Sourcedescribe_addon_configuration(Client, AddonName, AddonVersion, QueryMap, HeadersMap, Options0)
View SourceDescribes the versions for an add-on.
Information such as the Kubernetes versions that you can use the add-on with, theowner
, publisher
, and the type
of the add-on are returned.
Describes an Amazon EKS cluster.
The API server endpoint and certificate authority data returned by this operation are required for kubelet
and kubectl
to communicate with your Kubernetes API server. For more information, see Creating or updating a kubeconfig
file for an Amazon EKS cluster: https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html.
ACTIVE
state.
describe_eks_anywhere_subscription(Client, Id, QueryMap, HeadersMap)
View Sourcedescribe_eks_anywhere_subscription(Client, Id, QueryMap, HeadersMap, Options0)
View Sourcedescribe_fargate_profile(Client, ClusterName, FargateProfileName, QueryMap, HeadersMap)
View Sourcedescribe_fargate_profile(Client, ClusterName, FargateProfileName, QueryMap, HeadersMap, Options0)
View Sourcedescribe_identity_provider_config(Client, ClusterName, Input0, Options0)
View Sourcedescribe_insight(Client, ClusterName, Id, QueryMap, HeadersMap, Options0)
View Sourcedescribe_nodegroup(Client, ClusterName, NodegroupName, QueryMap, HeadersMap)
View Sourcedescribe_nodegroup(Client, ClusterName, NodegroupName, QueryMap, HeadersMap, Options0)
View Sourcedescribe_pod_identity_association(Client, AssociationId, ClusterName)
View SourceReturns descriptive information about an EKS Pod Identity association.
This action requires the ID of the association. You can get the ID from the response to theCreatePodIdentityAssocation
for newly created associations. Or, you can list the IDs for associations with ListPodIdentityAssociations
and filter the list by namespace or service account.
describe_pod_identity_association(Client, AssociationId, ClusterName, QueryMap, HeadersMap)
View Sourcedescribe_pod_identity_association(Client, AssociationId, ClusterName, QueryMap, HeadersMap, Options0)
View SourceDescribes an update to an Amazon EKS resource.
When the status of the update isSucceeded
, the update is complete. If an update fails, the status is Failed
, and an error detail explains the reason for the failure.
describe_update(Client, Name, UpdateId, QueryMap, HeadersMap, Options0)
View Sourcedisassociate_access_policy(Client, ClusterName, PolicyArn, PrincipalArn, Input)
View Sourcedisassociate_access_policy(Client, ClusterName, PolicyArn, PrincipalArn, Input0, Options0)
View SourceDisassociates an identity provider configuration from a cluster.
If you disassociate an identity provider from your cluster, users included in the provider can no longer access the cluster. However, you can still access the cluster with IAM principals.disassociate_identity_provider_config(Client, ClusterName, Input0, Options0)
View Sourcelist_access_entries(Client, ClusterName, QueryMap, HeadersMap, Options0)
View Sourcelist_associated_access_policies(Client, ClusterName, PrincipalArn)
View Sourcelist_associated_access_policies(Client, ClusterName, PrincipalArn, QueryMap, HeadersMap)
View Sourcelist_associated_access_policies(Client, ClusterName, PrincipalArn, QueryMap, HeadersMap, Options0)
View Sourcelist_eks_anywhere_subscriptions(Client, QueryMap, HeadersMap, Options0)
View Sourcelist_fargate_profiles(Client, ClusterName, QueryMap, HeadersMap, Options0)
View Sourcelist_identity_provider_configs(Client, ClusterName, QueryMap, HeadersMap)
View Sourcelist_identity_provider_configs(Client, ClusterName, QueryMap, HeadersMap, Options0)
View SourceReturns a list of all insights checked for against the specified cluster.
You can filter which insights are returned by category, associated Kubernetes version, and status.Lists the managed node groups associated with the specified cluster in your Amazon Web Services account in the specified Amazon Web Services Region.
Self-managed node groups aren't listed.list_nodegroups(Client, ClusterName, QueryMap, HeadersMap, Options0)
View SourceList the EKS Pod Identity associations in a cluster.
You can filter the list by the namespace that the association is in or the service account that the association uses.list_pod_identity_associations(Client, ClusterName, QueryMap, HeadersMap)
View Sourcelist_pod_identity_associations(Client, ClusterName, QueryMap, HeadersMap, Options0)
View Sourcelist_tags_for_resource(Client, ResourceArn, QueryMap, HeadersMap, Options0)
View SourceConnects a Kubernetes cluster to the Amazon EKS control plane.
Any Kubernetes cluster can be connected to the Amazon EKS control plane to view current information about the cluster and its nodes.
Cluster connection requires two steps. First, send a `RegisterClusterRequest
' to add it to the Amazon EKS control plane.
Second, a Manifest: https://amazon-eks.s3.us-west-2.amazonaws.com/eks-connector/manifests/eks-connector/latest/eks-connector.yaml containing the activationID
and activationCode
must be applied to the Kubernetes cluster through it's native provider to provide visibility.
DeregisterCluster
.
Associates the specified tags to an Amazon EKS resource with the specified resourceArn
.
update_access_entry(Client, ClusterName, PrincipalArn, Input0, Options0)
View SourceUpdates an Amazon EKS cluster configuration.
Your cluster continues to function during the update. The response output includes an update ID that you can use to track the status of your cluster update with DescribeUpdate
"/>.
You can use this API operation to enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS Cluster control plane logs: https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html in the Amazon EKS User Guide .
CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see CloudWatch Pricing: http://aws.amazon.com/cloudwatch/pricing/.
You can also use this API operation to enable or disable public and private access to your cluster's Kubernetes API server endpoint. By default, public access is enabled, and private access is disabled. For more information, see Amazon EKS cluster endpoint access control: https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html in the Amazon EKS User Guide .
You can also use this API operation to choose different subnets and security groups for the cluster. You must specify at least two subnets that are in different Availability Zones. You can't change which VPC the subnets are from, the subnets must be in the same VPC as the subnets that the cluster was created with. For more information about the VPC requirements, see https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html in the Amazon EKS User Guide .
Cluster updates are asynchronous, and they should finish within a few minutes. During an update, the cluster status moves toUPDATING
(this status transition is eventually consistent). When the update is complete (either Failed
or Successful
), the cluster status moves to Active
.
Updates an Amazon EKS cluster to the specified Kubernetes version.
Your cluster continues to function during the update. The response output includes an update ID that you can use to track the status of your cluster update with the DescribeUpdate
API operation.
Cluster updates are asynchronous, and they should finish within a few minutes. During an update, the cluster status moves to UPDATING
(this status transition is eventually consistent). When the update is complete (either Failed
or Successful
), the cluster status moves to Active
.
Update an EKS Anywhere Subscription.
Only auto renewal and tags can be updated after subscription creation.update_nodegroup_config(Client, ClusterName, NodegroupName, Input)
View SourceUpdates an Amazon EKS managed node group configuration.
Your node group continues to function during the update. The response output includes an update ID that you can use to track the status of your node group update with theDescribeUpdate
API operation. Currently you can update the Kubernetes labels for a node group or the scaling configuration.
update_nodegroup_config(Client, ClusterName, NodegroupName, Input0, Options0)
View Sourceupdate_nodegroup_version(Client, ClusterName, NodegroupName, Input)
View SourceUpdates the Kubernetes version or AMI version of an Amazon EKS managed node group.
You can update a node group using a launch template only if the node group was originally deployed with a launch template. If you need to update a custom AMI in a node group that was deployed with a launch template, then update your custom AMI, specify the new ID in a new version of the launch template, and then update the node group to the new version of the launch template.
If you update without a launch template, then you can update to the latest available AMI version of a node group's current Kubernetes version by not specifying a Kubernetes version in the request. You can update to the latest AMI version of your cluster's current Kubernetes version by specifying your cluster's Kubernetes version in the request. For information about Linux versions, see Amazon EKS optimized Amazon Linux AMI versions: https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html in the Amazon EKS User Guide. For information about Windows versions, see Amazon EKS optimized Windows AMI versions: https://docs.aws.amazon.com/eks/latest/userguide/eks-ami-versions-windows.html in the Amazon EKS User Guide.
You cannot roll back a node group to an earlier Kubernetes version or AMI version.
When a node in a managed node group is terminated due to a scaling action or update, everyPod
on that node is drained first. Amazon EKS attempts to drain the nodes gracefully and will fail if it is unable to do so. You can force
the update if Amazon EKS is unable to drain the nodes as a result of a Pod
disruption budget issue.
update_nodegroup_version(Client, ClusterName, NodegroupName, Input0, Options0)
View Sourceupdate_pod_identity_association(Client, AssociationId, ClusterName, Input)
View SourceUpdates a EKS Pod Identity association.
Only the IAM role can be changed; an association can't be moved between clusters, namespaces, or service accounts. If you need to edit the namespace or service account, you need to delete the association and then create a new association with your desired settings.