fancy-eye-62290
01/07/2024, 8:53 PM"use strict";
const pulumi = require("@pulumi/pulumi");
const aws = require("@pulumi/aws");
const awsx = require("@pulumi/awsx");
const eks = require("@pulumi/eks");
const k8s = require("@pulumi/kubernetes");
// Function to create an EKS cluster in a given region
function createEksCluster(region) {
// Set the AWS region for the resources
const provider = new aws.Provider("aws-provider-${region}", { region });
// Create a VPC for our cluster
const vpc = new awsx.ec2.Vpc("test-vpc", {}, { provider: provider, numberOfAvailabilityZones: 1 } );
// Create an EKS cluster
const cluster = new eks.Cluster("test", {
vpcId: vpc.id,
subnetIds: vpc.publicSubnetIds,
instanceType: "t2.medium",
desiredCapacity: 1,
minSize: 1,
maxSize: 2,
}, {}, { provider });
return cluster;
}
function createStatefulSet(cluster) {
const name = "test-ss";
const statefulSet = new k8s.apps.v1.StatefulSet(name, {
metadata: { name: name },
spec: {
serviceName: name,
replicas: 1,
selector: { matchLabels: { app: name } },
template: {
metadata: { labels: { app: name } },
spec: {
containers: [{
name: name,
image: "nginx", // As an example, replace with required image
}],
},
},
},
}, { provider: cluster.provider });
return statefulSet;
}
// Create EKS clusters in the desired regions
// const clusterUSEast1 = createEksCluster("us-east-1");
const clusterFrankfurt = createEksCluster("eu-central-1");
createStatefulSet(clusterFrankfurt);
// Export the kubeconfig for each cluster
// exports.kubeconfigUSEast1 = clusterUSEast1.kubeconfig;
exports.kubeconfigFrankfurt = clusterFrankfurt.kubeconfig;
However when deployed i get the error that the error InvalidParameterException: The subnet ID ‘subnet-__________’ does not exist. I can clearly see the subnet when i look in the aws console so im not sure whats going on (and its being created by my code)dry-keyboard-94795
01/07/2024, 9:31 PMfancy-eye-62290
01/07/2024, 9:32 PMdry-keyboard-94795
01/07/2024, 9:32 PMfancy-eye-62290
01/07/2024, 9:34 PMfailed with an unhandled exception:
Error: It looks like you're using an explicit AWS provider. Please specify this provider in providerCredentialOpts.
fancy-eye-62290
01/07/2024, 9:34 PM// Create an EKS cluster
const cluster = new eks.Cluster("test", {
vpcId: vpc.id,
subnetIds: vpc.publicSubnetIds,
instanceType: "t2.medium",
desiredCapacity: 1,
minSize: 1,
maxSize: 2,
}, { provider });
fancy-eye-62290
01/07/2024, 9:36 PMfancy-eye-62290
01/07/2024, 9:37 PMdry-keyboard-94795
01/07/2024, 9:41 PMfancy-eye-62290
01/07/2024, 9:42 PM