OpenShift local と仮想マシンマネージャーのスナップショットを組み合せると便利です

Linux 上の OpenShift local では KVM が利用されているようなので、仮想マシンマネージャーのスナップショット機能が活用できます。


ここではスナップショットを取得後に OpenShift local を起動し、適当なアプリを導入後にスナップショットを戻すことでアプリ導入前に戻ることを確認してみます。


事前作業としてスナップショットを取得

  • 予めスナップショットを取得しておきます
     (補足)crc を開き、[表示] メニューにある [スナップショット] を選択すると目的の画面が表示されます。


(補足)スナップショットについては以下のドキュメントも参考になるかと思います。

access.redhat.com


OpenShift local の作業

  • OpenShift local を起動します
$ crc start
WARN A new version (2.9.0) has been published on https://developers.redhat.com/content-gateway/file/pub/openshift-v4/clients/crc/2.9.0/crc-linux-amd64.tar.xz 
INFO Checking if running as non-root              
INFO Checking if running inside WSL2              
INFO Checking if crc-admin-helper executable is cached 
INFO Checking for obsolete admin-helper executable 
INFO Checking if running on a supported CPU architecture 
INFO Checking minimum RAM requirements            
INFO Checking if crc executable symlink exists    
INFO Checking if Virtualization is enabled        
INFO Checking if KVM is enabled                   
INFO Checking if libvirt is installed             
INFO Checking if user is part of libvirt group    
INFO Checking if active user/process is currently part of the libvirt group 
INFO Checking if libvirt daemon is running        
INFO Checking if a supported libvirt version is installed 
INFO Checking if crc-driver-libvirt is installed  
INFO Checking crc daemon systemd socket units     
INFO Checking if systemd-networkd is running      
INFO Checking if NetworkManager is installed      
INFO Checking if NetworkManager service is running 
INFO Checking if dnsmasq configurations file exist for NetworkManager 
INFO Checking if the systemd-resolved service is running 
INFO Checking if /etc/NetworkManager/dispatcher.d/99-crc.sh exists 
INFO Checking if libvirt 'crc' network is available 
INFO Checking if libvirt 'crc' network is active  
INFO Loading bundle: crc_libvirt_4.10.18_amd64... 
INFO Starting CRC VM for OpenShift 4.10.18...     
INFO CRC instance is running with IP 192.168.130.11 
   -- 省略 --


  • OpenShift local が起動したら、適当なアプリを導入します

ここでは以下のブログを参考にスーパーヒーローを用いた処理性能可視化デモアプリ(意味不明)を導入してみます。

developers.redhat.com


  • 手順は簡単で任意のプロジェクトを作成後に以下のコマンドを順次実行するだけです
oc new-project demo
oc apply -f https://raw.githubusercontent.com/quarkusio/quarkus-super-heroes/main/deploy/k8s/java17-openshift.yml


全てのアプリケーションのアイコンが青色になるまで少し待機します。
(以下は未だ途中です)


全てのアプリケーションのアイコンが青色になったら以下のコマンドを実行し、暫く待機します。

oc apply -f https://raw.githubusercontent.com/quarkusio/quarkus-super-heroes/main/deploy/k8s/monitoring-openshift.yml


全てのアプリケーションが起動したら以下のような感じになります。
(すいません。私の環境ではリソース不足で最後まで行きませんでしたので参考にしたブログの画像を張り付けます)


  • OpenShift local を終了します
     (補足)導入したアプリを動かしたい場合は参考にしたブログの内容をご覧ください。
crc stop


スナップショットを元に戻します

  • 先ほど取得したスナップショットを適用すると元に戻ります


  • 警告がダイアログが表示されますが、[はい] ボタンをクリックして適用します


  • 再度、OpenShift local を起動します
crc start


  • 先程作成した demo プロジェクトが存在しないため、状態が元に戻ったことが分かります


まとめ

OpenShift local で検証する際は適当なタイミングでスナップショットを取得しておくと検証環境が変な状態になっても元に戻すことが可能です。これで無茶な検証も心置きなく試すことができますね。


ここまで記述してなんですが、Red Hat Enterprise Linux 8 以降では仮想マシンマネージャーは非推奨になりましたのでご留意ください。

access.redhat.com

access.redhat.com