3.3. キャッシュサービス Pod の作成

最小限の設定で、揮発性があり、レイテンシーの低いデータストアのキャッシュサービス Pod を使用して、Data Grid クラスターを作成します。

手順

  1. spec.service.type: DataGrid を設定し、他のキャッシュサービスリソースを設定する Infinispan CR を作成します。

    apiVersion: infinispan.org/v1
    kind: Infinispan
    metadata:
      name: example-infinispan
    spec:
      replicas: 2
      service:
        type: Cache
  2. Infinispan CR を適用して、クラスターを作成します。

3.3.1. キャッシュサービス CR

このトピックでは、キャッシュサービス Pod の Infinispan CR について説明します。

apiVersion: infinispan.org/v1
kind: Infinispan
metadata:
  name: example-infinispan
  annotations:
    infinispan.org/monitoring: 'true'
spec:
  replicas: 2
  service:
    type: Cache
    replicationFactor: 2
  autoscale:
    maxMemUsagePercent: 70
    maxReplicas: 5
    minMemUsagePercent: 30
    minReplicas: 2
  security:
    endpointSecretName: endpoint-identities
    endpointEncryption:
        type: Secret
        certSecretName: tls-secret
  container:
    extraJvmOpts: "-XX:NativeMemoryTracking=summary"
    cpu: "2000m"
    memory: 1Gi
  logging:
    categories:
      org.infinispan: trace
      org.jgroups: trace
  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"
フィールド説明

metadata.name

Data Grid クラスターに名前を付けます。

metadata.annotations.infinispan.org/monitoring

クラスターの ServiceMonitor を自動的に作成します。

spec.replicas

クラスター内の Pod の数を指定します。自動スケーリング機能を有効にする場合、このフィールドは Pod の初期数を指定します。

spec.service.type

タイプ Data Grid サービスを設定します。Cache の値は、キャッシュサービス Pod を使用してクラスターを作成します。

spec.service.replicationFactor

クラスター全体で各エントリーのコピー数を設定します。キャッシュサービス Pod のデフォルトは 2 で、データの損失を回避するために各キャッシュエントリーを複製します。

spec.autoscale

自動スケーリングを有効にし、設定します。

spec.security.endpointSecretName

Data Grid のユーザー認証情報が含まれる認証シークレットを指定します。

spec.security.endpointEncryption

TLS 証明書およびキーストアを指定して、クライアント接続を暗号化します。

spec.container

Data Grid Pod の JVM、CPU、およびメモリーリソースを指定します。

spec.logging

Data Grid のロギングカテゴリーを設定します。

spec.expose

ネットワーク上で Data Grid エンドポイントを公開する方法を制御します。

spec.affinity

Data Grid の可用性を保証する anti-affinity ストラテジーを設定します。