LoginSignup
1
0

More than 1 year has passed since last update.

EKSのNodeに割り当てることができるIPアドレスを増やす方法

Posted at

なんで増やす必要があるのか

  • 安めのインスタンスタイプでNodeを構成する場合、インスタンスに割り当てることができるIPアドレスの上限が少ないため、それにより新規Podを起動することができなくなるから
    • たとえば、t3smallだと11個までしかIPアドレスを持つことができないため、仮にCPUメモリなどのリソースに空きがあったとしても、新規Podの起動ができなくなってしまう

手順

  • VPC CNIプラグインというものを使って、/28のIPアドレスプレフィックスを割り当てることができる

割り当てられるPod数を確認

kubectl describe nodes <NodeName>

このNodeはt3.smallで起動しており、Capacityが11となっており、11台までしかPodの起動ができない。

Capacity:
  attachable-volumes-aws-ebs:  25
  cpu:                         2
  ephemeral-storage:           104845292Ki
  hugepages-1Gi:               0
  hugepages-2Mi:               0
  memory:                      1994624Ki
  pods:                        11   ← 11台まで
Allocatable:
  attachable-volumes-aws-ebs:  25
  cpu:                         1930m
  ephemeral-storage:           95551679124
  hugepages-1Gi:               0
  hugepages-2Mi:               0
  memory:                      1507200Ki
  pods:                        11
System Info:
  Machine ID:                 ec248b9dac6722fd9acc25fd3f65ca6c
  System UUID:                ec248b9d-ac67-22fd-9acc-25fd3f65ca6c
  Boot ID:                    9010f11a-8230-443d-a92b-8a2833ee65d9
  Kernel Version:             5.4.204-113.362.amzn2.x86_64
  OS Image:                   Amazon Linux 2
  Operating System:           linux
  Architecture:               amd64
  Container Runtime Version:  docker://20.10.13
  Kubelet Version:            v1.22.9-eks-810597c
  Kube-Proxy Version:         v1.22.9-eks-810597c
ProviderID:                   aws:///ap-northeast-1a/i-095d812d190f6d642
Non-terminated Pods:          (11 in total) ← 11/11台このノードでPodが起動しているということ

/28 IPv4 アドレスプレフィックスを割り当てる機能を有効化する

kubectl set env daemonset aws-node -n kube-system ENABLE_PREFIX_DELEGATION=true

設定確認

Podであるaws-nodeはPodにIPを割り当てる仕事をしている

kubectl describe -n kube-system pod aws-node-9czrj | grep  ENABLE_PREFIX_DELEGATION 

Nodeを再作成する

managedNodegroupであれば、eksctlでmaxPodsPerNode: 110を指定する

managedNodeGroups:
  - name: t3-small-managed
    instanceType: t3.small
    minSize: 2
    maxSize: 5
    volumeSize: 100
    privateNetworking: true
    maxPodsPerNode: 110 ← コレ

再作成後はPodのCapacityが増えている

Capacity:
  attachable-volumes-aws-ebs:  25
  cpu:                         2
  ephemeral-storage:           104845292Ki
  hugepages-1Gi:               0
  hugepages-2Mi:               0
  memory:                      1994624Ki
  pods:                        110

参考

https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/cni-increase-ip-addresses.html
https://qiita.com/okubot55/items/2c25d75bd72bac629829

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0