このトピックでは、OpenStack キャッシュに関する一般的な質問への回答について説明します。

  1. キャッシュでは何が起こりますか。

    Neutron サーバからの応答をキャッシュする Neutron クライアントのラッパーを作成します。キャッシュが有効になっている場合、ネットワーク、サブネット、およびフローティング IP アドレス ネットワークがキャッシュされます。

    1. ネットワークとサブネットのリストをキャッシュします。

    2. 特定のサブネットのフローティング IP アドレス ネットワークをキャッシュします。

    3. ネットワーク上の GET が発行された場合のネットワーク/サブネットのリストにパッチを適用します。

    4. リストにすでにネットワーク/サブネットがある場合は、ネットワーク/サブネット上の GET がキャッシュ自体から取得されます。

    5. プロバイダ モードで展開する場合、Neutron クライアントは 1 つのみであり、テナントを追跡する必要はありません。RBAC ポリシーは変更され、テナントがネットワークを使用できない可能性があるため、キャッシュされません。

    6. テナント モードで展開すると、各テナントに Neutron クライアントがあり、各クライアントには独自のキャッシュがあります。

    7. クラウドで get-internals API を発行すると、キャッシュが検査のために /var/log/upstart/cloud-connector.log に出力されます。

    8. キャッシュ エントリを表示する API は /api/cloud//internals</code> であり、CLI から表示する場合は show cloud <cloud_name> です。この internals は、/var/log/upstart/cloud-connector.log に出力されます。

    9. API は /api/cloud//internals</code> であり、CLI からの場合は show cloud <cloud_name> internals で、API または CLI コマンドが実行されると、キャッシュ エントリが /var/log/upstart/cloud-connector.log に表示されます。

  2. キャッシュはどのような方法で有効にしますか。

    クラウド レベル オプション enable_os_object_caching を設定します。この手順は次のとおりです。

    configure cloud <cloud-name> 
      openstack_configuration 
      enable_os_object_caching 
      save  
    save
  3. キャッシュの頻度、キャッシュの有効期限はどうなりますか。

    1. キャッシュが有効になると、手動で元に戻すまで同じ状態のままになります。

    2. キャッシュに有効期限はありませんが、API または CLI を呼び出して、キャッシュをクリーンアップできます。

      1. GC のみを実行する強制オプションを指定して GC を発行します。キャッシュが有効な場合、これを実行して、キャッシュをクリアします。次に示すように、API または CLI を使用して実行することもできます。

        API PUT /api/cloud/cloud-uuid/gc?force=True は、API を介してキャッシュをクリアするために使用されます。

        exec cloud cloud-name gc force は、API CLI を介してキャッシュをクリアするために使用されます。

        上記の API CLI が、キャッシュをクリアするために使用されます。

  4. キャッシュに情報がない場合は、キャッシュは OpenStack に向けて API を呼び出しますか。

    はい。キャッシュに情報がない場合、OpenStack に向けて API が実行されます。

  5. キャッシュを更新するタイミングはいつですか。

    • 新しいテナントがオンボーディングされるときです。

    • 新しいルーターまたはフローティング IP アドレス ネットワークが、OpenStack に追加されるときです。