Red Hat CodeReady Containers で OpenShift をローカルで使用する
はじめに
まず、Red Hat CodeReady Containers の話をする前にそもそも OpenShift とは、一言でいうとエンタープライズ Kubernetes プラットフォームです。Kubernetes と比較して CI/CD など運用面での便利な機能が付いているのが特徴です。詳しい特徴については下記の URL をご覧ください。
その OpenShift ですが、とりあえずローカルで触ってみたいと考え見つけたのが、今回紹介する Red Hat CodeReady Containers(以下 CRC)です。
環境
今回導入した環境は以下になります。
key | value |
---|---|
OS | macOS Moneterey 12.2.1 |
Shell | zsh |
また ドキュメント には、動作環境の Minimum system requirements として下記を備えておく必要があると記載されています。
- 4 vCPU
- 9 GB メモリ
- 35 GB ディスク容量
ダウンロード
事前に Red Hat アカウントを作成した上で、ダウンロードしていきます。ダウンロードサイト にアクセスするとログインが求められるので Red Hat アカウントを持っていない場合は作成して、今回は macOS 用(お使いのマシンにあったもの)をダウンロードします。
ダウンロードにはしばらく時間がかかります。
待っている間に Secret 情報をコピー or ダウンロードし、ローカルに保存しておきます。
ダウンロードが終了したらインストーラを開くので、指示に従って進めていきます。それが終わると以下のようなメッセージが表示されるので、続きは CUI でセットアップしていきます。
初期セットアップ
まず CRC コマンドを使えるか確認します。
$ crc version
CodeReady Containers version: 1.40.0+5966df09
OpenShift version: 4.9.18 (bundle installed at /Applications/CodeReady Containers.app/Contents/Resources/crc_hyperkit_4.9.18.crcbundle)
OpenShift 4.9.18 に対応した CRC がインストールされているのが分かります。
余談ですが、いつの間にか mac の画面トップのメニューバーにも OpenShift のアイコンが追加されていました。
セットアップ
$ crc setup
INFO Checking if running as non-root
..
(省略)
..
Your system is correctly setup for using CodeReady Containers, you can now run 'crc start' to start the OpenShift cluster
OpenShift クラスタを起動
PATH
には、Secret 情報を保存したファイルを指定します。
# CRC を起動
$ crc start --pull-secret-file=<PATH>
INFO Checking if running as non-root
..
(省略)
..
Started the OpenShift cluster.
The server is accessible via web console at:
https://console-openshift-console.apps-crc.testing
Log in as administrator:
Username: kubeadmin
Password: r23rB-ZT5TB-SHKDF-rnhJd
Log in as user:
Username: developer
Password: developer
Use the 'oc' command line interface:
$ eval $(crc oc-env)
$ oc login -u developer https://api.crc.testing:6443
CRC の起動が成功すると上記のように Web コンソールの URL や認証情報、OC コマンドの使い方が表示されます。
以上で macOS 上に CRC の導入方法の説明は終了です。これでローカルに気軽に OpenShift クラスタを作ることができるようになりました。
よく使う CRC コマンド、Tips
一通り CRC を触ってみたので、何回も使ったコマンドや知っておくと便利なことなどを残しておきます。
クラスタの起動を確認
$ crc status
CRC VM: Running
OpenShift: Running (v4.9.18)
Disk Usage: 13.6GB of 32.74GB (Inside the CRC VM)
Cache Usage: 25.77GB
Cache Directory: /Users/<USER_NAME>/.crc/cache
OpenShift Web コンソール周り
# Web コンソールを開く
$ crc console
# OR
$ crc dashboard
# Web コンソールの URL のみを表示
$ crc console --url
https://console-openshift-console.apps-crc.testing
ログイン
oc login
コマンドを使用して CRC で立ち上げたクラスタにログインできます。
# Developer ユーザとしてログイン
$ oc login -u developer -p developer https://api.crc.testing:6443
# Admin ユーザとしてログイン
$ oc login -u kubeadmin -p <PASSWORD> https://api.crc.testing:6443
kubeadmin のパスワードを忘れた場合は、下記のコマンドで確認できます。
$ crc console --credentials
To login as a regular user, run 'oc login -u developer -p developer https://api.crc.testing:6443'.
To login as an admin, run 'oc login -u kubeadmin -p abcd1234e5-ABC321-DEF654-a1b2c3 https://api.crc.testing:6443'
CRC の停止、削除
かなりメモリを食うので使用しない場合は基本落としておいたほうが良いです。
# クラスタの停止
$ crc stop
INFO Stopping kubelet and all containers..
INFO Stopping the OpenShift cluster, this may take a few minutes..
Stopped the OpenShift cluster
# クラスタの削除
$ crc delete
o you want to delete the OpenShift cluster? [y/N]: y
Deleted the OpenShift cluster
CRC コマンドの補完
CRC には、シェルの補完機能もあります。crc completion
コマンドを使ってお使いのシェルに合った設定ができます。以下 macOS, zsh の場合です。異なる環境の場合は、crc completion -h
で確認してみてください。
$ crc completion zsh > /usr/local/share/zsh/site-functions/_crc
# シェルを再読み込み
$ exec $SHELL -l
$ crc # ここでタブキーを押下
bundle -- Manage CRC bundles
cleanup -- Undo config changes
completion -- generate the autocompletion script for the specified shell
config -- Modify crc configuration
console -- Open the OpenShift Web Console in the default browser
delete -- Delete the OpenShift cluster
help -- Help about any command
ip -- Get IP address of the running OpenShift cluster
oc-env -- Add the 'oc' executable to PATH
podman-env -- Setup podman environment
setup -- Set up prerequisites for the OpenShift cluster
start -- Start the OpenShift cluster
status -- Display status of the OpenShift cluster
stop -- Stop the OpenShift cluster
version -- Print version information
まとめ
今回は、OpenShift をローカルで使用できるツール Red Hat CodeReady Containers についてまとめてみました。Red Hat 製品を購入する前に自身のマシンで気軽に試すことができます。興味のある方は検証などの際に是非活用してみてください。
参考にさせていただいたサイト
Discussion