Hi all, I just deployed flyte-deps (at least what ...
# flyte-deployment
f
Hi all, I just deployed flyte-deps (at least what I needed) and flyte-core into my small k3s cluster (metallb as external lb, traefik for ingress). All pods seems to run fine and I can connect to the flyte console and see the deployed example projects. But I can't seem to connect via
flytectl
, which seems to try to connect via gRPC? Any pointers?
k
What's your ingress manifest look like? We had to enable grpc in traefik and then use the following rule
Copy code
- kind: Rule
      match: >
        HostRegexp(`<HOST>`) &&
        PathPrefix(`/flyteidl.{cluster:.*}`)
      services:
        - kind: Service
          name: flyteadmin
          namespace: flyte
          port: grpc
          scheme: h2c
and then in our config for flytectl:
Copy code
admin:
  endpoint: dns:///<HOST>:81
  insecure: true
logger:
  show-source: true
  level: 0
f
the ingress.yml is the default one from the flyte-core helm chart... I'm new to helm and haven't quite figured out how to overwrite that one properly, if it even has proper options for this
where did you add your rule?
so I guess you are not using the
Ingress
from the helm chart, but deployed your own traefik specific
IngressRoute
where you can specify that rule?
k
I'm not using the ingress from the helm chart, you are right
And yes :
Copy code
apiVersion: <http://traefik.containo.us/v1alpha1|traefik.containo.us/v1alpha1>
kind: IngressRoute
metadata:
  name: flyte-routes
  namespace: flyte
spec:
  routes:
    - kind: Rule
      match: >-
        HostRegexp(`<HOST>`) &&
        PathPrefix(`/console`)
      services:
        - kind: Service
          name: flyteconsole
          namespace: flyte
          port: http
f
did you deploy it "manually" via plain k8s manifests, or helm or kustomize?
k
We applied the k8s manifest without helm or kustomize (but we did use helm to generate them before we edited them)
f
yeah, thanks, I know the traefik CRDs
ok, will have to see if I can shoehorn that into helm somehow or if I also have to go the plain manifest route and edit them manually
did you create all the IngressRoute manifests by hand and just completely ignore the generated Ingress?
thanks for the pointers @Katrina P there really doesn't seem to be a way to make it work with traefik v2 and
Ingress
as you can't seem to specify the protocol (e.g. via
<http://traefik.ingress.kubernetes.io/service.serversscheme|traefik.ingress.kubernetes.io/service.serversscheme>
as an ingress annotation, only in a service annotation (and then it applies to all ports of the service... which would mean a major refactoring of the flyteadmin manifests/helm templates
Ok, only got it working by disabling the ingress creation via helm and deploying
IngressRoute
manually, and then using port 80:
not sure what the best way would be to add this to the helm chart
k
If you wanted to generate the manifests or chart yourself you can reference this and update it to your needs: https://github.com/flyteorg/flyte/blob/master/script/generate_helm.sh or
helm create chart
from https://github.com/flyteorg/flyte/tree/master/charts and update /delete what you need from the templates (could use .helmignore maybe to ignore the templates you don't want to include)
170 Views