Copyright | (c) 2013-2021 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay <brendan.g.hay+amazonka@gmail.com> |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
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
- data CreateCluster = CreateCluster' {}
- newCreateCluster :: Text -> Text -> VpcConfigRequest -> CreateCluster
- createCluster_kubernetesNetworkConfig :: Lens' CreateCluster (Maybe KubernetesNetworkConfigRequest)
- createCluster_version :: Lens' CreateCluster (Maybe Text)
- createCluster_encryptionConfig :: Lens' CreateCluster (Maybe [EncryptionConfig])
- createCluster_clientRequestToken :: Lens' CreateCluster (Maybe Text)
- createCluster_logging :: Lens' CreateCluster (Maybe Logging)
- createCluster_tags :: Lens' CreateCluster (Maybe (HashMap Text Text))
- createCluster_name :: Lens' CreateCluster Text
- createCluster_roleArn :: Lens' CreateCluster Text
- createCluster_resourcesVpcConfig :: Lens' CreateCluster VpcConfigRequest
- data CreateClusterResponse = CreateClusterResponse' {
- cluster :: Maybe Cluster
- httpStatus :: Int
- newCreateClusterResponse :: Int -> CreateClusterResponse
- createClusterResponse_cluster :: Lens' CreateClusterResponse (Maybe Cluster)
- createClusterResponse_httpStatus :: Lens' CreateClusterResponse Int
Creating a Request
data CreateCluster Source #
See: newCreateCluster
smart constructor.
CreateCluster' | |
|
Instances
:: Text | |
-> Text | |
-> VpcConfigRequest | |
-> CreateCluster |
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_kubernetesNetworkConfig :: Lens' CreateCluster (Maybe KubernetesNetworkConfigRequest) Source #
The Kubernetes network configuration for the cluster.
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.
CreateClusterResponse' | |
|
Instances
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.
createClusterResponse_httpStatus :: Lens' CreateClusterResponse Int Source #
The response's http status code.