Cluster
The Cluster resource lets you manage AWS EKS Clusters and their configuration settings.
Minimal Example
Section titled “Minimal Example”Create a basic EKS cluster with required properties and a couple of optional configurations.
import AWS from "alchemy/aws/control";
const eksCluster = await AWS.EKS.Cluster("myEKSCluster", { roleArn: "arn:aws:iam::123456789012:role/eks-cluster-role", resourcesVpcConfig: { subnetIds: ["subnet-abc123", "subnet-def456"], securityGroupIds: ["sg-12345678"], endpointPublicAccess: true, endpointPrivateAccess: false }, version: "1.21", name: "my-cluster", tags: [ { key: "Environment", value: "Production" }, { key: "Team", value: "DevOps" } ]});
Advanced Configuration
Section titled “Advanced Configuration”Configure an EKS cluster with additional settings for logging, encryption, and self-managed addons.
const advancedEKSCluster = await AWS.EKS.Cluster("advancedEKSCluster", { roleArn: "arn:aws:iam::123456789012:role/eks-cluster-role", resourcesVpcConfig: { subnetIds: ["subnet-abc123", "subnet-def456"], securityGroupIds: ["sg-12345678"], endpointPublicAccess: true, endpointPrivateAccess: false }, logging: { clusterLogging: [ { enabled: true, types: ["api", "audit", "authenticator", "controllerManager", "scheduler"] } ] }, encryptionConfig: [ { provider: { keyArn: "arn:aws:kms:us-west-2:123456789012:key/my-kms-key" }, resources: ["secrets"] } ], bootstrapSelfManagedAddons: true, name: "my-advanced-cluster"});
Self-Managed Addons Configuration
Section titled “Self-Managed Addons Configuration”Set up an EKS cluster with specific self-managed addons.
const selfManagedEKSCluster = await AWS.EKS.Cluster("selfManagedEKSCluster", { roleArn: "arn:aws:iam::123456789012:role/eks-cluster-role", resourcesVpcConfig: { subnetIds: ["subnet-abc123", "subnet-def456"], securityGroupIds: ["sg-12345678"], endpointPublicAccess: true, endpointPrivateAccess: false }, bootstrapSelfManagedAddons: true, name: "my-self-managed-cluster", tags: [ { key: "Environment", value: "Development" } ]});
Cluster Upgrade Policy
Section titled “Cluster Upgrade Policy”Create an EKS cluster with a specified upgrade policy for managing version updates.
const upgradePolicyEKSCluster = await AWS.EKS.Cluster("upgradePolicyEKSCluster", { roleArn: "arn:aws:iam::123456789012:role/eks-cluster-role", resourcesVpcConfig: { subnetIds: ["subnet-abc123", "subnet-def456"], securityGroupIds: ["sg-12345678"], endpointPublicAccess: true, endpointPrivateAccess: false }, upgradePolicy: { maxUnavailable: 1 }, name: "my-upgrade-policy-cluster"});