Information
Enable Integrity Monitoring for Shielded GKE Nodes to be notified of inconsistencies during the node boot sequence.
Rationale:
Integrity Monitoring provides active alerting for Shielded GKE nodes which allows administrators to respond to integrity failures and prevent compromised nodes from being deployed into the cluster.
Impact:
None.
Solution
Once a Node pool is provisioned, it cannot be updated to enable Integrity Monitoring. You must create new Node pools within the cluster with Integrity Monitoring enabled
Using Google Cloud Console
Go to Kubernetes Engine by visiting https://console.cloud.google.com/kubernetes/list
From the list of clusters, click on the cluster requiring the update and click ADD NODE POOL
Ensure that the 'Integrity monitoring' checkbox is checked under the 'Shielded options' Heading.
Click SAVE.
You will also need to migrate workloads from existing non-conforming Node pools to the newly created Node pool, then the non-conforming pools.
Using Command Line
To create a Node pool within the cluster with Integrity Monitoring enabled, run the following command:
gcloud beta container node-pools create [NODEPOOL_NAME] \
--cluster [CLUSTER_NAME] --zone [COMPUTE_ZONE] \
--shielded-integrity-monitoring
You will also need to migrate workloads from existing non-conforming Node pools to the newly created Node pool, then delete the non-conforming pools.
Default Value:
Integrity Monitoring is disabled by default on GKE clusters. Integrity Monitoring is enabled by default for Shielded GKE Nodes; however, if Secure Boot is enabled at creation time, Integrity Monitoring is disabled.