Podにて意図しない再起動が発生していた

質問・問題

クラスター内の Pod が再起動していた。特に作業等は行っていないが

このような事象は発生することがあるのか。

 

回答・解決方法


[1]ドキュメントに記載のパッチ適用による事象である可能性が考えられます。

 

EKS では常に最新の Kubernetes パッチバージョンで起動するよう努めており、以前のパッチバージョンの Pod がある場合、再起動して最新バージョンへと更新する場合がございます。


Fargate Pod のパッチ適用による影響を最小限に抑える必要がございます場合は、pod の中断予算 (PDB) の設定をご検討ください[2]

 

(以下、抜粋)----
Amazon EKS は定期的に AWS Fargate pods にパッチを適用して安全に保つ必要があります。
更新は、サービスへの影響を最小限に抑える方法で試行されます。
ただし、pods のエビクションが正常に行われない場合、ポッドを削除する必要がある場合があります。
以下に示しているのは、中断の可能性を最小限に抑えるために実行できるアクションです。

適切な pod の中断予算 (PDB) を設定して、同時にダウンする pods の数をコントロールします。
pods が削除される前に失敗したエビクションに対応するイベントルールを作成します。
Amazon EKS は、Kubernetes コミュニティと緊密に協力して、できるだけ早く、バグ修正とセキュリティパッチが入手可能になるようにしています。
Kubernetes の新しいパッチバージョンは、Fargate プラットフォームバージョンの一部として入手可能になるようにしています。

すべての Fargate pods は最新の Kubernetes パッチバージョンで起動されます。
このバージョンは、Amazon EKS からクラスターの Kubernetes バージョンとして入手できます。以前のパッチバージョンの pod がある場合、
Amazon EKS はそれを再起動して最新バージョンに更新する場合があります。これにより、pods に最新のセキュリティアップデートが確実に装備されます。
そのため、重大な「Common Vulnerabilities and Exposures」(共通脆弱性識別子) (CVE) 問題があっても、最新の状態に保たれてセキュリティリスクが軽減されています。

pods がパッチ適用されたときに一度にダウンする pods の数を制限するには、pod の中断予算 (PDB) を設定します。
PDB を使用して、更新の実行を許可しながら、各アプリケーションの要件に基づいて最小限使用可能なポッドを定義できます。
詳細については、「Kubernetes ドキュメント」の「Specifying a Disruption Budget for your Application」(アプリケーションの中断予算を指定する) を参照してください。

Amazon EKS は エビクションAPI を使用して、アプリケーションに設定した PDB を尊重しながら pod を安全に排出します。
ポッドのエビクションは、影響を最小限に抑えるために、アベイラビリティーゾーンごとに行われます。
エビクションが成功した場合、新しい pod は最新のパッチを取得し、それ以上のアクションは必要ありません。
```

【参考記事】

[1] Fargate pod のパッチ適用
https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/fargate-pod-patching.html

[2] Specifying a Disruption Budget for your Application | Kubernetes
https://kubernetes.io/docs/tasks/run-application/configure-pdb/

[3] CloudWatch Logs Insights のクエリ構文
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html

 

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
他にご質問がございましたら、リクエストを送信してください