Docker HubのRate Limitが4月1日から10pull/hourになるため、Karpenterで起動するBottlerocketノードのデフォルトレジストリをmirror.gcr.ioに変更して利用する手順を紹介します。
1. Karpenterの設定
Bottlerocketのuser-dataに以下のTOMLスニペットを追加します。これにより、Docker Hubのpull要求がmirror.gcr.io
を経由するようになります。
apiVersion: karpenter.k8s.aws/v1
kind: EC2NodeClass
metadata:
name: my-bottlerocket
spec:
amiFamily: Bottlerocket
+ userData: |
+ [[settings.container-registry.mirrors]]
+ registry = "docker.io"
+ endpoint = ["https://mirror.gcr.io"]
2. まとめ
この設定により、Docker Hubのpull要求はデフォルトで docker.io
ではなく mirror.gcr.io
を利用するようになり、4月1日からのRate Limit(10pull/hour)による影響を回避できます。実際にPodをデプロイして、pullの挙動も併せて確認してください。