知っておきたい便利な開発者向けツール
OpenShiftは「大規模なシステムでもアプリケーション開発者がコードを書くことに集中できる」ことを目指したプラットフォームであるため、開発者フレンドリーなツールを多く提供しているのが特徴です。
Web Console
OpenShiftのWeb Consoleは、WebブラウザーからOpenShiftクラスターを操作できるグラフィカルツールです。
クラスター上で動作しているアプリケーションのトポロジーの表示や、プリケーション稼働状況、デプロイメントの構成情報の確認や変更、ビルドの進行状況やイベントログなどを確認できます。
Visual Studio Codeとの連携
Visual Studio Code(以下VS Code)はMicrosoftが提供するオープンソースのソースコードエディターです。無償で利用でき、WindowsだけでなくmacOSやLinuxのクロスプラットフォームで動作します。またVisual Studio Marketplaceから拡張機能を組み込み、カスタマイズして使えるのが特徴です。
OpenShiftをつかったコンテナーアプリケーション開発に便利なのがOpenShift Extension Packです。VS Codeのメニューで[表示]-[拡張機能]を選択するか、キーボードより[CTRL]+[SHIFT]+[X]を入力し、OpenShift Extension Packをインストールしましょう。
このExtention Packに含まれる「Red Hat OpenShift Connector for Microsoft Visual Studio Code」を使うと、VS Codeでコーディングしたソースコードをからビルドとデバッグを行い、任意の環境で動くOpenShiftクラスターへそのままデプロイできます。
コマンドツール
OpenShiftクラスターを管理するためのocコマンドは、クラスター内で動作するアプリケーションの構成変更やアプリケーションの管理などの操作がCUIでできます。すでにkubectlコマンドを使い慣れている人であれば、ocコマンドによる操作のほうが便利でしょう。
ローカル開発マシンでのアプリケーション実行
それではさっそくOpenShiftを動かしてみましょう。
Red Hat CodeReady Containers(以下、CodeReady Containers)は、ローカルの開発マシン上で動く、OpenShift環境をインストールできるツールです。これにより、開発/テスト段階やOpenShiftをちょっと試したいときなどに、コンテナアプリケーションをローカルで実行できます。
CodeReady ContainersはローカルのノートPCまたはデスクトップPCにOpenShiftクラスターを構築します。CodeReady Containersを実行するためには、最低次のシステムリソースが必要です。
- 4つの仮想CPU(vCPU)
- 8GBのメモリ
- 35GBのストレージ
また、ホストOSのネイティブハイパーバイザーも必要です。CodeReady Containersは執筆時点で、Linux用のlibvirt、macOS用のHyperKit、およびWindows 10のHyper-Vをサポートしています。
インストールとセットアップ
CodeReady Containersは、公式ページからダウンロードできます。ダウンロードするには、Red Hatアカウントが必要です。ここでダウンロードしたアーカイブを解凍し、中に含まれるcrcバイナリをPATH環境変数に追加するとインストールは完了です。
次のコマンドを実行して、環境をセットアップします。このコマンドはrootアカウントではない一般ユーザーのアカウントで実行する必要があります。
$ crc setup
クラスターの構築
インストールが完了すると、次のコマンドを実行してクラスターを起動します。
$ crc start
プロンプトが表示されたら、ユーザーのクラスターのPull Secretを入力します。このPull Secretは製品ページの[Download pull secret]ボタンからダウンロードできます。
クラスターへのログイン
CodeReady Containersには、ocコマンドが含まれています。次のコマンドを実行してクラスタにログインします。
$ eval $(crc oc-env) $ oc login -u developer -p developer
サンプルアプリを動かしてみよう
次に、サンプルアプリケーションをデプロイするため新しいプロジェクトを作成します。ここではmyprojectという名前のものを作成し、サンプルアプリを作成しています。
$ oc new-project myproject $ oc new-app httpd-example
ビルドのステータスを確認して、正常にプッシュされていることを確認します。
$ oc logs -f bc/httpd-example [...] Writing manifest to image destination Storing signatures Push successful
プッシュが成功したら、oc get routesコマンドでアプリケーションの接続先URLを確認します。そして、curlコマンドでアクセスできることを確認しましょう。
$ oc get routes NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD httpd-example httpd-example-myproject.apps-crc.testing httpd-example <all> None $ curl -Ik httpd-example-myproject.apps-crc.testing HTTP/1.1 200 OK [...]
これで、ローカルマシン上でサンプルアプリが起動できました!
