SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

エンタープライズに必要な機能を強化! Kubernetesベースのコンテナアプリ開発基盤「OpenShift」を試してみよう

知っておきたい便利な開発者向けツール

 OpenShiftは「大規模なシステムでもアプリケーション開発者がコードを書くことに集中できる」ことを目指したプラットフォームであるため、開発者フレンドリーなツールを多く提供しているのが特徴です。

Web Console

 OpenShiftのWeb Consoleは、WebブラウザーからOpenShiftクラスターを操作できるグラフィカルツールです。

 クラスター上で動作しているアプリケーションのトポロジーの表示や、プリケーション稼働状況、デプロイメントの構成情報の確認や変更、ビルドの進行状況やイベントログなどを確認できます。

Web Console(引用:Introducing Red Hat OpenShift 4.2: Developers get an expanded and improved toolbox)
Web Console(引用:Introducing Red Hat OpenShift 4.2: Developers get an expanded and improved toolbox

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クラスターへそのままデプロイできます。

VSCode(引用:Introducing Red Hat OpenShift 4.2: Developers get an expanded and improved toolbox)
VSCode(引用:Introducing Red Hat OpenShift 4.2: Developers get an expanded and improved toolbox

コマンドツール

 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]ボタンからダウンロードできます。

Pull Secrets
Pull Secrets

クラスターへのログイン

 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
[...]

 これで、ローカルマシン上でサンプルアプリが起動できました!

次のページ
本番環境でのアプリケーション実行

この記事は参考になりましたか?

特集記事連載記事一覧

もっと読む

この記事の著者

阿佐 志保(アサ シホ)

金融系シンクタンクなどで銀行/証券向けインフラエンジニア、製造業向けインフラエンジニアとして従事。都市銀行情報系基盤システム構築やシステム統廃合、証券会社向けバックオフィスシステムの共通基盤開発プロジェクトを経験。結婚・出産を経て現在は、日本マイクロソフトで法人向けにクラウド導入支援やプリセールスな...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

小島 啓史(コジマ ヒロフミ)

レッドハットにてパートナー企業を担当するプリセールスエンジニアです。Linux/自動化/コンテナを中心としたRed Hatのソリューションを推進すべく、製品セミナー/導入提案/技術情報発信などを実施しています。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/11814 2019/11/15 11:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー