ポート範囲の設定

以下の方法はすべて経験に基づいており、システム環境によって異なる場合があります。正常に動作しない場合は、関連する資料を自分で探し、解決策を見つけてください。

Docker のデプロイ

  • sudo nano /etc/sysctl.conf
  • 以下の内容を追加し、ip_local_port_range を指定します:
net.ipv4.ip_local_port_range = 20000 50000
  • sudo sysctl -p を実行して設定を有効にします
  • Docker サービスを再起動します

K3s のデプロイ

  • sudo nano /etc/systemd/system/k3s.service
  • 以下の設定の ExecStart を編集し、service-node-port-range を指定します:
ExecStart=/usr/local/bin/k3s \ server \ --kube-apiserver-arg service-node-port-range=20000-50000
  • sudo systemctl daemon-reload
  • sudo systemctl restart k3s

K8s のデプロイ

デフォルトの範囲は 30000-32767 です。調整が必要な場合は、以下を参考にしてください。

  • sudo vim /etc/kubernetes/manifests/kube-apiserver.yaml を実行します。
  • spec.containers.command--service-node-port-range=<new-range> を追加します。
  • 例えば --service-node-port-range=30000-40000 のようにします。
  • マスターが複数ある場合は、すべてのマスターノードを変更してください。
  • バイナリでデプロイしている場合は、kube-apiserver の設定ファイルを変更し、パラメータは上記と同じにし、サービスを再起動してください。

Docker Swarm のデプロイ

私はまだ試していませんが、成功した方はぜひ PR を提出して補足してください。