問題タブ [gke-networking]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kubernetes - GKE クラスタを 1.14.6 にアップグレードした後、社内ネットワークへの VPN アクセスが機能しない
既存の開発クラスタを 1.13.6-gke.13 から 1.14.6-gke.13 にアップグレードしたところ、ポッドが Google Cloud VPN 経由で社内ネットワークに到達できなくなりました。実稼働クラスター (まだ 1.13) は、同じ VPC ネットワークと VPN トンネルを共有しており、引き続き正常に動作しています。唯一の変更点は、開発クラスターで管理ノードとノード プールを 1.14 にアップグレードしたことです。
開発クラスターのポッドにシェルを開き、アクセスが必要な社内サーバーの IP アドレスに ping を実行しようとしました。応答がありません。本番クラスターのポッドで同じことを行うと、期待どおりに機能します。
クラスタ内のノードに ssh 接続し、社内ネットワークに ping を実行できました。したがって、ネットワークの問題があるのはポッドだけです。
クラスター内の公開されているサービスへのアクセスは、引き続き期待どおりに機能しています。健康チェックもOK。
アップデート:
最新の 1.13 バージョンを使用して新しいノード プールを作成し、1.14 プールからポッドを排出しました。ポッドは 1.13 プールで再び実行されています。1.14で何かが間違いなく起きています。これが新しい設定オプションによる問題なのか、単なるバグなのかはまだわかりません。
解像度:
IP マスカレードについては、https: //cloud.google.com/kubernetes-engine/docs/how-to/ip-masquerade-agent で説明しています。私の解決策は、各クラスタのポッド サブネットを、GCP 上の VPN Cloud Router のアドバタイズされたネットワークのリストに追加することでした。これで、ポッド ネットワークが VPN を通過できるようになりました。
networking - ネットワーク ポリシー + calico を使用した GKE 拒否ステートメント
Google Cloud でマネージド クラスタを実行しているため、有効にするオプションがNetworkPolicy
あり、バックエンドでは calico を使用します。私が抱えている問題は、 api version しか使用できないようnetworking.k8s.io/v1
です。
ポッドからの内部出力トラフィックを無効にし、外部ネットワークへの/からの入力と出力を許可するポリシーを作成しようとしています。
calico API を使用すると、次のようになります。
または、次のポリシーの否定的なバージョン:
2 つの質問があります。1. networking.k8s.io/v1
API で上記のルールを再現できますか? 2.projectcalico.org/v3
マネージド GKE クラスタで API を有効にすることはできますか?