# 環境作成

環境を作成するためには事前に以下の3つの作業を行う必要があります。

  • グループの作成
  • クラウドサービス設定の入力
  • リポジトリサービス設定の入力

上記の準備は「環境作成のための事前準備」を参考に行ってください。

# 共通手順

  1. 左のメニューから[開発環境]を選択し、操作するプロジェクトを確認後、[+]を押下します。

  2. 環境の名前を任意で記載してください。事前準備で用意した「groupName」や、「cloudServiceName」間違いがなければ右下の[次へ]を選択してください。

    namespaceについて

    namespace

    cloudServiceNameにKubernetesクラスタを登録したcloudServiceを選択することで、自動的にネームスペースが生成され環境がデプロイされます。(Kubernetesネームスペースを登録したcloudServiceの場合、登録されたネームスペースの中から利用するネームスペースを選択可能です)
    自動生成された場合、namespaceの名前が「qmonus-lab-env-*** (環境ID) 」となりますが、名前に変更したい場合は「入力する」にチェックを入れ任意の名前を書き込むことでカスタマイズすることが可能です。

    拡張機能(Boost,NFS)について

    Boost機能

    Qmonus Portalの性能を増強することができます。
    一般的な利用方法に関してBoost機能は無効のままで問題ありません。開発を進める中でQmonus Portalの性能が不足する場合に有効化をご検討ください。
    ただし、Boost機能を有効化 / 無効化を行うためには環境を作り直す必要がありますのでご注意ください。

    ■Boost機能の有効化における影響範囲

    1. 自動生成されるNamespace名に「-boost」の文字列が挿入される

      • Boost無効: qmonus-lab-env-{environmentId}
      • Boost有効: qmonus-lab-env-boost-{environmentId}
    2. Qmonus Portalのrequest/limit指定が増強される

      • Boost無効: {"limits": { "cpu": "1000m", "memory": "1Gi" },"requests": { "cpu": "125m","memory": "512Mi" }}
      • Boost有効: {"limits": { "cpu": "1500m", "memory": "5Gi" },"requests": { "cpu": "1500m","memory": "5Gi" }}

    影響範囲1について変更を行いたい場合、環境の再作成が必要です。
    影響範囲2については「環境更新 > 4. Microservice > Portal > resources」より上書きいただくことが可能なため、環境の再作成ではなく環境更新にて修正可能です。

    NFS設定

    開発中のコードやログを格納するNFSをクラスタに自動で作成するか、ユーザにて別途用意したNFSを利用するか選択できます。

    • type: internal/external
      • internal: NFSサーバを自動で作成します。
      • external: ユーザにて別途用意したNFSを利用します。
    • server: NFSサーバのURLまたはIPアドレス
    • path: NFSサーバのマウントポイント ※絶対パス
    • subPath: NFSサーバのマウントポイント配下に開発環境毎にディレクトリを作成するため、このディレクトリ名をsubPathで設定できます。指定がない場合は開発環境のIDが設定されます。

      ※別途用意したNFSサーバのマウントポイントが192.0.2.1:/exportsの場合
      • type: external
      • server: 192.0.2.1
      • path: /exports
      • subPath: 指定なし

  3. 画面中央の[+]を選択し、使用するリポジトリを登録します。

  4. Gitリポジトリを指定します。gitServiceIdには事前準備で登録したGitサービスが表示されます。「repositoryName」、「commitId」に使用するリポジトリを記載してください。(GitHubを使用している場合のみ選択肢が表示されます。)画面右下の[次へ]を選択します。

    githubAccessTokenを入力することによってGitHub連携モードにすることができます。詳細は以下を参考にしてください。
     → 作成した環境の使い方 > GitHub連携

    useの未指定における挙動、repositoryNameのトラブルなどについて

    useの指定

    Git Repositoriesでuseを指定した場合
    開発環境追加/更新の「4. Microservices」におけるpluginsBaseDirsなど、いくつかのパラメータが自動補完されます。

    Git Repositoriesでuseを指定しなかった場合
    pluginsBaseDirsなど、いくつかのパラメータが自動補完されません。

    ※Qmonus SDKとして読み込むには、pluginsBaseDirsに手動で記載する必要があります。記載しない場合Code Editorにて操作はできますが、Qmonus SDKとして読み込まれることはありません。(ScenarioやClassなどで表示されません。)



  5. Secretの登録が必要な場合はこの画面で登録することが可能です。[次へ]を選択します。
    ※開発にてパスワードやtoken、各種keyなどの機密性の高いファイルを利用する際にご利用をご検討ください。


    Secret登録画面の説明

    画面中央部にある[+]アイコンを選択して登録することで、KubernetesのSecretリソース (opens new window)をデプロイすることができます。 機密性の高い情報を環境変数やファイルとして開発環境にマウントすることが可能です。

    [用語説明]


    rid
    Secretオブジェクトの名称となります。
    Secretオブジェクトには機密性のあるデータを一つ、ないしは複数格納することができます。ridは以下の条件に当てはまるように記載してください。
    ・253文字以内
    ・英小文字、数字、「-」または「.」のみを含む
    ・英数字で始まる
    ・英数字で終わる

    type
    Secretのフォーマットとなります。
    指定できる値は generic / tls / basic / ssh の4つです。

    type 詳細
    generic デフォルトのSecret型
    tls TLSに通常使用される証明書と
    それに関連付けられたキーを保存するためのSecret型
    basic Basic認証に必要な認証を保存するためのSecret型
    ssh SSH認証で使用されるデータを保存するためのSecret型

    KubernetesのSecretリソースのtypeに相当し、 generic以外はその型に定義されているすべての要件を満たす必要があります。
    → 詳細: Kubernetes公式ドキュメント > Secret (opens new window)

    mountType
    KubernetesのSecretリソースのマウントタイプとなります。
    以下の2つから指定してください。

    monutType 詳細
    volume ファイルとしてマウントします。
    パス:/secrets/{rid}/{alias}
    env 環境変数としてマウントします。

    mountProducts
    SecretをマウントするMicroservicesの選択箇所となります。
    これにより機密情報を参照できるプロダクトを必要最小限にすることが可能です。
    例:Qmonus SDKのチェックを外すと、apigwやscenarioから参照できなくなります。

    ITEM
    各機密情報の入力欄です。
    type / mountType / mountProducts が同じ場合、同一のridで複数登録することができます。

    name
    機密情報に紐付けられる名前となります。
    Secretのdataにおけるkeyであり、英数字、-、_、または.で構成されている必要があります。

    alias
    マウントされるファイル名、または環境変数名となります。
    指定されていない場合はnameがファイル名、環境変数名としてマウントされます。ただし、nameには文字制限がありますのでご注意ください。

    data
    機密情報を入力する欄となります。

    mode
    機密情報の権限を設定する欄となります。
    左からuser, group, otherの権限を設定します。
    例えば6(u=rw),4(g=r),4(o=r)とした場合、
    ファイルは-rw-r--r--として権限設定が行われます。





