1.4. コンピュートノードでのカーネルライブパッチの有効化
コンピュートノードのセットでカーネルライブパッチ (kpatch) を有効にすると、システムを再起動したりワークロードを中断したりせずに、重要なセキュリティー更新やバグ修正を適用できます。Red Hat OpenStack Services on OpenShift のコンピュートノードでは、kpatch 機能はデフォルトで無効になっています。
コンピュートノードのセットで kpatch を有効にするには、これらのコンピュートノードを定義する OpenStackDataPlaneNodeSet カスタムリソース (CR) に edpm_update_enable_kpatch: true パラメーターを追加する必要があります。これらの OpenStackDataPlaneNodeSet CR は、マイナー更新中にデータプレーンノードを更新するために使用するファイルに含めます。kpatch を適用する各 OpenStackDataPlaneNodeSet CR に対して、以下の手順を繰り返します。
kpatch の 使用方法の詳細は、カーネルの管理、監視、および更新 の カーネルのライブパッチ適用によるパッチの適用を 参照してください。
手順
OpenStackDataPlaneNodeSetCR を編集用に開きます。$ oc edit OpenStackDataPlaneNodeSetansibleVarsフィールドに、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に変更してください。今後のアップデートを適用する際には、システムはコンピュートノードの再起動を要求します。-
環境内のすべてのコンピュートノードに
kpatchを適用する新しい CR を作成します。たとえば、kpatch-install.yamlです。 kpatch-install.yamlに以下の設定を追加してください。apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneDeployment metadata: name: kpatch-install namespace: openstack spec: nodeSets: - openstack-edpm servicesOverride: - updateデプロイメントを作成します。
$ oc create -f kpatch-install.yaml -n openstackオプション: デプロイメントの実行中に Ansible ログを表示してステータスを監視できます。
$ oc get pod -l app=openstackansibleee -w $ oc logs update-kpatch-install-openstack-edpm-2z6hb
検証
kpatch-install.yamlCR がデプロイされ、セットアップ完了ステータスになっていることを確認してください。$ 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コンピュートノードにログインし、
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>
- コンピュートノードの名前を指定します。