1.4. コンピュートノードでのカーネルライブパッチの有効化


コンピュートノードのセットでカーネルライブパッチ (kpatch) を有効にすると、システムを再起動したりワークロードを中断したりせずに、重要なセキュリティー更新やバグ修正を適用できます。Red Hat OpenStack Services on OpenShift のコンピュートノードでは、kpatch 機能はデフォルトで無効になっています。

コンピュートノードのセットで kpatch を有効にするには、これらのコンピュートノードを定義する OpenStackDataPlaneNodeSet カスタムリソース (CR) に edpm_update_enable_kpatch: true パラメーターを追加する必要があります。これらの OpenStackDataPlaneNodeSet CR は、マイナー更新中にデータプレーンノードを更新するために使用するファイルに含めます。kpatch を適用する各 OpenStackDataPlaneNodeSet CR に対して、以下の手順を繰り返します。

kpatch の 使用方法の詳細は、カーネルの管理、監視、および更新カーネルのライブパッチ適用によるパッチの適用を 参照してください。

手順

  1. OpenStackDataPlaneNodeSet CR を編集用に開きます。

    $ oc edit OpenStackDataPlaneNodeSet
  2. ansibleVars フィールドに、edpm_update_enable_kpatch パラメーターを追加し、値を true に設定します。

      nodeTemplate:
        ansible:
          ansibleUser: cloud-admin
          ansiblePort: 22
          ansibleVarsFrom:
            - secretRef:
                name: subscription-manager
            - secretRef:
                name: redhat-registry
          ansibleVars:
            edpm_update_enable_kpatch: true
    注記

    後で標準のカーネルアップデートに戻したい場合は、edpm_update_enable_kpatch の 値を false に変更してください。今後のアップデートを適用する際には、システムはコンピュートノードの再起動を要求します。

  3. 環境内のすべてのコンピュートノードに kpatch を適用する新しい CR を作成します。たとえば、kpatch-install.yaml です。
  4. kpatch-install.yaml に以下の設定を追加してください。

    apiVersion: dataplane.openstack.org/v1beta1
    kind: OpenStackDataPlaneDeployment
    metadata:
      name: kpatch-install
      namespace: openstack
    spec:
      nodeSets:
      - openstack-edpm
      servicesOverride:
      - update
  5. デプロイメントを作成します。

    $ oc create -f kpatch-install.yaml -n openstack
  6. オプション: デプロイメントの実行中に Ansible ログを表示してステータスを監視できます。

    $ oc get pod -l app=openstackansibleee -w
    $ oc logs update-kpatch-install-openstack-edpm-2z6hb

検証

  1. kpatch-install.yaml CR がデプロイされ、セットアップ完了ステータスになっていることを確認してください。

    $ oc get openstackdataplanedeployment
    
    NAME                             NODESETS                STATUS     MESSAGE
    edpm-deployment-post-ceph   ["openstack-edpm"]   True     Setup complete
    edpm-deployment-pre-ceph    ["openstack-edpm"]   True     Setup complete
    kpatch-install                      ["openstack-edpm"]      False    Deployment in progress
  2. コンピュートノードにログインし、kpatch がインストールされロードされていることを確認してください。

    $ ssh <compute_node>
    $ sudo systemctl status kpatch
    
    kpatch.service - "Apply kpatch kernel patches"
        Loaded: loaded (/usr/lib/systemd/system/kpatch.service; enabled; preset: disabled)
        Active: active (exited) since Fri 2025-07-11 09:40:21 UTC; 5s ago
       Process: 465148 ExecStart=/usr/sbin/kpatch load --all (code=exited, status=0/SUCCESS)
      Main PID: 465148 (code=exited, status=0/SUCCESS)
           CPU: 24ms
    Jul 11 09:40:21 osp-compute-fbp5hxc8-0.example.com systemd[1]: Starting "Apply kpatch kernel patches"...
    Jul 11 09:40:21 osp-compute-fbp5hxc8-0.example.com systemd[1]: Finished "Apply kpatch kernel patches".

    各項目の説明:

    <compute_node>
    コンピュートノードの名前を指定します。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る