amazonka-eks-2.0: Amazon Elastic Kubernetes Service SDK.
Copyright(c) 2013-2023 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellSafe-Inferred
LanguageHaskell2010

Amazonka.EKS.CreateCluster

Description

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.

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 and Launching Amazon EKS nodes in the Amazon EKS User Guide.

Synopsis

Creating a Request

data CreateCluster Source #

See: newCreateCluster smart constructor.

Constructors

CreateCluster' 

Fields

Instances

Instances details
ToJSON CreateCluster Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

ToHeaders CreateCluster Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

ToPath CreateCluster Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

ToQuery CreateCluster Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

AWSRequest CreateCluster Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

Associated Types

type AWSResponse CreateCluster #

Generic CreateCluster Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

Associated Types

type Rep CreateCluster :: Type -> Type #

Read CreateCluster Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

Show CreateCluster Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

NFData CreateCluster Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

Methods

rnf :: CreateCluster -> () #

Eq CreateCluster Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

Hashable CreateCluster Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

type AWSResponse CreateCluster Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

type Rep CreateCluster Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

newCreateCluster Source #

Create a value of CreateCluster with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

CreateCluster, createCluster_clientRequestToken - Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

CreateCluster, createCluster_encryptionConfig - The encryption configuration for the cluster.

CreateCluster, createCluster_kubernetesNetworkConfig - The Kubernetes network configuration for the cluster.

CreateCluster, createCluster_logging - 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 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.

CreateCluster, createCluster_outpostConfig - An object representing the configuration of your local Amazon EKS cluster on an Amazon Web Services Outpost. Before creating a local cluster on an Outpost, review Local clusters for Amazon EKS on Amazon Web Services Outposts in the Amazon EKS User Guide. This object isn't available for creating Amazon EKS clusters on the Amazon Web Services cloud.

CreateCluster, createCluster_tags - The metadata to apply to the cluster to assist with categorization and organization. Each tag consists of a key and an optional value. You define both.

CreateCluster, createCluster_version - The desired Kubernetes version for your cluster. If you don't specify a value here, the default version available in Amazon EKS is used.

The default version might not be the latest version available.

CreateCluster, createCluster_name - The unique name to give to your cluster.

CreateCluster, createCluster_roleArn - The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to Amazon Web Services API operations on your behalf. For more information, see Amazon EKS Service IAM Role in the /Amazon EKS User Guide/ .

CreateCluster, createCluster_resourcesVpcConfig - The VPC configuration that's used by the cluster control plane. Amazon EKS VPC resources have specific requirements to work properly with Kubernetes. For more information, see Cluster VPC Considerations and Cluster Security Group Considerations in the Amazon EKS User Guide. You must specify at least two subnets. You can specify up to five security groups. However, we recommend that you use a dedicated security group for your cluster control plane.

Request Lenses

createCluster_clientRequestToken :: Lens' CreateCluster (Maybe Text) Source #

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

createCluster_encryptionConfig :: Lens' CreateCluster (Maybe [EncryptionConfig]) Source #

The encryption configuration for the cluster.

createCluster_logging :: Lens' CreateCluster (Maybe Logging) Source #

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 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.

createCluster_outpostConfig :: Lens' CreateCluster (Maybe OutpostConfigRequest) Source #

An object representing the configuration of your local Amazon EKS cluster on an Amazon Web Services Outpost. Before creating a local cluster on an Outpost, review Local clusters for Amazon EKS on Amazon Web Services Outposts in the Amazon EKS User Guide. This object isn't available for creating Amazon EKS clusters on the Amazon Web Services cloud.

createCluster_tags :: Lens' CreateCluster (Maybe (HashMap Text Text)) Source #

The metadata to apply to the cluster to assist with categorization and organization. Each tag consists of a key and an optional value. You define both.

createCluster_version :: Lens' CreateCluster (Maybe Text) Source #

The desired Kubernetes version for your cluster. If you don't specify a value here, the default version available in Amazon EKS is used.

The default version might not be the latest version available.

createCluster_name :: Lens' CreateCluster Text Source #

The unique name to give to your cluster.

createCluster_roleArn :: Lens' CreateCluster Text Source #

The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to Amazon Web Services API operations on your behalf. For more information, see Amazon EKS Service IAM Role in the /Amazon EKS User Guide/ .

createCluster_resourcesVpcConfig :: Lens' CreateCluster VpcConfigRequest Source #

The VPC configuration that's used by the cluster control plane. Amazon EKS VPC resources have specific requirements to work properly with Kubernetes. For more information, see Cluster VPC Considerations and Cluster Security Group Considerations in the Amazon EKS User Guide. You must specify at least two subnets. You can specify up to five security groups. However, we recommend that you use a dedicated security group for your cluster control plane.

Destructuring the Response

data CreateClusterResponse Source #

See: newCreateClusterResponse smart constructor.

Constructors

CreateClusterResponse' 

Fields

Instances

Instances details
Generic CreateClusterResponse Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

Associated Types

type Rep CreateClusterResponse :: Type -> Type #

Read CreateClusterResponse Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

Show CreateClusterResponse Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

NFData CreateClusterResponse Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

Methods

rnf :: CreateClusterResponse -> () #

Eq CreateClusterResponse Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

type Rep CreateClusterResponse Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

type Rep CreateClusterResponse = D1 ('MetaData "CreateClusterResponse" "Amazonka.EKS.CreateCluster" "amazonka-eks-2.0-7cAibD4zEbE2zPO6gnUh5m" 'False) (C1 ('MetaCons "CreateClusterResponse'" 'PrefixI 'True) (S1 ('MetaSel ('Just "cluster") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Cluster)) :*: S1 ('MetaSel ('Just "httpStatus") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int)))

newCreateClusterResponse Source #

Create a value of CreateClusterResponse with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:cluster:CreateClusterResponse', createClusterResponse_cluster - The full description of your new cluster.

$sel:httpStatus:CreateClusterResponse', createClusterResponse_httpStatus - The response's http status code.

Response Lenses

createClusterResponse_cluster :: Lens' CreateClusterResponse (Maybe Cluster) Source #

The full description of your new cluster.