<p>I follow the <a href="https://www.kubeflow.org/docs/gke/gcp-e2e/" rel="nofollow noreferrer">tutorial</a> for building kubeflow on GCP.</p>

<p>At the last step, I got stuck at "Check the permissions for your training component".</p>

<p>After setting these secretName and secretMountPath. </p>

<pre><code>kustomize edit add configmap mnist-map-training --from-literal=secretName=user-gcp-sa
kustomize edit add configmap mnist-map-training --from-literal=secretMountPath=/var/secrets
</code></pre>

<p>and run</p>

<pre><code>kustomize build . |kubectl apply -f -
</code></pre>

<p>I got the error:</p>

<blockquote>
  <p>Error: field specified in var '{GOOGLE_APPLICATION_CREDENTIALS ~G_v1_ConfigMap {data.GOOGLE_APPLICATION_CREDENTIALS}}' not found in
  corresponding resource
      error: no objects passed to apply</p>
</blockquote>

<p>I cannot find my GOOGLE_APPLICATION_CREDENTIALS at /var/secrets in my local machine, but I think kubeflow will automatic create for me based on this <a href="https://kubernetes.io/docs/concepts/configuration/secret/#built-in-secrets" rel="nofollow noreferrer">document</a>. </p>

<p>Or maybe because I use "Authenticating with username and password" for authenticating kubeflow?</p>

<p>I found the solution at <a href="https://github.com/kubeflow/examples/tree/master/mnist" rel="nofollow noreferrer">here</a>.</p>

<pre><code>kustomize edit add configmap mnist-map-monitoring --from-literal=GOOGLE_APPLICATION_CREDENTIALS=/var/secrets/user-gcp-sa.json     
</code></pre>

<p>In original <a href="https://www.kubeflow.org/docs/gke/gcp-e2e/" rel="nofollow noreferrer">tutorial</a>, lacking of this.</p>
