elegant-secretary-74577
07/25/2024, 2:15 PMdefault
with gp2. It creates the storage class but does not make it default.... here is my eks settings
import * as awsx from "@pulumi/awsx";
import * as eks from "@pulumi/eks";
import * as kubernetes from "@pulumi/kubernetes";
import { awsProvider } from "./providers";
import { awsProfile, desiredSize, eksClusterName, eksVersion, instanceType, minSize, maxSize, tags } from "./variables";
// Create a VPC for our cluster.
export const vpc = new awsx.ec2.Vpc(`${eksClusterName}-vpc`,
{
assignGeneratedIpv6CidrBlock: false,
cidrBlock: "10.0.0.0/16",
enableDnsHostnames: true,
enableNetworkAddressUsageMetrics: true,
tags: tags,
},
{
provider: awsProvider,
},
);
// Create an EKS cluster without node group configuration.
export const cluster = new eks.Cluster(`${eksClusterName}-cluster`,
{
enabledClusterLogTypes: [
"api",
"audit",
"authenticator",
"controllerManager",
"scheduler",
],
endpointPrivateAccess: true,
endpointPublicAccess: true,
name: eksClusterName,
nodeRootVolumeEncrypted: true,
nodeRootVolumeSize: 200,
providerCredentialOpts: { profileName: awsProfile },
subnetIds: vpc.publicSubnetIds,
tags: tags,
version: eksVersion,
vpcId: vpc.vpcId,
},
{
dependsOn: [vpc],
provider: awsProvider,
},
);
// Create an EKS managed node group.
new eks.ManagedNodeGroup(`${eksClusterName}-node-group`,
{
cluster: cluster,
instanceTypes: [instanceType],
nodeGroupName: `${eksClusterName}-nodegroup`,
nodeRoleArn: cluster.instanceRoles[0].arn,
diskSize: 200,
tags: tags,
scalingConfig: {
desiredSize: desiredSize,
maxSize: maxSize,
minSize: minSize,
},
},
{
dependsOn: [cluster],
provider: awsProvider,
},
);
elegant-secretary-74577
07/25/2024, 2:16 PM❯ kubectl get sc gp2 -o yaml
apiVersion: <http://storage.k8s.io/v1|storage.k8s.io/v1>
kind: StorageClass
metadata:
annotations:
<http://kubectl.kubernetes.io/last-applied-configuration|kubectl.kubernetes.io/last-applied-configuration>: |
{"apiVersion":"<http://storage.k8s.io/v1|storage.k8s.io/v1>","kind":"StorageClass","metadata":{"annotations":{},"name":"gp2"},"parameters":{"fsType":"ext4","type":"gp2"},"provisioner":"<http://kubernetes.io/aws-ebs|kubernetes.io/aws-ebs>","volumeBindingMode":"WaitForFirstConsumer"}
creationTimestamp: "2024-07-22T05:21:29Z"
name: gp2
resourceVersion: "276"
uid: c6490311-0f24-4617-8912-ec8fab2e1e2e
parameters:
fsType: ext4
type: gp2
provisioner: <http://kubernetes.io/aws-ebs|kubernetes.io/aws-ebs>
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
elegant-secretary-74577
07/25/2024, 2:16 PMdefault
?modern-zebra-45309
07/25/2024, 9:53 PMelegant-secretary-74577
07/25/2024, 11:47 PMmodern-zebra-45309
07/26/2024, 7:28 AMstorage_classes="gp2"
on the eks.Cluster
resource, which will make a default storage class with gp2
(see https://github.com/pulumi/pulumi-eks/blob/12c643b3db4534be5c7b11c13603e5d8ce59a632/nodejs/eks/cluster.ts#L878)
• You pass a map of storage classes and mark one of them as default
According to the note in the documentation, you should also get a default gp2
storage class automatically.