手元のデスクトップPCにCodeReady Containersを入れた場合は、そのPCのブラウザを使えば特に問題ないけど、リモートのCodeReady Containersだと、コンテナ環境はネットワークが異なるので外からはアクセスできない。
CRCが動いているLinuxサーバ上でnatとか設定しても大丈夫と思うけど、もっと簡単にsshのポートフォワードで回避してみた。
TL;DR
リモートのLinuxのアドレスが192.168.0.41
、CodeReady Containersのアドレスが192.168.130.11
であれば、-L
を使ってまずsshログインする
% ssh -L 443:192.168.130.11:443 192.168.0.41
hostsに以下の設定を追加 (※oc get route -Aの内容を全部書いておけば間違いない)
127.0.0.1 console-openshift-console.apps-crc.testing oauth-openshift.apps-crc.testing
この状態でsshアクセス元のブラウザで https://console-openshift-console.apps-crc.testing にアクセス
あとは初期アカウントであれば、kube:admin
を選択、Usernameにkubeadmin
、Passwordに~/.crc/cache/crc_<platform>_<version>/kubeadmin-password
の内容を入力すればOK。
ローカルで443/TCPを他で使用済みでポートフォワード用に別のポート番号を指定する場合は、認証などでリダイレクトする毎に変更したポート番号を手動で指定してやればとりあえず動く。
ローカルの25443/TCPでlistenしてリモートの192.168.130.11:443に飛ばす場合
% ssh -L 25443:192.168.130.11:443 192.168.0.41
構成
todo: 図を書く
Linuxのアドレス
$ ip -4 a s ens192 2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 inet 192.168.0.41/24 brd 192.168.0.255 scope global noprefixroute ens192 valid_lft forever preferred_lft forever
CodeReady Containersのアドレス
$ crc ip 192.168.130.11