GCP の Ubuntu インスタンスに macvlan docker ネットワークを追加しました。ただし、インスタンスへ/からアクセスできません。インスタンスごとに厳密に 1 つの MAC を適用するという制限があるのではないかと考えました。
誰でもこれについて知っていますか、または回避策はありますか? GCP のゲートウェイ側で arp/mac テーブルがどのように見えるかを確認する方法はありますか?
私の意図は、インスタンスのプライマリ ネットワークのセカンダリ IP アドレスを使用する Docker に macvlan ネットワークを使用することでした。
詳細: VM インスタンスにセカンダリ IP 範囲を割り当てました。例: VM 内部 IP (プライマリ): 10.10.10.2/24、VM セカンダリ IP 範囲: 10.10.11.0/24
GCP は、VM のセカンダリ範囲を VM の IP アドレスにルーティングします。IP 10.10.11.2 でテスト ループバックを作成し、同じ VPC 内の別の VM からこの IP にアクセスして、これをテストしました。出来た。
次のステップでは、偽のループバックを削除し、IP アドレス 10.10.11.2 の macvlan ネットワークを使用してスタンドアロンの Docker コンテナーをインストールしました。
この macvlan ネットワークに接続された新しいコンテナーは、コンテナーの MAC および IP アドレス (10.10.11.2) を使用して VM ens4 インターフェイス経由で到達できると予想していました。
ドキュメントによると、これは macvlan network が行うことです。macvlan ネットワーク内の各コンテナーに新しい MAC アドレスを使用することで、macvlan ネットワークをホスト ネットワークから完全に分離します。
ホスト VM と macvlan ネットワークに存在するドケット コンテナーのセカンダリ範囲の IP の唯一の違いは、コンテナーがホスト VM とは異なる MAC を使用していることです。