-
Notifications
You must be signed in to change notification settings - Fork 684
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
Add agent to helm chart and single binary #3454
Conversation
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
charts/flyte-core/values.yaml
Outdated
service: | ||
annotations: | ||
projectcontour.io/upstream-protocol.h2c: grpc | ||
type: NodePort |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any reason we want this to be Nodeport and not ClusterIP. Since the flyteAgent would be running primarily within the same cluster as propeller
# Allow Event recording access | ||
- apiGroups: | ||
- "" | ||
resources: | ||
- events | ||
verbs: | ||
- create | ||
- update | ||
- delete | ||
- patch | ||
# Allow Access All plugin objects | ||
- apiGroups: | ||
- '*' | ||
resources: | ||
- '*' | ||
verbs: | ||
- get | ||
- list | ||
- watch | ||
- create | ||
- update | ||
- delete | ||
- patch | ||
# Allow Access to CRD | ||
- apiGroups: | ||
- apiextensions.k8s.io | ||
resources: | ||
- customresourcedefinitions | ||
verbs: | ||
- get | ||
- list | ||
- watch | ||
- create | ||
- delete | ||
- update | ||
# Allow Access to all resources under flyte.lyft.com | ||
- apiGroups: | ||
- flyte.lyft.com | ||
resources: | ||
- flyteworkflows | ||
- flyteworkflows/finalizers | ||
verbs: | ||
- get | ||
- list | ||
- watch | ||
- create | ||
- update | ||
- delete | ||
- patch | ||
- post | ||
- deletecollection |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we need all these permissions
resources: | ||
- pods | ||
verbs: | ||
- get | ||
- list | ||
- watch |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And similarly these. The agent would primarily be calling into external api's so not sure if we need these unless the agent is calling these for some kube api lookup and update
{{- end }} | ||
ports: | ||
- name: agent-grpc | ||
port: 8000 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we make this configurable in values chart and also use in the deployment yaml
apiVersion: rbac.authorization.k8s.io/v1 | ||
kind: ClusterRoleBinding | ||
metadata: | ||
name: {{ template "flyte.namespace" . -}}-{{- template "flyteagent.name" . }} | ||
labels: {{ include "flyteagent.labels" . | nindent 4 }} | ||
roleRef: | ||
apiGroup: rbac.authorization.k8s.io | ||
kind: ClusterRole | ||
name: {{ template "flyte.namespace" . -}}-{{- template "flyteagent.name" . }} | ||
subjects: | ||
- kind: ServiceAccount | ||
name: {{ template "flyteagent.name" . }} | ||
namespace: {{ template "flyte.namespace" . }} | ||
{{- end }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dont see a need for this entirely , Please let me know where do we want to use clusterwide role for agent
agent-service: | ||
defaultGrpcEndpoint: flyteagent.flyte.svc.cluster.local:8000 | ||
supportedTaskTypes: | ||
- bigquery_query_job_task |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Making this configurable through values files can help testing new plugins easily and similarly L62
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
@pmahindrakar-oss @eapolinario I've update the PR, and tested agent in the sandbox |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Much clearer. Left a few comments, but nothing showstopper.
001-plugins.yaml: "plugins:\n logs:\n kubernetes-enabled: true\n kubernetes-template-uri: | ||
http://localhost:30080/kubernetes-dashboard/#/log/{{.namespace }}/{{ .podName | ||
}}/pod?namespace={{ .namespace }}\n cloudwatch-enabled: false\n stackdriver-enabled: | ||
false\n k8s:\n co-pilot:\n image: \"cr.flyte.org/flyteorg/flytecopilot:v0.0.30\"\n | ||
\ k8s-array:\n logs:\n config:\n kubernetes-enabled: true\n kubernetes-template-uri: | ||
http://localhost:30080/kubernetes-dashboard/#/log/{{.namespace }}/{{ .podName | ||
}}/pod?namespace={{ .namespace }}\n cloudwatch-enabled: false\n stackdriver-enabled: | ||
false\n agent-service: \n defaultGrpcEndpoint: flyte-sandbox-http.flyte.svc.cluster.local:8000\n | ||
\ supportedTaskTypes:\n - bigquery_query_job_task\n" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why do we need this change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's auto-generated. I just fixed indentation errors.
@@ -81,16 +81,20 @@ data: | |||
propeller: | |||
disableWebhook: false | |||
disabled: false | |||
001-plugins.yaml: | | |||
enabled_plugins.yaml: | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the numbering scheme for files is a convention used by k8s to enforce execution order. Does order matter in this case?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
moved enabled_plugins
to 001-plugins.yaml
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Kevin Su <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is awesome!
Tracking issue
#3282
Describe your changes
Check all the applicable boxes
Screenshots
Note to reviewers