In kubelet documentation you can find this flag:
--root-dir string
Directory path for managing kubelet files (volume mounts,etc). (default "/var/lib/kubelet")
This flag sets a place where kubelet stores secrets and some volume mounts so if you are out of space, k8s can fail while creating a pod.
There is also one other path, this one is docker specific. It called data-root
and more info can be found here. It defaults to /var/lib/docker
and it stores all contrainer's files. So if you are out of disk space you won't be able to create container files and starting new container will fail.
--data-root is the path where persisted data such as images, volumes, and cluster state are stored. The default value is /var/lib/docker.
Conclusion:
If you had self-hosted cluster you could just change the defaults and all would work, but because you are using managed k8s cluster (GKE) all you can do is to use bigger boot disk. And also: No, k8s won't automaticaly use other disk (at least as far as I know).