7.8. サービスが公開されている場合のファイアウォールポートの概要
MicroShift でサービスを実行すると、firewalld がアクティブになることがよくあります。これにより、ポートへのトラフィックがファイアウォールによってブロックされる可能性があるため、MicroShift 上の特定のサービスが中断される可能性があります。ホストの外部から特定のサービスにアクセスできるようにする場合は、必要なファイアウォールポートが開いていることを確認する必要があります。ポートを開くには、いくつかの方法があります。
NodePort
およびLoadBalancer
タイプのサービスは、OVN-Kubernetes によって自動的に利用可能になります。このような場合、OVN-Kubernetes が iptables ルールを追加して、ノード IP アドレスへのトラフィックが関連するポートに配信されるようにします。これは PREROUTING ルールチェーンを使用して実行されます。トラフィックはローカルホストポートとサービスの firewalld ルールをバイパスするために OVN-K に転送されます。iptables および firewalld は、Red Hat Enterprise Linux (RHEL) 9 の nftables でサポートされています。iptables が生成する nftables ルールは、firewalld が生成するルールよりも常に優先されます。
HostPort
パラメーター設定を持つ Pod は自動的に使用可能になります。これには、ポート 80 と 443 を使用するrouter-default
Pod も含まれます。HostPort
Pod の場合、CRI-O 設定が iptables DNAT (宛先ネットワークアドレス変換) を Pod の IP アドレスとポートに設定します。
これらの方法は、クライアントが同じホスト上にあるかリモートホスト上にあるかに関係なく機能します。OVN-Kubernetes および CRI-O によって追加される iptables ルールは、PREROUTING チェーンと OUTPUT チェーンに割り当てられます。ローカルトラフィックは、インターフェイスが lo
タイプに設定された OUTPUT チェーンを通過します。DNAT は、INPUT チェーンのフィラールールに到達する前に実行されます。
MicroShift API サーバーは CRI-O では実行されないため、ファイアウォール設定の影響を受けます。ファイアウォールでポート 6443 を開くと、MicroShift クラスター内の API サーバーにアクセスできます。