リモートブラウザ使用時に502 Bad Gatewayが発生する現象
一般的にrb-appこれを使用するport (ex : 30110 ~ 30xxx)と通信ができない場合に発生します
予想されるケース
可能性が高いですが、必ずしも以下のケースに該当するわけではありません。
- rb-appが30xxxポートを占有できない問題
- rb-appは30xxxポートを占有していますが、k8s Serviceがpodと通信できない問題。
- rb-appポッドがRunning状態でない問題
点検方法
点検方法 : rb-app が 30xxx ポートを占有できない問題
最初に確認すべき事項
rb-appが외부(www.naver.com 등 외부망)ワと通信が불가능同じ環境で k8s rb-manager configmap のRB_CHROME_ARGSに--disable-component-update502が発生する場合
RB_CHROME_ARGS: '--no-sandbox --enable-unsafe-webgpu --lang=ko --disable-component-update'このように--disable-component-updateが必ず含まれていなければなりません!!
--disable-component-update 옵션의 역할: ワイドバインのダウンロードが進行していないため、動画のDRMを使用する場合は使用できません。
クロミウムが自らWidevineをインストールするために外部ネットワークと通信を試みます。この時、インストールが不可能な場合、ポートの占有に失敗し、k8sポッドはアクティブですが通信を試みると
502状況が発生する
その他
- rb-app podが動作中のホストに(特に問題がなければほとんどがworkerNodeである)ssh接続
sudo lsof -iTCP:30100-30199 -sTCP:LISTENまたはss -tuln | grep -E ':(301[0-9][0-9])\b'現在使用中のポート一覧を確認する (単 lsof 使用時は sudo が必須!! sudo 権限なしではポートが表示されない)
iadmin@dev-kubernetes-worker-5:~$ ss -tuln | grep -E ':(301[0-9][0-9])\b'
tcp LISTEN 0 511 *:30110 *:*
tcp LISTEN 0 511 *:30112 *:*
tcp LISTEN 0 511 *:30113 *:*
30xxxポートが사용중(LISTEN)認知確認- そのポートを占有しているプロセスが
rb-appこの可能性もあるので、追加でrb-appログファイルも確認するとさらに良いです。 - rb-app podにsshで接続
logsフォルダーに移動rb-svc-*.log形式のログファイルの中で最も最近の日付のファイルを閲覧する(catを使うかtailを使うか方法は自由)
nobody@dev-kubernetes-master-2:~/logs$ tail -f rb-svc-2025-08-07.log
2025-08-07T05:46:14.951Z [info] js-flags : --turbo-fast-api-calls --sparkplug --concurrent-recompilation --turbo-inline-array-builtins --turbo-load-elimination --use-osr
2025-08-07T05:46:16.885Z [info] Server is listening on port 30115
[info] Server is listening on port 30xxxログが出力されているか確認- もし
already port「すでに使用中のポート」というログが表示されている場合、rb-appではなく他のプロセスがそのポートをすでに占有しているために発生する問題であり、rb-managerのconfigmapを修正してポート範囲を変更する必要があります。 [info] Server is listening on port 30xxxログも見えずalready portログが表示されない場合、他の問題が発生している可能性があるため、rb-appのログレベルをdebug私trace変更後にログを再確認する必要があります。