Zenn
🐼

WindowsにOpenShift環境を作り、Macから接続する

に公開

やりたかったこと

  • 自由に触れるOpenshift環境が欲しい(お金はかけたくない)
  • 普段Macでごにょごにょ開発してる
  • ローカルPCにOpenShift環境を作るには、それなりのPCスペック(特にメモリ)がいる
  • たまたまメモリを積んだWindowsを持て余している

→ WindowsにOpenShift Localを立て、Macからocコマンドを実行したい

どこで動かすかの検討

前提として、Windows PCが以下のスペックを満たしている必要があります。

For OpenShift Container Platform
4 physical CPU cores
10.5 GB of free memory

35 GB of storage space
https://crc.dev/docs/installing/

ローカルOpenShift環境には、OpenShift Local(もともとCode Ready Containerという名前で、コマンドはcrcだったりする)を使います。

また、構築に当たってはちょうどやりたいことをドンピシャ実現してくださっている記事があったので、そちらを参考にしました。(ですので、本記事では細かい手順は割愛します)
https://dev.classmethod.jp/articles/start-using-OpenShift-at-home-today/

参考記事ではWindows本体(Powershell)でOpenShift Localを動かしていますが、わんちゃんLinux版のtar.xzをダウンロードしてWSL2で動かせないかと思いやってみましたが、だめでした。

どうしてもWindows上のlinuxで動作させたいとなると、Vertualboxなどでlinuxをインストールするか、Ubuntuで頑張るしかなさそうです。
それを踏まえると、Windows本体(Powershell)で動かすのが一番てっとり早そうだったので、私もそうしました。

WindowsでOpenShift環境を構築

https://dev.classmethod.jp/articles/start-using-OpenShift-at-home-today/
の手順を参考に進めていくと、crc consoleで、OpenShiftのダッシュボード表示とサンプルアプリの起動に成功しました。

また、 crc oc-env | Invoke-Expressionでocコマンドが使えるようになり、サンプルアプリも立ち上げることができました。

こんな感じでブラウザからURLを叩いてopenshiftのコンソールや立ち上げたアプリにログインできるのは、crc start実行時と、アプリ作成時に、hostsファイルに自動で設定を追加してくれてるからです。

ホストファイルを見てみると、確かに追加されていることが分かります。

  • PowerShellの管理者権限で実行
notepad C:\Windows\System32\drivers\etc\hosts
  • hostsの中身
127.0.0.1        rails-postgresql-example-sample-project.apps-crc.testing api.crc.testing canary-openshift-ingress-canary.apps-crc.testing console-openshift-console.apps-crc.testing default-route-openshift-image-registry.apps-crc.testing downloads-openshift-console.apps-crc.testing host.crc.testing oauth-openshift.apps-crc.testing
127.0.0.1        rails-postgresql-example-sample-project.apps-crc.testing

Macからもアクセスしてみる

  • Mac側からもOpenShift Localのコンソールを使ったり、OpenShiftでデプロイしたアプリの動作確認をしたいため、Windowsと同じ設定をMacの/etc/hostsに書いてあげます。(Windowsは仕事部屋にあるので、休日リビングでテレビを見ながらMacで作業したいのです)
<WindowsのIPアドレス>       rails-postgresql-example...

また、MacからWindowsのPowershellにssh接続してocコマンドを使いたいですが、以下の記事に記載した手順でssh設定をしました。
https://zenn.dev/ramenpanda/articles/bce9c3bf9785d4

これで、MacからWindows上のOpenShiftを触っていろいろできそうです。

おまけ(Windows起動時に自動でOpenshitを起動)

毎回手動で起動したりパスを通すのは面倒くさいので、以下のようなバッチファイルを作ってshell:startupフォルダに入れると、WindowsPCの電源ボタンをぽちっと押すだけですむようになりました。

  • crc_startup.batch
timeout /t 120 /nobreak >nul
crc start
crc oc-env | Invoke-Expression

Discussion

ログインするとコメントできます