-
Notifications
You must be signed in to change notification settings - Fork 834
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ENGINE_CONTAINER_SERVICE_ACCOUNT_NAME and EXECUTOR_CONTAINER_SERVICE_ACCOUNT_NAME is picking a default value #1508
Comments
Would you not need to set See https://docs.seldon.io/projects/seldon-core/en/latest/reference/helm.html#helm-chart-configuration |
even that is set to 8888(default provided in kustomization) |
To be precise, issue is coming for init Containers(issue should have been solved if serviceAccountName is set to serviceaccount name which i had passed)
|
Looks like we only allow for runAsUser to get set on the engine/executor container and not on the initContainer. This is where it's set for the executor:
To support this we'd also need to set it on the initContainer:
I guess the same environment variable could be used, assuming you want the engine/executor and initContainer to have the same runAsUser. Otherwise we'd need to add a new env var specifically for the initContainer. @RudraprakashR would you be interested in submitting a pull request for this? |
@ryandawsonuk Thanks for reply. I would like to submit but before that I wanted to understand why serviceAccountName is coming as |
The That actually doesn't attach the serviceAccount directly to the Pod. Instead it iterates through Secrets for the ServiceAccount and attaches those. The ENGINE_CONTAINER_SERVICE_ACCOUNT_NAME/EXECUTOR_CONTAINER_SERVICE_ACCOUNT_NAME is for the Pod. That is set on the seldon core installation. Do you mean that you've set the ENGINE_CONTAINER_SERVICE_ACCOUNT_NAME on the seldon core operator installation via its helm chart and you're not seeing the serviceAccount on the Pods for the SeldonDeployments? |
yes, i have set in operator but not seeing on SeldonDeployments pods.. |
Hmm, I can see the code that looks that service account name up and where it is called to set it on the Pod. I guess it would be necessary to try it with latest and master and if that's not working then debug/log what is happening at those points in the code. |
Can you check in 1.1.0 where the runAsUser if set is provided at the Pod level so call conatiners will run as this user. |
@cliveseldon I don't think that this issue is solved. It's clear that you're talking about different things. |
Is there a solution for this issue? |
Here is the code reference |
Ok, looking at the code chain it shows that |
You can add your own serviceAccountName to the PodSpec.
If you have 1 componentSpec the executor will be added as a container to it. This is why the service account name setting is only used when the executor is placed in a separate Deployment. |
Hi,
I have installed kubeflow on-prem and trying to run iris seldon serving example.
In my cluster containers running on root mode is not allowed by default, hence differnt psp/service is need to be paased if pod is running with container with root .
Due to this behvaiour, when i run serving, I am getting an error as
"Error: container has runAsNonRoot and image will run as root"
I have tried to solve this issue by setting
ENGINE_CONTAINER_SERVICE_ACCOUNT_NAME & EXECUTOR_CONTAINER_SERVICE_ACCOUNT_NAME
to differnet service account which allows root container, but always default is taken in serving container.Even i tried look in to the code, code seems correct
https://github.com/SeldonIO/seldon-core/blob/v1.0.2/operator/controllers/seldondeployment_engine.go#L269-L273
can you pls check whether I am checking wrong modules?
here is my seldon.yaml template(even i tried setting serviceAccountName in
SeldonDeployment
)The text was updated successfully, but these errors were encountered: