•
노드가 어떤 AWS + kubelet 설정을 가질지 결정
Example
apiVersion: karpenter.k8s.aws/v1
kind: EC2NodeClass
metadata:
name: default
spec:
kubelet: {}
amiFamily: {} # Amazon Linux 2, Amazon Linux 2023, ...
amiSelectorTerms: []
subnetSelectorTerms: [] # If multiple subnets exist for a zone, the one with the most available IP addresses will be used.
securityGroupSelectorTerms: []
role: {} # specify one of role or instanceProfile
instanceProfile: {}
capacityReservationSelectorTerms: {} # https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html
tags: {}
metadataOptions: {} # IMDS
blockDeviceMappings: [] # EBS Volumes
instanceStorePolicy: "" # instance-store Volumes
userData: "" # Karpenter will merge the userData you specify with the default userData for that AMIFamily.
detailedMonitoring: boolean
associatePublicIPAddress: boolean
YAML
복사
# finalizer를 제거하여 강제 삭제
kubectl patch ec2nodeclass default --type merge -p '{"metadata":{"finalizers":null}}'
Shell
복사