libZSservicesZSamazonka-eksZSamazonka-eks
Copyright(c) 2013-2021 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay+amazonka@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone

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 via the Amazon EKS API server endpoint. Each Amazon EKS cluster control plane is single-tenant and unique and 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 via the Kubernetes API server endpoint and a certificate file that is created for your cluster.

Cluster creation typically takes several minutes. 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

  • kubernetesNetworkConfig :: Maybe KubernetesNetworkConfigRequest

    The Kubernetes network configuration for the cluster.

  • version :: Maybe Text

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

  • encryptionConfig :: Maybe [EncryptionConfig]

    The encryption configuration for the cluster.

  • clientRequestToken :: Maybe Text

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

  • logging :: Maybe 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.

  • tags :: Maybe (HashMap Text Text)

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

  • name :: Text

    The unique name to give to your cluster.

  • roleArn :: Text

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

  • resourcesVpcConfig :: VpcConfigRequest

    The VPC configuration 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, but we recommend that you use a dedicated security group for your cluster control plane.

Instances

Instances details
Eq CreateCluster Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

Read CreateCluster Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

Show CreateCluster Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

Generic CreateCluster Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

Associated Types

type Rep CreateCluster :: Type -> Type #

NFData CreateCluster Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

Methods

rnf :: CreateCluster -> () #

Hashable CreateCluster Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

ToJSON CreateCluster Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

AWSRequest CreateCluster Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

Associated Types

type AWSResponse 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

type Rep CreateCluster Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

type AWSResponse 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:

$sel:kubernetesNetworkConfig:CreateCluster', createCluster_kubernetesNetworkConfig - The Kubernetes network configuration for the cluster.

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

$sel:encryptionConfig:CreateCluster', createCluster_encryptionConfig - The encryption configuration for the cluster.

$sel:clientRequestToken:CreateCluster', createCluster_clientRequestToken - Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

$sel:logging: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.

$sel:tags: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, both of which you define.

$sel:name:CreateCluster', createCluster_name - The unique name to give to your cluster.

$sel:roleArn: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/ .

$sel:resourcesVpcConfig:CreateCluster', createCluster_resourcesVpcConfig - The VPC configuration 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, but we recommend that you use a dedicated security group for your cluster control plane.

Request Lenses

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

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

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

The encryption configuration for the cluster.

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

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

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_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, both of which you define.

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 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, but 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
Eq CreateClusterResponse Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

Read CreateClusterResponse Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

Show CreateClusterResponse Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

Generic CreateClusterResponse Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

Associated Types

type Rep CreateClusterResponse :: Type -> Type #

NFData CreateClusterResponse Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

Methods

rnf :: CreateClusterResponse -> () #

type Rep CreateClusterResponse Source # 
Instance details

Defined in Amazonka.EKS.CreateCluster

type Rep CreateClusterResponse = D1 ('MetaData "CreateClusterResponse" "Amazonka.EKS.CreateCluster" "libZSservicesZSamazonka-eksZSamazonka-eks" '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.