[ 
https://issues.apache.org/jira/browse/YUNIKORN-649?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amit Sharma updated YUNIKORN-649:
---------------------------------
    Description: 
The Kubernetes metadata does not carry user information by design. This can be 
referred here. 
 [https://kubernetes.io/docs/reference/access-authn-authz/authentication/]

Here is how Yunikorn determines the user from k8s metadata (Service Account)

[https://github.com/apache/incubator-yunikorn-k8shim/blob/7648f29e50692fbb760480c586f8e3a1110eb15b/pkg/appmgmt/general/general.go#L126]

 

The only thing close to any identity is a ServiceAccount. However, this is not 
the ideal way of looking at identities as there is no authentication mechanism 
for the service account directly. It relies on the authentication mechanism 
deployed on the cluster. The cluster authentication mechanism varies from 
deployment to deployment. 




There are 2 possible ways of doing this. 
 1) One generic solution can be to modify the source of the user from 
ServiceAccount to a Label/Annotation. 
 2) Extending point 1, instead of changing from service account to 
label/annotation, it can be a configurable field which defaults to 
Label/Annotation. 

While point 2 provides more user flexibility, it also reduces the structure or 
clear path that Yunikorn can follow in determining a user.

Since Yunikorn is expected to be primarily deployed by owners of a Kubernetes 
platform rather than individual applications, we can share a structure using 
point 1 as a solution. 

Please share your thoughts. 

  was:
The Kubernetes metadata does not carry user information by design. This can be 
referred here. 
[https://kubernetes.io/docs/reference/access-authn-authz/authentication/]

The only thing close to any identity is a ServiceAccount. However, this is not 
the ideal way of looking at identities as there is no authentication mechanism 
for the service account directly. It relies on the authentication mechanism 
deployed on the cluster. The cluster authentication mechanism varies from 
deployment to deployment. 

There are 2 possible ways of doing this. 
1) One generic solution can be to modify the source of the user from 
ServiceAccount to a Label/Annotation. 
2) Extending point 1, instead of changing from service account to 
label/annotation, it can be a configurable field which defaults to 
Label/Annotation. 

While point 2 provides more user flexibility, it also reduces the structure or 
clear path that Yunikorn can follow in determining a user. 

Since Yunikorn is expected to be primarily deployed by owners of a Kubernetes 
platform rather than individual applications, we can share a structure using 
point 1 as a solution. 

Please share your thoughts. 


> Require improved methodology for determining k8s user
> -----------------------------------------------------
>
>                 Key: YUNIKORN-649
>                 URL: https://issues.apache.org/jira/browse/YUNIKORN-649
>             Project: Apache YuniKorn
>          Issue Type: Improvement
>          Components: shim - kubernetes
>            Reporter: Amit Sharma
>            Priority: Major
>
> The Kubernetes metadata does not carry user information by design. This can 
> be referred here. 
>  [https://kubernetes.io/docs/reference/access-authn-authz/authentication/]
> Here is how Yunikorn determines the user from k8s metadata (Service Account)
> [https://github.com/apache/incubator-yunikorn-k8shim/blob/7648f29e50692fbb760480c586f8e3a1110eb15b/pkg/appmgmt/general/general.go#L126]
>  
> The only thing close to any identity is a ServiceAccount. However, this is 
> not the ideal way of looking at identities as there is no authentication 
> mechanism for the service account directly. It relies on the authentication 
> mechanism deployed on the cluster. The cluster authentication mechanism 
> varies from deployment to deployment. 
> There are 2 possible ways of doing this. 
>  1) One generic solution can be to modify the source of the user from 
> ServiceAccount to a Label/Annotation. 
>  2) Extending point 1, instead of changing from service account to 
> label/annotation, it can be a configurable field which defaults to 
> Label/Annotation. 
> While point 2 provides more user flexibility, it also reduces the structure 
> or clear path that Yunikorn can follow in determining a user.
> Since Yunikorn is expected to be primarily deployed by owners of a Kubernetes 
> platform rather than individual applications, we can share a structure using 
> point 1 as a solution. 
> Please share your thoughts. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to