Closed
Description
Using Kubeflow pipeline SDK, I'm preparing following components where first container requires user service account and second container requires admin service account (as it creates deployment and services using kubectl in the underlying cluster).
tensorboard = dsl.ContainerOp(
name='tensorboard',
image=SOME_IMAGE_PATH,
arguments=[
....
],
).apply(gcp.use_gcp_secret('user-gcp-sa'))
tfserve = dsl.ContainerOp(
name='tfserve',
image=SOME_IMAGE_PATH,
arguments=[
....
],
).apply(gcp.use_gcp_secret('admin-gcp-sa'))
But the generated source yaml file for the pipeline contains only one user-gcp-sa volume mount for the workflow. I have checked and there is no other admin-gcp-sa mount in the file.
volumes:
- name: gcp-credentials
secret:
secretName: user-gcp-sa
It causes the tfserve module to fail as user-gcp-sa doesn't enough permissions to create deployments in the cluster.