Running the Ray on GKE terraform script failed due to principle doesn't exist

I am looking for a guidelines to deploy ray cluster on GKE. I am trying to use the ray-on-gke (GitHub - richardsliu/ray-on-gke). As suggested modified variables, specified the network, sub-network and google provider’s credential as file(var.gcp_auth_file) for which the plan states:

2023-05-29T11:58:00.656-0700 [INFO] provider.terraform-provider-google_v4.64.0_x5: Terraform is using this identity: … @module=google tf_req_id=fd11fdb4-f31d-9e86-457b-4c3fc3085aa6 tf_rpc=ConfigureProvider tf_mux_provider=*proto5server.Server tf_provider_addr=Terraform Registry timestamp=2023-05-29T11:58:00.655-0700
2023-05-29T11:58:00.740-0700

but I am getting still the error:

2023-05-29T12:26:39.109-0700 [ERROR] vertex “module.gke_cluster.google_container_cluster.ml_cluster” error: googleapi: Error 400: Failed precondition: failed to check status for “…”; Verify if principal exists and is valid., failedPrecondition

│ Error: googleapi: Error 400: Failed precondition: failed to check status for “…”; Verify if principal exists and is valid., failedPrecondition

│ with module.gke_cluster.google_container_cluster.ml_cluster,
│ on modules/gke_cluster/main.tf line 21, in resource “google_container_cluster” “ml_cluster”:
│ 21: resource “google_container_cluster” “ml_cluster” {

it looks like adding node_config as shown below solved the above.

resource “google_container_cluster” “ml_cluster” {
name = var.cluster_name
location = var.region
network = var.network
subnetwork = var.subnetwork
initial_node_count = 3
node_config {
service_account = var.service_account_email
}