Python Flask アプリケーションを Kubernetes 内にデプロイする  

勤務日と勤務形態をログに記録する

By Max Shapiro

Description

このコード・パターンでは、Docker コンテナー内の MongoDB をマイクロサービスとして統合する Python Flask アプリケーションを作成します。これらのコンテナーは Kubernetes 内にデプロイします。

Overview

このコード・パターンでは、Flask、MongoDB、Kubernetes を使用して Work Log Web アプリケーションを作成します。Work Log は、仕事に関連付けられたさまざまなタイプの日々を記録するために使用するアプリケーションです。ログには次のタイプ別に日々を記録します。

  • オフィス勤務
  • 遠隔勤務
  • 休暇
  • 休日
  • 病欠

このコード・パターンを完了すると、以下の方法がわかるようになります。

  • Python Flask アプリケーションを作成する
  • MongoDB を Python アプリケーションに統合する
  • マイクロサービスを Kubernetes 上にデプロイして実行する

Flow

  1. ユーザーが App UI を操作して、最初にアカウントを作成します。ユーザーはそのアカウントにログインするか、アカウントのパスワードをリセットします。ログインした後、ユーザーは自分の仕事のログ・データを表示、追加、編集できます。
  2. ユーザーが操作する App UI の機能は、React によって処理されます。API 呼び出しは、React から開始されます。
  3. Kubernetes 上の Flask API マイクロサービス内で、API 呼び出しがその目的に応じて処理されます。
  4. API 呼び出しによって、MongoDB 内でデータが保管、収集、変更されます。
  5. API 呼び出しからのレスポンスが、App UI によって適切に処理されます。

Instructions

組み込まれているコンポーネント

  • IBM Cloud Container Service: IBM Bluemix Container Service を利用すると、IBM Cloud 上の Kubernetes クラスターに含まれる Docker コンテナー内で可用性の高いアプリを管理できます。
  • Swagger: OpenAPI 仕様に対応するための API 開発者向けツールからなるフレームワークです。Swagger により、API ライフサイクル全体にわたる開発が可能になります。

主要なテクノロジー

  • コンテナー・オーケストレーション: コンテナー化されたアプリケーションのデプロイ、スケーリング、管理を自動化します。
  • マイクロサービス: マイクロサービスとは、クラウド内で最新式のアプリケーションを組み立てるためにビルティング・ブロックとして疎結合される、軽量のプロトコルを使用した一連のサービスのことです。
  • Python: Python をプログラミング言語として使用すると、より迅速にプログラムを作成し、より効率的にシステムを統合できます。
  • Flask: API を作成するための Python 対応マイクロフレームワークです。
  • React: ユーザー・インターフェースを作成するための JavaScript ライブラリーです。
  • MongoDB: ドキュメント指向の NoSQL データベースです。

ブログ

この Web アプリケーションの作成方法を詳しく説明しているブログ投稿を読んでください。

Related Blogs

Call for Code 2019 応募に向けて個別オンライン相談会の予約受付開始

皆さん、こんにちは。IBM デベロッパーアドボケイト戸倉彩です。 グローバルハッカソンは目標をもって仲間と一緒 […]

続けて読む Call for Code 2019 応募に向けて個別オンライン相談会の予約受付開始

Related Links