https://dagster.io/ logo
Title
d

Dusty Shapiro

10/24/2022, 4:42 PM
Having some issues materializing Airbyte assets as described by this documentation. All indications is that it is able to connect to my AIRBYTE_HOST, but perhaps I’m passing the wrong value? Since Airbyte is deployed to the same cluster as my Dagster app, instead of
localhost
as the host, I’m using
airbyte-airbyte-server-svc
It definitely is able to connect, but doesn’t seem to be pulling assets.
b

ben

10/24/2022, 4:54 PM
Hi Dusty, are you seeing any logs which look related at repo load time?
d

Dusty Shapiro

10/24/2022, 4:56 PM
:nope-shake-head:
We have DBT Assets which are apart of this module, and those are populating.
Actually, I whittled down our example to just Airbyte, and now I’m seeing:
Request to Airbyte API failed: HTTPConnectionPool(host='airbyte-airbyte-server-svc', port=8000): Max retries exceeded with url:
I’m curious what the host should be?
a

Adam Bloom

10/24/2022, 5:12 PM
@Dusty Shapiro maybe try
airbyte-airbyte-server-svc.<namespace>.svc.cluster.local
? You mentioned same cluster, but if airbyte and dagster are in different namespaces, you'll need to include the full internal k8s hostname that includes the airbyte namespace
d

Dusty Shapiro

10/24/2022, 5:13 PM
Same namespace, but will give that a shot
a

Adam Bloom

10/24/2022, 5:13 PM
also, this should be airbyte-webapp, not airbyte-server. webapp hosts the API which is used here (and in turn, connects to server)
if same namespace, I'd try switching to the webapp svc first
d

Dusty Shapiro

10/24/2022, 5:13 PM
Ah, thanks Adam. Will try the full host before just trying the webapp svc
Got it, much thanks
assume port will change to 80 instead of 8001
airbyte-airbyte-server-svc    ClusterIP         <none>        8001/TCP   19d
airbyte-airbyte-webapp-svc    ClusterIP     <none>        80/TCP     19d
a

Adam Bloom

10/24/2022, 5:15 PM
correct
d

Dusty Shapiro

10/24/2022, 5:16 PM
🆒
You rock, that was exactly it
:celebrate: 1
a

Adam Bloom

10/24/2022, 5:24 PM
@ben I'm assuming you're doing most of your work with a docker-compose deployment of airbyte? Looks like we may want to add a sentence or two to the integration docs to cover k8s deployments of airbyte. I can take a stab at that if you aren't as familiar
b

ben

10/24/2022, 5:30 PM
Thanks for figuring this out @Adam Bloom!
I’ve been alternatively developing against a local docker-compose instance and a k8s deployment, but one that’s set up behind some ingresses so I haven’t encountered this host trickiness. I think there’s two follow-ups here - I’ll add a note for how to find that connection info depending on how you’ve deployed, & make the error messages a bit more clear so if someone else runs into this they get a better sense of what’s wrong
a

Adam Bloom

10/24/2022, 5:33 PM
yeah, my configs look totally different if I'm running locally for development against the k8s cluster vs our actual deployments running in the same cluster. Sounds familiar 🙂
d

Dusty Shapiro

10/24/2022, 5:40 PM
Happy to provide any feedback on my use-case and deployment
b

ben

10/24/2022, 5:48 PM
I am curious what your deployment set up is right now - do you access the web UI through a public IP/ingress, and then communicate Dagster<->Airbyte over Kubernetes DNS? That makes sense (avoids putting API traffic over the public internet/requiring auth), but just want to make sure
d

Dusty Shapiro

10/24/2022, 5:55 PM
So I know nothing about networking, but we override the ingress value in the Helm chart to enable it’s use and provide a different ingress class name.
as well as a google proxy middleware of sorts
But yea, we have these two annotations with custom values: ``kubernetes.io/external-dns-class:`
<http://traefik.ingress.kubernetes.io/router.middlewares|traefik.ingress.kubernetes.io/router.middlewares>:
and then the dagit helm values provide a new host which basically provides a suffix of our company domain
This is the first time I’ve setup the Airbyte <--> Dagster connection, but we did end up just passing
airbyte-airbyte-webapp-svc
as the AIRBYTE_HOST
a

Adam Bloom

10/24/2022, 6:09 PM
We have a private ingress (VPN only access, using istio for ingress/routing) setup for both our dagster and airbyte deployments in k8s. Everything between dagster and airbyte stays internal to our cluster, so we use k8s DNS for that.