19.6.3. Kubernetes および OpenShift のローリングアップデートの使用


Kubernetes および OpenShift の Pod はイミュータブルであるため、設定を変更する唯一の方法は、新規デプロイメントをロールアウトすることです。これを実行するためのストラテジーがいくつかありますが、ローリングアップデート の使用が推奨されます。

Deployment Configuration(Kubernetes)のサンプルは Deploymentと呼ばれる非常に似た概念を使用します。

ローリングアップデート用の DeploymentConfiguration

- apiVersion: v1
  kind: DeploymentConfig
  metadata:
    name: infinispan-cluster
  spec:
    replicas: 3
    strategy:
      type: Rolling
      rollingParams:
        updatePeriodSeconds: 10
        intervalSeconds: 20
        timeoutSeconds: 600
        maxUnavailable: 1
        maxSurge: 1
    template:
      spec:
        containers:
        - args:
          - -Djboss.default.jgroups.stack=kubernetes
          image: jboss/infinispan-server:latest
          name: infinispan-server
          ports:
          - containerPort: 8181
            protocol: TCP
          - containerPort: 9990
            protocol: TCP
          - containerPort: 11211
            protocol: TCP
          - containerPort: 11222
            protocol: TCP
          - containerPort: 57600
            protocol: TCP
          - containerPort: 7600
            protocol: TCP
          - containerPort: 8080
            protocol: TCP
          env:
          - name: KUBERNETES_NAMESPACE
            valueFrom: {fieldRef: {apiVersion: v1, fieldPath: metadata.namespace}}
          terminationMessagePath: /dev/termination-log
          terminationGracePeriodSeconds: 90
          livenessProbe:
            exec:
              command:
              - /usr/local/bin/is_running.sh
            initialDelaySeconds: 10
            timeoutSeconds: 80
            periodSeconds: 60
            successThreshold: 1
            failureThreshold: 5
          readinessProbe:
             exec:
                command:
                - /usr/local/bin/is_healthy.sh
             initialDelaySeconds: 10
             timeoutSeconds: 40
             periodSeconds: 30
             successThreshold: 2
             failureThreshold: 5
Copy to Clipboard Toggle word wrap

また、新しいノード(または残す)をより迅速に検出するために JGroups スタックを調整することが強く推奨されます。少なくとも FD_ALL タイムアウトの値を調整し、最も長い GC Pause に調整する必要があります。

設定パラメーターの調整に関するその他のヒントは以下のとおりです。

  • OpenShift は実行中のノードを 1 つずつ置き換える必要があります。これは、rollingParams を調整することで実行できます(maxUnavailable: 1 および maxSurge: 1)。
  • クラスターサイズに応じて、updatePeriodSeconds および intervalSeconds を調整する必要があります。クラスターサイズが大きくなると、これらの値は大きくなければなりません。
  • Initial State Transfer を使用する場合は、両方のプローブの initialDelaySeconds の値を、より高い値に設定する必要があります。
  • 初期状態の譲渡中は、プローブに応答されない場合があります。failureThreshold および successThreshold の値を増やすと、最善の結果が得られます。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る