Interface ICluster
(experimental) An EKS cluster.
Inherited Members
Namespace: Amazon.CDK.AWS.Eks.V2.Alpha
Assembly: Amazon.CDK.AWS.Eks.V2.Alpha.dll
Syntax (csharp)
public interface ICluster : IResource, IConstruct, IDependable, IEnvironmentAware, IConnectable
Syntax (vb)
Public Interface ICluster Inherits IResource, IConstruct, IDependable, IEnvironmentAware, IConnectable
Remarks
Stability: Experimental
Synopsis
Properties
| ClusterArn | (experimental) The unique ARN assigned to the service by AWS in the form of arn:aws:eks:. |
| ClusterCertificateAuthorityData | (experimental) The certificate-authority-data for your cluster. |
| ClusterEncryptionConfigKeyArn | (experimental) Amazon Resource Name (ARN) or alias of the customer master key (CMK). |
| ClusterEndpoint | (experimental) The API Server endpoint URL. |
| ClusterName | (experimental) The physical name of the Cluster. |
| ClusterSecurityGroup | (experimental) The cluster security group that was created by Amazon EKS for the cluster. |
| ClusterSecurityGroupId | (experimental) The id of the cluster security group that was created by Amazon EKS for the cluster. |
| EksPodIdentityAgent | (experimental) The EKS Pod Identity Agent addon for the EKS cluster. |
| IpFamily | (experimental) Specify which IP family is used to assign Kubernetes pod and service IP addresses. |
| KubectlProvider | (experimental) Kubectl Provider for issuing kubectl commands against it. |
| KubectlProviderOptions | (experimental) Options for creating the kubectl provider - a lambda function that executes |
| OpenIdConnectProvider | (experimental) The Open ID Connect Provider of the cluster used to configure Service Accounts. |
| Prune | (experimental) Indicates whether Kubernetes resources can be automatically pruned. |
| Vpc | (experimental) The VPC in which this Cluster was created. |
Methods
| AddCdk8sChart(string, Construct, IKubernetesManifestOptions?) | (experimental) Defines a CDK8s chart in this cluster. |
| AddHelmChart(string, IHelmChartOptions) | (experimental) Defines a Helm chart in this cluster. |
| AddManifest(string, params IDictionary<string, object>[]) | (experimental) Defines a Kubernetes resource in this cluster. |
| AddServiceAccount(string, IServiceAccountOptions?) | (experimental) Creates a new service account with corresponding IAM Role (IRSA). |
| ConnectAutoScalingGroupCapacity(AutoScalingGroup, IAutoScalingGroupOptions) | (experimental) Connect capacity in the form of an existing AutoScalingGroup to the EKS cluster. |
Properties
ClusterArn
(experimental) The unique ARN assigned to the service by AWS in the form of arn:aws:eks:.
string ClusterArn { get; }
Property Value
Remarks
Stability: Experimental
Attribute: true
ClusterCertificateAuthorityData
(experimental) The certificate-authority-data for your cluster.
string ClusterCertificateAuthorityData { get; }
Property Value
Remarks
Stability: Experimental
Attribute: true
ClusterEncryptionConfigKeyArn
(experimental) Amazon Resource Name (ARN) or alias of the customer master key (CMK).
string ClusterEncryptionConfigKeyArn { get; }
Property Value
Remarks
Stability: Experimental
Attribute: true
ClusterEndpoint
(experimental) The API Server endpoint URL.
string ClusterEndpoint { get; }
Property Value
Remarks
Stability: Experimental
Attribute: true
ClusterName
(experimental) The physical name of the Cluster.
string ClusterName { get; }
Property Value
Remarks
Stability: Experimental
Attribute: true
ClusterSecurityGroup
(experimental) The cluster security group that was created by Amazon EKS for the cluster.
ISecurityGroup ClusterSecurityGroup { get; }
Property Value
Remarks
Stability: Experimental
Attribute: true
ClusterSecurityGroupId
(experimental) The id of the cluster security group that was created by Amazon EKS for the cluster.
string ClusterSecurityGroupId { get; }
Property Value
Remarks
Stability: Experimental
Attribute: true
EksPodIdentityAgent
(experimental) The EKS Pod Identity Agent addon for the EKS cluster.
IAddon? EksPodIdentityAgent { get; }
Property Value
Remarks
The EKS Pod Identity Agent is responsible for managing the temporary credentials used by pods in the cluster to access AWS resources. It runs as a DaemonSet on each node and provides the necessary credentials to the pods based on their associated service account.
This property returns the CfnAddon resource representing the EKS Pod Identity
Agent addon. If the addon has not been created yet, it will be created and
returned.
Stability: Experimental
IpFamily
(experimental) Specify which IP family is used to assign Kubernetes pod and service IP addresses.
IpFamily? IpFamily { get; }
Property Value
Remarks
Default: - IpFamily.IP_V4
Stability: Experimental
KubectlProvider
(experimental) Kubectl Provider for issuing kubectl commands against it.
IKubectlProvider? KubectlProvider { get; }
Property Value
Remarks
If not defined, a default provider will be used
Stability: Experimental
KubectlProviderOptions
(experimental) Options for creating the kubectl provider - a lambda function that executes kubectl and helm against the cluster.
IKubectlProviderOptions? KubectlProviderOptions { get; }
Property Value
Remarks
If defined, kubectlLayer is a required property.
If not defined, kubectl provider will not be created by default.
Stability: Experimental
OpenIdConnectProvider
(experimental) The Open ID Connect Provider of the cluster used to configure Service Accounts.
IOpenIdConnectProvider OpenIdConnectProvider { get; }
Property Value
Remarks
Stability: Experimental
Prune
(experimental) Indicates whether Kubernetes resources can be automatically pruned.
bool Prune { get; }
Property Value
Remarks
When
this is enabled (default), prune labels will be allocated and injected to
each resource. These labels will then be used when issuing the kubectl apply operation with the --prune switch.
Stability: Experimental
Vpc
(experimental) The VPC in which this Cluster was created.
IVpc Vpc { get; }
Property Value
Remarks
Stability: Experimental
Methods
AddCdk8sChart(string, Construct, IKubernetesManifestOptions?)
(experimental) Defines a CDK8s chart in this cluster.
KubernetesManifest AddCdk8sChart(string id, Construct chart, IKubernetesManifestOptions? options = null)
Parameters
- id string
logical id of this chart.
- chart Construct
the cdk8s chart.
- options IKubernetesManifestOptions
logical id of this chart.
Returns
a KubernetesManifest construct representing the chart.
Remarks
Stability: Experimental
AddHelmChart(string, IHelmChartOptions)
(experimental) Defines a Helm chart in this cluster.
HelmChart AddHelmChart(string id, IHelmChartOptions options)
Parameters
- id string
logical id of this chart.
- options IHelmChartOptions
options of this chart.
Returns
a HelmChart construct
Remarks
Stability: Experimental
AddManifest(string, params IDictionary<string, object>[])
(experimental) Defines a Kubernetes resource in this cluster.
KubernetesManifest AddManifest(string id, params IDictionary<string, object>[] manifest)
Parameters
- id string
logical id of this manifest.
- manifest IDictionary<string, object>[]
a list of Kubernetes resource specifications.
Returns
a KubernetesManifest object.
Remarks
The manifest will be applied/deleted using kubectl as needed.
Stability: Experimental
AddServiceAccount(string, IServiceAccountOptions?)
(experimental) Creates a new service account with corresponding IAM Role (IRSA).
ServiceAccount AddServiceAccount(string id, IServiceAccountOptions? options = null)
Parameters
- id string
logical id of service account.
- options IServiceAccountOptions
service account options.
Returns
Remarks
Stability: Experimental
ConnectAutoScalingGroupCapacity(AutoScalingGroup, IAutoScalingGroupOptions)
(experimental) Connect capacity in the form of an existing AutoScalingGroup to the EKS cluster.
void ConnectAutoScalingGroupCapacity(AutoScalingGroup autoScalingGroup, IAutoScalingGroupOptions options)
Parameters
- autoScalingGroup AutoScalingGroup
[disable-awslint:ref-via-interface].
- options IAutoScalingGroupOptions
options for adding auto scaling groups, like customizing the bootstrap script.
Remarks
The AutoScalingGroup must be running an EKS-optimized AMI containing the /etc/eks/bootstrap.sh script. This method will configure Security Groups, add the right policies to the instance role, apply the right tags, and add the required user data to the instance's launch configuration.
Prefer to use addAutoScalingGroupCapacity if possible.
Stability: Experimental
See: https://docs.aws.amazon.com/eks/latest/userguide/launch-workers.html