# SDK環境の作成

  1. 画面中央の「SDK」「Portal」にチェックを入れます。
    ※SDK環境ご利用の場合、基本的には「SDK」の他に「Portal」も併せて作成します。

  2. 「SDK」が青く選択されていることを確認し、次の手順に移ります。

  3. 「axis」1) のバージョンを選択してください。基本的には最新のバージョンを推奨しております。


  4. 「redis」「database」「version」については自動的に入力されます。特にこだわりがない場合は次の手順にお進みください。

    データベースの選択、各種設定値について

    SDK のデータベースの選択について

    特別な要件がない限り、「MySQL」を選択してください。
    Postgresを利用する場合、プラグインのリポジトリに配置する requirement.txt にaiopg (opens new window)を追加してください。

    デフォルトで設定している3つのマイクロサービス

    「apigw」「scenairo」「transaction」はデフォルトでチェックが入っております。
    特にこだわりがない場合はチェックを外さないでください。

    ※「apigw」「scenairo」の二つは必須となります。「transaction」はPortal環境を利用する場合に必須となります。



  5. 「Portal」を選択し、青く表示されたことを確認します。

  6. 「frontal」2) のバージョンを選択してください。基本的には最新のバージョンを推奨しております。
    このままAPIFront環境を作成せず完了する場合はこちらの手順を実行してください。





# API Front環境の作成

API Front環境を作成するには「SDK環境の作成」6の手順までを実行していることを前提とします。

  1. ApiFrontにチェックを入れ、文字[ApiFront]を選択し青くなっていることを確認します。

  2. 「casval」3) のバージョンを選択します。バージョンに合わせ「redis」のバージョンが自動的に入ります。選択が終わりましたら画面右下の[確認する]を選択してください。

    SPAを同時にビルドする

    SPAを同時にビルド

    画面下部にある「buildSettings」にチェックを入れることでSPAのファイルを指定し、デプロイと同時にビルドを行うことが可能です。

    ※ビルドの内容により環境のデプロイが長時間化される場合があります。このオプションを入れ時間がかかる場合は設定をオフにし、ソースリポジトリに/distファイルを追加後、その中に格納することでデプロイの高速化を図ることが可能です。

    その他MicoroServicesについて > FrontTester

    FrontTester

    FrontTesterの詳細については以下ドキュメントをご覧ください。
    FrontTester 公式ドキュメント

    FrontTester > resources
    開発環境をk8sクラスタへデプロイする際、Qmonus FrontTesterに割り当てるリソース量を指定します。
    詳細につきましては k8s公式ドキュメント を参照ください。


    その他のMicoroServisesを利用したい場合

    API Front以外のMicroServisesについても同様の手順で追加することが可能です。
    設定値など不明点がありましたらサポートまでご連絡ください。





# 確認と作成開始

  1. 内容を確認し、[追加する]を選択します。

  2. 環境作成が開始されます。環境作成までしばらくお待ちください。 ※環境作成および更新が完了した直後はPortal/ApiFrontボタンを押してもエラーが表示されアクセスできないことがあります。その場合はしばらく時間を置いてから再度アクセスをお願いいたします。30分程度しても処理が終わらない(Completed, Failed以外)場合、サポートまでお問い合わせください。


















  • 1^ 2^ 3^
    各MicorServiseを構成するコンポーネントです、以下のようなものが存在します。
    • axis : Qmonus SDKを構成するコンポーネント
    • frontal : Qmonus Portalを構成するコンポーネント
    • casval : Qmonus ApiFrontを構成するコンポーネント