注意: 未検証
ユーザーデータスクリプトの指定方法
EC2NodeClassリソースのuserData
フィールドにスクリプトを指定します。
20GBスワップファイル設定用のユーザーデータスクリプト
設定例
apiVersion: karpenter.k8s.aws/v1
kind: EC2NodeClass
metadata:
name: default-with-swap
spec:
amiFamily: AL2
role: "KarpenterNodeRole-${CLUSTER_NAME}"
subnetSelectorTerms:
- tags:
karpenter.sh/discovery: "${CLUSTER_NAME}"
securityGroupSelectorTerms:
- tags:
karpenter.sh/discovery: "${CLUSTER_NAME}"
userData: |
#!/bin/bash
# 20GBのスワップファイルを作成
dd if=/dev/zero of=/swapfile bs=1M count=20480 status=progress
# スワップファイルに適切なパーミッションを設定
chmod 600 /swapfile
# ファイルにスワップ領域を設定
mkswap /swapfile
# スワップファイルを有効化
swapon /swapfile
# fstabに追加して永続化
echo '/swapfile none swap sw 0 0' >> /etc/fstab
# スワップ使用度の調整(オプション)
echo 'vm.swappiness=10' >> /etc/sysctl.conf
# sysctlの変更を適用
sysctl -p