CRD を使用した API の更新

API は常に変化するため、Anypoint Service Mesh では同じメジャーバージョン内で API の仕様を更新できるようにしています (マイナーおよびパッチバンプのみが許可されています)。API は Anypoint Platform または Anypoint Service Mesh を使用して更新できます。

  • Anypoint Service Mesh を使用して API を更新する

    API リソースがクラスター内に存在する場合は、リソースを更新することで、アセットバージョンや API インスタンスの作成や変更などを Anypoint Platform でトリガーできます。

  • Anypoint Platform を使用して API を更新する

    新しいバージョンの API を Anypoint Exchange (Exchange) にパブリッシュしたら、新しいアセットバージョンを使用するように、アセットに関連付けられている API インスタンスを更新できます。

    アセットタグは Exchange から、API インスタンスタグは API Manager で更新できます。

Anypoint Service Mesh を使用して API を更新する

Anypoint Service Mesh の Autocreate 機能を使用して API を設定した場合は、必要に応じてクラスターから API を更新できます。更新時には、API のプロビジョニングで使用した環境の詳細とログイン情報が再利用されます。

ただし、CRD を使用する場合は、リソースで変更されたログイン情報が使用されます。

CRD を使用して API を更新するには、次の手順を実行します。

  1. 元の YAML マニフェストを編集して API リソースを更新します。

    kubectl apply -f test-api-edited.yaml

  2. コマンドラインエディターを使用してリソースを直接編集することもできます。

    kubectl edit serviceinstance/<name> -n <namespace>

  3. API が正常に作成されていることを確認します。

    asmctl api list

  4. 必要に応じて、Exchange でアセットが変更され、API Manager で API インスタンスが変更されたことを確認します。

Anypoint Platform を使用した API の更新

Anypoint Platform から API を更新する場合は、Exchange でアセットを更新するか、または API Manager で API インスタンスを更新できます。

Exchange で API アセットを更新する

Anypoint Platform を使用して既存のアセットを更新するか、または新しいバージョンを作成するには、次の手順を実行します。

  1. [Anypoint Platform]​ > ​[Exchange]​ に移動して、変更するアセットを選択します。

  2. 変更する内容により、次のいずれかのアクションを実行します。

    1. 新しいバージョンをアップロードする場合は、右側のテーブルで ​[Add new version (新規バージョンを追加)]​ をクリックします。

    2. バージョンのタグを変更する場合は、右側のパネルで ​[Tags (タグ)]​ をクリックします。

API Manager で API インスタンスを更新する

既存の API インスタンスを更新するには、次の手順を実行します。

  1. [Anypoint Platform]​ > ​[API Manager]​ に移動します。

  2. 結果テーブルで自分の API インスタンスを探します。

  3. [API Configuration (API 設定)]​ セクションで、自分の API インスタンスのタグを更新します。

  4. API バージョンを更新します。

    アセット更新の表示、60%