3scaleをCRCにデプロイ

Published: Updated:

Tags: , ,

Categories: ,

はじめに

API管理製品である Red Hat 3scale API ManagementをデスクトップやノートPCで動くOpenShift環境である CodeReady Containers にインストールする手順を紹介します。

前提条件

システム要件

CRCをインストールするには、以下のシステムリソースが必要です。

  • 仮想CPU 4
  • メモリー 8GB
    • このページの手順では、CRC仮想マシンにメモリーを最低10GB、できれば16GB割り当てることをおすすめします。
  • ストレージ空き容量 35GB

アカウント

Red Hat Developer Programへの登録が必要です。登録方法については 赤帽エンジニアブログの記事 を参照してください。

登録後に Token Generatorでサービスアカウントを作成し、ユーザー名とトークンをメモしてください。 ユーザー名は "12345678|username" のような書式で、トークンは"eyJhbGciOiJSUzUxMiJ…​"のような長い文字列です。

確認した環境

CRCはWindows版、macOS版、Linux版があるので、他の環境でも試してみてください。

インストール手順

  1. ダウンロードページからCRCとPull Secretをダウンロードします。
  2. ダウンロードしたCRCを展開して、コンソールで展開したディレクトリに移動します。
  3. $ ./crc setup

  4. $ ./crc start -p /path/to/pull-secret
    かなり時間がかかるのでしばらくお待ちください。以下のようなメッセージが出力されたらCRCの起動完了です。

    INFO To access the cluster, first set up your environment by following 'crc oc-env' instructions
    INFO Then you can access it by running 'oc login -u developer -p developer https://api.crc.testing:6443'
    INFO To login as an admin, run 'oc login -u kubeadmin -p HeJWN-ckbCA-Q96Ds-Sj763 https://api.crc.testing:6443'
    INFO
    INFO You can now run 'crc console' and use these credentials to access the OpenShift web console
    Started the OpenShift cluster
    WARN The cluster might report a degraded or error state. This is expected since several operators have been disabled to lower the resource usage. For more information, please consult the documentation

    起動時のメッセージに、ログインユーザー、パスワード、接続先などが出力されているのでメモしてください。また、CRCで起動完了の表示が出た後で、OpenShiftのWebコンソールにアクセスしても、まだ起動処理が継続している場合もあります。

  5. oc コマンドを有効にします。

    $ eval $(./crc oc-env)
  6. OpenShiftにログインします。

    $ oc login -u kubeadmin -p <password> https://api.crc.testing:6443

    <password> は、出力されたパスワードで置き換えてください。

  7. プロジェクトを作成してください。例えば、「3scale28」プロジェクトを作成する場合は以下の通りです。

    $ oc new-project 3scale28
  8. 作成したサービスアカウントを元に、 threescale-registry-auth シークレットを作成します。

    $ oc create secret docker-registry threescale-registry-auth \
     --docker-server=registry.redhat.io \
     --docker-username="サービスアカウントのusername" \
     --docker-password="サービスアカウントのtoken"
  9. $ crc console を実行して、OpenShiftのウェブコンソールを開きます。

    OperatorHub

  10. Administrator ビューを選択します。
  11. OperatorHubを開きます。
  12. 3scale を検索します。
  13. Red Hat Integration - 3scale をクリックします。
  14. Install ボタンをクリックします。
  15. オペレーターをインストールするプロジェクト、インストール対象の3scaleのバージョン、自動アップデートの有無を選択します。最後に Subscribe ボタンをクリックします。

    Select Install Options

  16. オペレーターをクリックし、API Managerの Create Instance をクリックします。
  17. API Manager定義を以下のように編集し、 Create をクリックします。

    apiVersion: apps.3scale.net/v1alpha1
    kind: APIManager
    metadata:
      name: example-apimanager
      namespace: 3scale28
    spec:
      wildcardDomain: apps-crc.testing
      resourceRequirementsEnabled: false
  18. Developer ビューに切り替えます。

    Flip to Developer view

  19. 全てのPodのロールアウトが完了したら、3scale管理ポータルにアクセスします。

トラブルシューティング

OperatorHubページで、"No OperatorHub Items Found"と表示される

しばらく待ってから、Try again をクリックしてください。

以下のドキュメントが参考になるかもしれません。
No packages show up in the UI (No OperatorHub Items Found)

3scale Operator Podはロールアウトされたが、他のPodがロールアウトされない

  • threescale-registry-auth シークレットが設定されているか確認してください。

CRCが起動しない

以下のような操作を試してみてください。

  • $ ./crc stop
  • $ ./crc delete
  • CRC仮想マシンを削除

その後、 crc setup のステップに戻ります。

特定のバージョンのOpenShiftを利用する

前のバージョンのOpenShiftを利用する場合は、以下のページから該当するCRCをダウンロードできます。
https://mirror.openshift.com/pub/openshift-v4/clients/crc/

Table 1. Table CRCとOpenShiftバージョンの対応
CRCバージョンOCPバージョン
1.0.04.2.0
1.1.04.2.2
1.2.04.2.8
1.3.04.2.10
1.5.04.2.14
1.6.04.3.0
1.7.04.3.1
1.8.04.3.8
1.9.04.3.10
1.10.04.4.3