Red Hat CodeReady Containersで、OpenShift 4をローカルでお手軽に試す

OpenShift
Nishipy
OpenShift 4 の簡易版であるCodeReady Containersを、自宅ラップトップに導入したときのメモです。

はじめに

OpenShift

Red Hat社が提供するコンテナオーケストレーションプラットフォームです。

OpenShift とは?をわかりやすく解説 | Red Hat
Red Hat® OpenShift® は、エンタープライズ向け Kubernetes コンテナプラットフォーム。ハイブリッドクラウドでのアプリの大規模な構築、モダナイズ、デプロイに役立ちます。

アップストリーム版のKubernetesに対して、エンタープライズ向けの便利機能がいくつか付いたものと理解していいと思います。例えば、様々なクラウド上にクラスタを構築できたり、Operatorの導入がすぐに行えたり、CI/CDとの連携が楽だったり、GUIやCUIの機能が豊富だったり…

詳しくは、以下の記事も参照ください。

Kubernetesと比較したOpenShiftの特徴
はじめに転職を機にOpenShiftばかり触っています。最近はだんだんと慣れてきたので、この辺でKubernetesとOpenShiftの違いについて、わかりやすそうにまとめてみます。わかりやすくするために、「違い」と言ってもあまり細か...(続く)
OpenShift ProjectとKubernetes Namespaceの違い
はじめに前回、KubernetesとOpenshiftをふんわり比較した記事を書きました。思ったより多くの方に読んでいただいたようです。ありがとうございます。この記事のリソースの違いという節で、OpenShift独自のリソースに...(続く)

Red Hat CodeReady Containers (CRC)

テストや検証目的に、OpenShift 4のクラスタを、ローカルに構築するツールです。

GitHub - crc-org/crc: CRC is a tool to help you run containers. It manages a local OpenShift 4.x cluster, Microshift or a Podman VM optimized for testing and development purposes
CRC is a tool to help you run containers. It manages a local OpenShift 4.x cluster, Microshift or a Podman VM optimized for testing and development purposes - c...(続く)

プロダクション環境のように多くのリソースを用意できないけど、OpenShiftで試したいことがあるといった時に使えそうです。

minishiftとの違いは?

手軽にOpenShiftを触りたいと思い、少し調べると、minishiftCDKという単語がよく出てきます。これは、OpenShift 3 のクラスタをローカルに構築するためのツールだそうです。

GitHub - minishift/minishift: Run OpenShift 3.x locally | This project does not see active developement and maintenance.
Run OpenShift 3.x locally | This project does not see active developement and maintenance. - minishift/minishift

OpenShiftは、3 と 4 では使われているOSSの構成もかなり違うようなので、せっかくなら新しい方を使ってみようと思うわけです。



使ってみる

実際に使ってみます。とはいえ、この公式ブログに沿って、コマンドを打てばすぐできます。

前提条件

前提条件は、公式ドキュメントにも書いてあります。
https://code-ready.github.io/crc/

ハードウェア要件については、以下の通り。

  • 4 virtual CPUs (vCPUs)
  • 8 GB of memory
  • 35 GB of storage space

また、ローカル環境のOSによって、対応するバージョンや、使用するハイパーバイザーの種類が違うようです。

ダウンロード、インストール

以下のサイトからダウンロードできます。ダウンロードには、Red Hatアカウントが必要です。

https://developers.redhat.com/products/codeready-containers

「MacOS: Download」ボタンをクリックして、ダウンロードします。またクラスタ構築時に、Pull Secretの値が必要そうなので、どこかに控えておきます。

そして、ダウンロードしてきたファイルを解凍し、PATHを通します。これで、crcコマンドが使えるようになります。

クラスタ開始

まず下記コマンドで、ホスト側の設定を行います。出力は、環境によって違うと思いますが、最後にSetup is complete,...と表示されれば準備OKです。

あとは、crc startとすれば、クラスタが開始されます。Pull Secretの値を聞かれた場合は、ダウンロードページで取得した値を入れましょう。しばらく待つと、下記のようにクラスタへのログイン情報も出力されるはずです。この間、HyperKitによりCPU使用率が急上昇し、私のMacbookは無事、熱々の鉄板と化しました。

CUIで使ってみる

crc startコマンドの出力通りに操作してみます。crc oc-envと打って指示に従うと、CRCに同梱されているocコマンドが使えます。

せっかくなので、もう少し触ってみます。
* ログイン
クラスタと同時に作成されるスーパーユーザーkubeadminでログインしてみます。

  • プロジェクト作成
    OpenShiftでは、Project単位でオブジェクトを論理的に分割します。プロジェクトを作成すると、Namespace + α が作成されます。詳しくは別の機会に。
1.3. プロジェクト作成の設定 | Red Hat Product Documentation
1.3. プロジェクト作成の設定 | Red Hat Documentation

  • ノード構成確認
    MasterとWorkerが相乗りの1ノード構成になっているようですね。



GUIで利用

Webコンソールへアクセスも、crc startコマンドの出力通りに操作すれば簡単です。

ブラウザが自動で開いて、kubeadminでログインすると、ダッシュボードが表示されます。CUIでカタカタやるより達成感ありますね。

[Home]-[Project]とクリックしていけば、先ほどCUIで作ったfirst-appプロジェクトも表示されると思います。

クラスタの停止と削除

クラスタを使わなくなったら、以下のコマンドで停止と削除ができます。

さいごに

OpenShiftはRed Hat製品なので、何かしら契約しないと使えないと思っていましたが、今回のようにCRCを使うと、手軽に試すことができます。WindowsやLinuxにも対応しているようなので、みなさんも楽しいOpenShiftライフをお過ごしください!

以上.

コメント