When moving from using CSI Agent to mount extracted cache to using PVCs, GKM under went a major rewrite. The original design used a CSI Agent to manage mounting the extracted cache in the pod. The CSI Agent and the GKM Agent used a local database, json data in local files on each node, to pass data between themselves. The GKM Agent then rerad the database files periodically to determine if CSI Agent updated the data. Now the CSI is no longer used, GKM Agent can watch Pod or PVC events (need to determine which would work better) to determine if a PVC is in use or not. Currrently, GKM is waking up too often and using too much CPU.
When moving from using CSI Agent to mount extracted cache to using PVCs, GKM under went a major rewrite. The original design used a CSI Agent to manage mounting the extracted cache in the pod. The CSI Agent and the GKM Agent used a local database, json data in local files on each node, to pass data between themselves. The GKM Agent then rerad the database files periodically to determine if CSI Agent updated the data. Now the CSI is no longer used, GKM Agent can watch Pod or PVC events (need to determine which would work better) to determine if a PVC is in use or not. Currrently, GKM is waking up too often and using too much CPU.