技術系TIPS
PR

Amazon VPC CNI pluginで「Logger.check error: failed to get caller」

saratogax
記事内に商品プロモーションを含む場合があります

AWS の EKS(Kubernetes)のアップデート、度々やってくる恒例作業になりつつあります。

AWS のコンソール上ではボタン 1 つでアップデートできそうなイメージですが、アドオンやサードパーティー製のプラグインなど、EKS の更新前後に対応することは意外に多いです。

今回は、その中の「Amazon VPC CNI plugin for Kubernetes Amazon EKS add-on」のプラグイン更新後に、「aws-network-policy-agent」で以下のエラーが発生したので確認してみました。

Logger.check error: failed to get caller

Amazon VPC CNI Pluginのバージョン

今回、EKS のアップデートに伴い、Amazon VPC CNI Plugin でアップデートしたバージョンは以下の 2 つ。

v1.13.4-eksbuild.1 to v1.14.1-eksbuild.1
v1.14.1-eksbuild.1 to v1.15.4-eksbuild.1

マイナーバージョンも 1 つずつアップデートしないといけないようで、EKS 含めこのあたりがシビアですよね。

You can only update the Amazon EKS type of this add-on one minor version at a time. For example, if your current version is v1.13.4-eksbuild.1 and you want to update to v1.15.4-eksbuild.1, then you need to update to v1.14.1-eksbuild.1 first, and then update to v1.15.4-eksbuild.1. If you’re updating the self-managed type of this add-on, we recommend updating to the same major.minor.patch version listed in the latest available versions table, even if later versions are available on GitHub..

Working with the Amazon VPC CNI plugin for Kubernetes Amazon EKS add-on

エラーの原因と影響範囲

調べていくと、aws-network-policy-agent の GitHub Issue に以下の内容がありました。

It shouldn’t cause any functionality impact but we will clean it up, the error is from the Uber/zap logger.

機能に影響を与えることはありませんが、エラーは Uber/zap ロガーからのものであるため、クリーンアップします。

UTC Logger.check error: failed to get caller

Issue は 2 ヶ月以上オープンのままですが、これは新しいアドオンのバージョンを待っていたら対応されるってことなのですかねぇ。

AWS コンソールのアドオンアップデート画面では「v1.15.5-eksbuild.1」が出ていましたが、ドキュメントでは v1.15.4 なので待っておきますか。

Issue や Pull Request の動きから、すぐに対応されそうな気配はないですが・・・。

Amazon VPC CNI Pluginについて

Amazon VPC CNI Pluginは、Amazon Virtual Private Cloud(VPC)を使用してKubernetes Pods を起動するためのネットワークインターフェース。

これにより、Kubernetes Pods は Amazon VPC 内の IP アドレスを直接取得し、VPC のセキュリティグループとネットワーク ACL によるネットワークポリシーを利用することが可能となっています。

Amazon VPC CNI Plugin の主な特徴は以下の通り。

ネイティブVPCネットワーキング

Pod は、VPC 内のプライベート IPv4 アドレスを利用できる。

これにより、pod 間の通信が VPC のネットワークプラットフォームを通じて行われ、ネットワークパフォーマンスが向上する。

セキュリティ

Amazon VPC のセキュリティグループとネットワーク ACL を利用して、pod のトラフィックを制御できる。

パフォーマンス

Amazon VPC CNI Plugin は、AWS Nitro System を使用することで、ネットワークパフォーマンスの向上に成功している。

スケーラビリティ

Amazon VPC CNI Pluginは、大規模なクラスターに対応している。

各ノードは、利用可能な ENI と IP アドレスの制限内で、多数の pod をサポート可能。

カスタマイズ可能

Amazon VPC CNI Plugin は、pod のネットワークトラフィックを制御するためのカスタムルーティングルールを設定することができます。

このプラグインは、Amazon EKS のデフォルトの CNI プラグインであり、AWS 環境でKubernetes を実行する際にネットワーク接続の設定を容易にします。

ABOUT ME
saratoga
saratoga
フリーランスエンジニア
仕事にも趣味にも IT を駆使するフリーランスエンジニア。技術的な TIPS や日々の生活の中で深堀りしてみたくなったことを備忘録として残していきます。
記事URLをコピーしました