Class CfnClusterPropsMixin
- All Implemented Interfaces:
software.amazon.jsii.JsiiSerializable,software.constructs.IMixin
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 AWS , 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 ELB 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 AWS 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. The endpoint domain name and IP address family depends on the value of the ipFamily for the cluster. For more information, see Amazon EKS Cluster Endpoint Access Control 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 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 .
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 Allowing users to access your cluster and Launching Amazon EKS nodes in the Amazon EKS User Guide .
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import software.amazon.awscdk.cfnpropertymixins.services.eks.*;
import software.amazon.awscdk.*;
IMergeStrategy mergeStrategy;
CfnClusterPropsMixin cfnClusterPropsMixin = CfnClusterPropsMixin.Builder.create(CfnClusterMixinProps.builder()
.accessConfig(AccessConfigProperty.builder()
.authenticationMode("authenticationMode")
.bootstrapClusterCreatorAdminPermissions(false)
.build())
.bootstrapSelfManagedAddons(false)
.computeConfig(ComputeConfigProperty.builder()
.enabled(false)
.nodePools(List.of("nodePools"))
.nodeRoleArn("nodeRoleArn")
.build())
.controlPlaneScalingConfig(ControlPlaneScalingConfigProperty.builder()
.tier("tier")
.build())
.deletionProtection(false)
.encryptionConfig(List.of(EncryptionConfigProperty.builder()
.provider(ProviderProperty.builder()
.keyArn("keyArn")
.build())
.resources(List.of("resources"))
.build()))
.force(false)
.kubernetesNetworkConfig(KubernetesNetworkConfigProperty.builder()
.elasticLoadBalancing(ElasticLoadBalancingProperty.builder()
.enabled(false)
.build())
.ipFamily("ipFamily")
.serviceIpv4Cidr("serviceIpv4Cidr")
.serviceIpv6Cidr("serviceIpv6Cidr")
.build())
.logging(LoggingProperty.builder()
.clusterLogging(ClusterLoggingProperty.builder()
.enabledTypes(List.of(LoggingTypeConfigProperty.builder()
.type("type")
.build()))
.build())
.build())
.name("name")
.outpostConfig(OutpostConfigProperty.builder()
.controlPlaneInstanceType("controlPlaneInstanceType")
.controlPlanePlacement(ControlPlanePlacementProperty.builder()
.groupName("groupName")
.build())
.outpostArns(List.of("outpostArns"))
.build())
.remoteNetworkConfig(RemoteNetworkConfigProperty.builder()
.remoteNodeNetworks(List.of(RemoteNodeNetworkProperty.builder()
.cidrs(List.of("cidrs"))
.build()))
.remotePodNetworks(List.of(RemotePodNetworkProperty.builder()
.cidrs(List.of("cidrs"))
.build()))
.build())
.resourcesVpcConfig(ResourcesVpcConfigProperty.builder()
.endpointPrivateAccess(false)
.endpointPublicAccess(false)
.publicAccessCidrs(List.of("publicAccessCidrs"))
.securityGroupIds(List.of("securityGroupIds"))
.subnetIds(List.of("subnetIds"))
.build())
.roleArn("roleArn")
.storageConfig(StorageConfigProperty.builder()
.blockStorage(BlockStorageProperty.builder()
.enabled(false)
.build())
.build())
.tags(List.of(CfnTag.builder()
.key("key")
.value("value")
.build()))
.upgradePolicy(UpgradePolicyProperty.builder()
.supportType("supportType")
.build())
.version("version")
.zonalShiftConfig(ZonalShiftConfigProperty.builder()
.enabled(false)
.build())
.build())
.strategy(mergeStrategy)
.build();
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceThe access configuration for the cluster.static interfaceIndicates the current configuration of the block storage capability on your EKS Auto Mode cluster.static final classA fluent builder forCfnClusterPropsMixin.static interfaceThe cluster control plane logging configuration for your cluster.static interfaceIndicates the current configuration of the compute capability on your EKS Auto Mode cluster.static interfaceThe placement configuration for all the control plane instances of your local Amazon EKS cluster on an AWS Outpost.static interfaceThe control plane scaling tier configuration.static interfaceIndicates the current configuration of the load balancing capability on your EKS Auto Mode cluster.static interfaceThe encryption configuration for the cluster.static interfaceThe Kubernetes network configuration for the cluster.static interfaceEnable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs.static interfaceThe enabled logging type.static interfaceThe configuration of your local Amazon EKS cluster on an AWS Outpost.static interfaceIdentifies the AWS Key Management Service ( AWS ) key used to encrypt the secrets.static interfaceThe configuration in the cluster for EKS Hybrid Nodes.static interfaceA network CIDR that can contain hybrid nodes.static interfaceA network CIDR that can contain pods that run Kubernetes webhooks on hybrid nodes.static interfaceAn object representing the VPC configuration to use for an Amazon EKS cluster.static interfaceRequest to update the configuration of the storage capability of your EKS Auto Mode cluster.static interfaceThe support policy to use for the cluster.static interfaceThe configuration for zonal shift for the cluster.Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationModeNested classes/interfaces inherited from interface software.constructs.IMixin
software.constructs.IMixin.Jsii$Default, software.constructs.IMixin.Jsii$Proxy -
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionCreate a mixin to apply properties toAWS::EKS::Cluster.CfnClusterPropsMixin(CfnClusterMixinProps props, CfnPropertyMixinOptions options) Create a mixin to apply properties toAWS::EKS::Cluster.protectedCfnClusterPropsMixin(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) protectedCfnClusterPropsMixin(software.amazon.jsii.JsiiObjectRef objRef) -
Method Summary
Modifier and TypeMethodDescriptionvoidapplyTo(software.constructs.IConstruct construct) Apply the mixin properties to the construct.protected CfnClusterMixinPropsgetProps()protected IMergeStrategysupports(software.constructs.IConstruct construct) Check if this mixin supports the given construct.Methods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSetMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Field Details
-
CFN_PROPERTY_KEYS
-
-
Constructor Details
-
CfnClusterPropsMixin
protected CfnClusterPropsMixin(software.amazon.jsii.JsiiObjectRef objRef) -
CfnClusterPropsMixin
protected CfnClusterPropsMixin(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) -
CfnClusterPropsMixin
@Stability(Stable) public CfnClusterPropsMixin(@NotNull CfnClusterMixinProps props, @Nullable CfnPropertyMixinOptions options) Create a mixin to apply properties toAWS::EKS::Cluster.- Parameters:
props- L1 properties to apply. This parameter is required.options- Mixin options.
-
CfnClusterPropsMixin
Create a mixin to apply properties toAWS::EKS::Cluster.- Parameters:
props- L1 properties to apply. This parameter is required.
-
-
Method Details
-
applyTo
@Stability(Stable) public void applyTo(@NotNull software.constructs.IConstruct construct) Apply the mixin properties to the construct. -
supports
@Stability(Stable) @NotNull public Boolean supports(@NotNull software.constructs.IConstruct construct) Check if this mixin supports the given construct. -
getProps
-
getStrategy
-