Skip to main content

Kubernetes GKE

Overview

Visualize and monitor Kubernetes resources within Google Kubernetes Engine (GKE), such as deployments, pods, services, storage, and configmaps. Gain insights into cluster performance, workload efficiency, and resource utilization, while ensuring governance and visibility across Kubernetes environments. The blueprint helps identify potential risks, improve configurations, streamline workflows, enable real-time monitoring, and integrate with other tools for enhanced orchestration and operational efficiency.

Configurations

ConfigurationDescription
Blueprint Account NameA human-readable name for your account that will be used to identify this account across the application.
Project IDGCP Project ID that contains the Kubernetes cluster.
Private KeyGCP Private Key with access to the Kubernetes Cluster.
ClientEmailClient email associated with the service account.
RegionThe GCP region where your Kubernetes cluster is hosted.
Cluster NameThe name of your Kubernetes cluster to be monitored.
Enable CISKubernetes BenchmarkEnable this to run automated checks against the CIS Kubernetes Benchmark for security best practices.
Data Crawl FrequencyThe frequency at which Kscope should scan the cluster for resources (like pods, services, etc.).
Event Crawl FrequencyThe frequency at which Kscope will crawl the account to monitor the cluster for events (like deployments, scaling, etc.).

Permissions

Kubernetes Resources

  • read:namespaces
  • read:services
  • read:serviceaccounts
  • read:pods
  • read:replicasets
  • read:deployments
  • read:daemonsets
  • read:configmaps
  • read:nodes
  • read:persistentvolumes

Kubernetes RBAC

  • read:clusterroles
  • read:clusterrolebindings
  • read:clusterroles

KubeBench

  • read:namespaces
  • read:services
  • read:serviceaccounts
  • read:pods
  • read:replicasets
  • read:deployments
  • read:daemonsets
  • read:configmaps
  • read:nodes
  • read:persistentvolumes

For more details on the Kubernetes permissions, you can refer to the following documentation: Using RBAC Authorization

Schema Model

ResourcesSource EntityNormalized EntityDescription
kubernetes.clusterkubernetes.clusterClusterRepresents the overall Kubernetes cluster.
kubernetes.cluster.Clusterkubernetes.clusterClusterRepresents specific cluster information.
kubernetes.cluster.ConfigMapkubernetes.clusterConfigMapStores configuration data in key-value pairs.
kubernetes.cluster.Containerkubernetes.clusterContainerRepresents a running container in a Kubernetes pod.
kubernetes.cluster.DaemonSetkubernetes.clusterDaemonSetEnsures a copy of a pod runs on all or some nodes.
kubernetes.cluster.Deploymentkubernetes.clusterDeploymentManages the deployment of replicas and rollout updates.
kubernetes.cluster.Namespacekubernetes.clusterNamespaceProvides a mechanism for isolating groups of resources.
kubernetes.cluster.Nodekubernetes.clusterNodeRepresents a worker machine in Kubernetes.
kubernetes.cluster.PersistentVolumekubernetes.clusterPersistentVolumeRepresents a piece of storage in the cluster.
kubernetes.cluster.PersistentVolumeClaimkubernetes.clusterPersistentVolumeClaimRepresents a request for storage by a user.
kubernetes.cluster.Podkubernetes.clusterPodThe smallest deployable unit of computing in Kubernetes.
kubernetes.cluster.ReplicaSetkubernetes.clusterReplicaSetEnsures a specified number of pod replicas are running.
kubernetes.cluster.Servicekubernetes.clusterServiceExposes a set of pods as a network service.
kubernetes.cluster.ServiceAccountkubernetes.clusterServiceAccountProvides an identity for processes running in a pod.
kubernetes.kubebenchkubernetes.kubebenchKubeBenchRepresents the Kube-bench tool for security benchmarking.
kubernetes.kubebench.Outputkubernetes.kubebenchOutputStores the output results of the Kube-bench scans.
kubernetes.kubebench.Controlskubernetes.kubebenchControlsRepresents control checks performed by Kube-bench.
kubernetes.kubebench.Groupkubernetes.kubebenchGroupGroups related checks in Kube-bench.
kubernetes.kubebench.Checkkubernetes.kubebenchCheckRepresents individual security checks performed by Kube-bench.

Events

EventDescription
DNSRecordProvisioningSucceededIndicates successful provisioning of a DNS record.
UnhealthyIndicates that a component is unhealthy.
ScheduledA pod has been scheduled to a node.
CreatedA new resource has been created.
KillingA pod is being terminated.
PulledA container image has been successfully pulled.
PullingA container image is being pulled.
SuccessfulCreateIndicates the successful creation of a resource.
StartedA container or pod has started running.
FailedMountIndicates a failure in mounting a volume to a pod.
SuccessfulDeleteIndicates the successful deletion of a resource.
ScalingReplicaSetA replica set is scaling up or down.
NetworkNotReadyIndicates that the network is not ready.
NodeNotReadyA node is marked as not ready.
NodeNotSchedulableA node is marked as unschedulable.
NodeHasSufficientPIDA node has sufficient PIDs available.
ImageStreamingIndicates that a container image is being streamed.
RemovingNodeA node is being removed from the cluster.
DeletingNodeA node is being deleted.
NodeAllocatableEnforcedNode allocatable resources have been enforced.
NodeHasSufficientMemoryA node has sufficient memory available.
NodeHasNoDiskPressureA node has no disk pressure issues.
NodeReadyA node is marked as ready.
EvictionThresholdMetAn eviction threshold has been reached.
FailedGetResourceMetricA failure occurred while retrieving resource metrics.
RegisteredNodeA node has been successfully registered.
SyncedResources have been synchronized successfully.
NodeRegistrationCheckerStartThe node registration checker has started.
CompletedIndicates successful completion of an operation.
ADDAn addition event occurred.
NodeRegistrationCheckerDidNotRunChecksNode registration checks did not run.
NodeSysctlChangeIndicates a change in sysctl configuration on a node.
LeaderElectionAn event related to Kubernetes leader election.
FailedCreatePodSandBoxFailure in creating a pod sandbox.
FailedCreateIndicates a failure in creating a resource.
StartingIndicates that a process is starting.
InvalidDiskCapacityIndicates invalid disk capacity settings.
NodeHasInsufficientMemoryA node has insufficient memory available.
FailedDaemonPodA failure occurred while running a DaemonSet pod.
EvictedA pod has been evicted.