Oracle Linux 7により、デフォルトでfirewalldがインストールされて有効化されます。Platform CLIにより、Kubernetesモジュールのデプロイメント時に追加が必要になるルールが通知されます。また、Platform CLIには、要件を満たすようにファイアウォールの構成を変更する場合に実行するコマンドも用意されています。
すべての必要なポートが開かれていることを確認してください。Kubernetesデプロイメントに必要なポートは次のとおりです。
2379/tcp: Kubernetes etcd サーバー・クライアントAPI (マルチ・マスター・デプロイメントのマスター・ノード)
2380/tcp: Kubernetes etcdサーバー・クライアントAPI (マルチ・マスター・デプロイメントのマスター・ノード)
6443/tcp: Kubernetes APIサーバー(マスター・ノード)
8090/tcp: Platform Agent (マスター・ノードとワーカー・ノード)
8091/tcp: Platform API Server (オペレータ・ノード)
8472/udp: Flannelオーバーレイ・ネットワーク、VxLANバックエンド(マスター・ノードとワーカー・ノード)
10250/tcp: Kubernetes
kubelet
APIサーバー(マスター・ノードとワーカー・ノード)10251/tcp: Kubernetes
kube-scheduler
(マルチ・マスター・デプロイメントのマスター・ノード)10252/tcp: Kubernetes
kube-controller-manager
(マルチ・マスター・デプロイメントのマスター・ノード)10255/tcp: Kubernetes
kubelet
APIサーバー: 認証なしの読取り専用アクセス用(マスター・ノードとワーカー・ノード)
次に、ポートを開くコマンドとファイアウォール・ルールを設定するコマンドを示します。
単一マスター・デプロイメントの場合は、ファイアウォールで次に示すポートを開く必要があります。
オペレータ・ノードで次を実行します。
$ sudo firewall-cmd --add-port=8091/tcp --permanent
該当するルールが有効になるようにファイアウォールを再起動します。
$ sudo systemctl restart firewalld
Kubernetesワーカー・ノードで次を実行します。
$sudo firewall-cmd --zone=trusted --add-interface=cni0 --permanent
$sudo firewall-cmd --add-port=8090/tcp --permanent
$sudo firewall-cmd --add-port=10250/tcp --permanent
$sudo firewall-cmd --add-port=10255/tcp --permanent
$sudo firewall-cmd --add-port=8472/udp --permanent
該当するルールが有効になるようにファイアウォールを再起動します。
$ sudo systemctl restart firewalld
Kubernetesマスター・ノードで次のように実行します。
$sudo firewall-cmd --zone=trusted --add-interface=cni0 --permanent
$sudo firewall-cmd --add-port=8090/tcp --permanent
$sudo firewall-cmd --add-port=10250/tcp --permanent
$sudo firewall-cmd --add-port=10255/tcp --permanent
$sudo firewall-cmd --add-port=8472/udp --permanent
$sudo firewall-cmd --add-port=6443/tcp --permanent
該当するルールが有効になるようにファイアウォールを再起動します。
$ sudo systemctl restart firewalld