3.2. キャッシュサービスノードの作成


デフォルトでは、Data Grid Operator はキャッシュサービスノードを含む Data Grid クラスターを作成します。

手順

  1. Infinispan CR を作成します。

    apiVersion: infinispan.org/v1
    kind: Infinispan
    metadata:
      name: example-infinispan
    spec:
      replicas: 2
      service:
        type: Cache 1
    1
    キャッシュサービスノードを作成します。これは Infinispan CR のデフォルトです。
  2. Infinispan CR を適用して、クラスターを作成します。

3.2.1. 自動スケーリングの設定

キャッシュサービスノードでクラスターを作成する場合、Data Grid Operator はデフォルトキャッシュのメモリー使用量に基づいて、ノードを自動的にスケールアップまたはスケールダウンできます。

Data Grid Operator は、キャッシュサービスノード上のデフォルトキャッシュを監視します。キャッシュにデータを追加すると、メモリー使用量が増加します。クラスターに追加の容量が必要であることを検出すると、Data Grid Operator はエントリーをエビクトするのではなく、新しいノードを作成します。同様に、メモリー使用量が特定のしきい値を下回っていることが検出された場合、Data Grid Operator はノードをシャットダウンします。

重要

自動スケーリングは、デフォルトキャッシュでのみ動作します。他のキャッシュをクラスターに追加する予定の場合、Infinispan CR に autoscale フィールドを含めないでください。この場合、エビクションを使用して、各ノードのデータコンテナーのサイズを制御する必要があります。

手順

  1. spec.autoscale リソースを Infinispan CR に追加し、自動スケーリングを有効にします。
  2. autoscale フィールドを使用して、クラスターのメモリー使用量のしきい値とノード数を設定します。

    spec:
      ...
      service:
        type: Cache
      autoscale:
        maxMemUsagePercent: 70 1
        maxReplicas: 5 2
        minMemUsagePercent: 30 3
        minReplicas: 2 4
    1
    各ノードのメモリー使用量の最大しきい値をパーセンテージで設定します。Data Grid Operator は、クラスター内のいずれかのノードがしきい値に達したことを検出すると、可能であれば新しいノードを作成します。Data Grid Operator が新規のノードを作成できない場合、メモリー使用量が 100 パーセントに達すると、エビクションを実行します。
    2
    クラスターのノード数の最大数を定義します。
    3
    クラスター全体のメモリー使用量の最小しきい値をパーセンテージで設定します。Data Grid Operator は、メモリー使用量が最小値を下回ったことを検出すると、ノードをシャットダウンします
    4
    クラスターのノード数の最小数を定義します。
  3. 変更を適用します。

3.2.2. 所有者数の設定

所有者の数は、Data Grid クラスター全体に複製される各キャッシュエントリーのコピーの数を制御します。キャッシュサービスノードのデフォルトは 2 で、データの損失を防ぐために各エントリーを複製します。

手順

  1. 次のように、Infinispan CR の spec.service.replicationFactor リソースで所有者数を指定します。

    spec:
      ...
      service:
        type: Cache
        replicationFactor: 3 1
    1
    各キャッシュエントリーに 3 つのレプリカを設定します。
  2. 変更を適用します。

3.2.3. キャッシュサービスリソース

apiVersion: infinispan.org/v1
kind: Infinispan
metadata:
  # Names the cluster.
  name: example-infinispan
spec:
  # Specifies the number of nodes in the cluster.
  replicas: 4
  service:
    # Configures the service type as Cache.
    type: Cache
    # Sets the number of replicas for each entry across the cluster.
    replicationFactor: 2
  # Enables and configures automatic scaling.
  autoscale:
    maxMemUsagePercent: 70
    maxReplicas: 5
    minMemUsagePercent: 30
    minReplicas: 2
  # Configures authentication and encryption.
  security:
    # Defines a secret with custom credentials.
    endpointSecretName: endpoint-identities
    # Adds a custom TLS certificate to encrypt client connections.
    endpointEncryption:
        type: Secret
        certSecretName: tls-secret
  # Sets container resources.
  container:
    extraJvmOpts: "-XX:NativeMemoryTracking=summary"
    cpu: "2000m"
    memory: 1Gi
  # Configures logging levels.
  logging:
    categories:
      org.infinispan: trace
      org.jgroups: trace
  # Configures how the cluster is exposed on the network.
  expose:
    type: LoadBalancer
  affinity:
    podAntiAffinity:
      preferredDuringSchedulingIgnoredDuringExecution:
      - weight: 100
        podAffinityTerm:
          labelSelector:
            matchLabels:
              app: infinispan-pod
              clusterName: example-infinispan
              infinispan_cr: example-infinispan
          topologyKey: "kubernetes.io/hostname"
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.