1 |
Set resource requests and limits for container `wiki-wordpress` to prevent resource contention |
https://kubernetes.io/ja/docs/concepts/configuration/manage-resources-containers/
k8sのバージョンアップ(v1.27.4から?)で上記のようにエラーが出た。対応としてコンテナのリソース管理の指定が必須になり、Manifestファイルに requests
と limits
を指定すれば良い。
- Environment
- CPU 1core
- Memory 2GB
1 2 3 |
$ kubectl get nodes NAME STATUS ROLES AGE VERSION adachin-wiki-node Ready <none> 36h v1.28.2 |
- fix manifest file
1 2 3 4 5 6 7 8 9 10 |
~省略~ - name: wiki-wordpress image: registry.digitalocean.com/wiki-wordpress/wiki-wordpress:xxxxxxx resources: requests: cpu: "50m" # CPUの最小要求量 memory: "128Mi" # メモリの最小要求量 limits: cpu: "1000m" # CPUの最大制限量 memory: "2048Mi" # メモリの最大制限量 |
- 確認
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
$ kubectl describe node adachin-wiki-node ~省略~ Namespace Name CPU Requests CPU Limits Memory Requests Memory Limits Age --------- ---- ------------ ---------- --------------- ------------- --- default wiki-wordpress-54f6668bf5-nzcr7 100m (11%) 1 (111%) 256Mi (16%) 2Gi (130%) 13s kube-system cilium-c44wv 300m (33%) 0 (0%) 300Mi (19%) 0 (0%) 40h kube-system cilium-operator-fd6b45bf7-xfr7x 0 (0%) 0 (0%) 0 (0%) 0 (0%) 40h kube-system coredns-575d7877bb-krqsk 100m (11%) 0 (0%) 150M (9%) 150M (9%) 40h kube-system coredns-575d7877bb-xddbr 100m (11%) 0 (0%) 150M (9%) 150M (9%) 40h kube-system cpc-bridge-proxy-c7cmt 100m (11%) 0 (0%) 75Mi (4%) 0 (0%) 40h kube-system csi-do-node-lb4jg 0 (0%) 0 (0%) 0 (0%) 0 (0%) 40h kube-system disable-systemd-upgrade-timer-r44sm 0 (0%) 0 (0%) 0 (0%) 0 (0%) 40h kube-system do-node-agent-7txn7 102m (11%) 0 (0%) 80Mi (5%) 300Mi (19%) 40h kube-system konnectivity-agent-7gnz4 0 (0%) 0 (0%) 0 (0%) 0 (0%) 40h kube-system kube-proxy-rzzmt 0 (0%) 0 (0%) 125Mi (7%) 0 (0%) 40h Allocated resources: (Total limits may be over 100 percent, i.e., overcommitted.) Resource Requests Limits -------- -------- ------ cpu 802m (89%) 1 (111%) memory 1176609536 (71%) 2762056448 (167%) ephemeral-storage 0 (0%) 0 (0%) hugepages-1Gi 0 (0%) 0 (0%) hugepages-2Mi 0 (0%) 0 (0%) Events: <none> |
Allocated resources
のRequestsが90%以上いかなければ問題なし。(結構ぎりぎり)
- 補足
1 2 |
$ kubectl describe pods wiki-wordpress nodes are available: 1 Insufficient cpu. preemption: 0/1 nodes are available: 1 No preemption victims found for incoming pod.. |
割り当てを間違えると、いつまでもPodがPendingのままになりコンテナが立ち上がらない状態となる。上記のようにdescribeするとCPUとメモリーが限界だよと言われてしまう場合はリソースの割り当てを見直すこと。
Was this helpful?
0 / 0
1989年生まれのFindy/SRE。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWSでのインフラ構築、Docker開発環境の提供、IaC、新技術の検証、リファクタリング、セキュリティ強化、分析基盤の運用などを担当している。個人事業主では数社サーバー保守とベンチャー企業のSREインフラコンサルティングやMENTA/TechBullで未経験者にインフラのコーチング/コミュニティマネージャーとして立ち上げと運営をしている。また、過去「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。