Hi I am new with lakefs, I am trying to deploy it...
# help
x
Hi I am new with lakefs, I am trying to deploy it in k8s on EKS. I get below when trying to access the setup page. any idea what happened?
Copy code
time="2021-04-01T00:43:05Z" level=warning msg="could not find access key" func=pkg/gateway.AuthenticationHandler.func1 file="build/pkg/gateway/middleware.go:45" error="not found: no rows in result set" key=""
time="2021-04-01T00:43:06Z" level=warning msg="could not find access key" func=pkg/gateway.AuthenticationHandler.func1 file="build/pkg/gateway/middleware.go:45" error="not found: no rows in result set" key=""
I am using helm to deploy, I put lakesconfig like
Copy code
lakefsConfig: |
          blockstore:
            type: s3
            s3:
              region: us-east-1
              credentials:
                access_key_id: XXXX
                access_secret_key: XXXXX
          gateways:
            s3:
              # replace this with the host you will use for the lakeFS S3-compatible endpoint:
              domain_name: lakefs.XX.XXX.XX
a
Hi! That looks like an auth issue, which is strange. Have you airway performed any setup? Please send full logs.
x
Copy code
Using config file: /etc/lakefs/config.yaml
time="2021-04-01T00:41:46Z" level=info msg="lakeFS run" func="pkg/logging.(*logrusEntryWrapper).Infof" file="build/pkg/logging/logger.go:115" version=0.33.1
time="2021-04-01T00:41:46Z" level=info msg="connecting to the DB" func=pkg/db.ConnectDBPool file="build/pkg/db/connect.go:54" conn_max_lifetime=5m0s driver=pgx max_idle_conns=25 max_open_conns=25 uri="<postgres://postgres:lakefs@lakefs-postgresql:5432/lakefs?sslmode=disable>"
time="2021-04-01T00:41:46Z" level=info msg="initialized DB connection" func=pkg/db.ConnectDBPool file="build/pkg/db/connect.go:73" conn_max_lifetime=5m0s driver=pgx max_idle_conns=25 max_open_conns=25 uri="<postgres://postgres:lakefs@lakefs-postgresql:5432/lakefs?sslmode=disable>"
time="2021-04-01T00:41:46Z" level=info msg="connecting to the DB" func=pkg/db.ConnectDBPool file="build/pkg/db/connect.go:54" conn_max_lifetime=5m0s driver=pgx max_idle_conns=25 max_open_conns=25 uri="<postgres://postgres:lakefs@lakefs-postgresql:5432/lakefs?sslmode=disable>"
time="2021-04-01T00:41:46Z" level=info msg="initialized DB connection" func=pkg/db.ConnectDBPool file="build/pkg/db/connect.go:73" conn_max_lifetime=5m0s driver=pgx max_idle_conns=25 max_open_conns=25 uri="<postgres://postgres:lakefs@lakefs-postgresql:5432/lakefs?sslmode=disable>"
time="2021-04-01T00:41:46Z" level=info msg="connecting to the DB" func=pkg/db.ConnectDBPool file="build/pkg/db/connect.go:54" conn_max_lifetime=5m0s driver=pgx max_idle_conns=25 max_open_conns=25 uri="<postgres://postgres:lakefs@lakefs-postgresql:5432/lakefs?sslmode=disable>"
time="2021-04-01T00:41:46Z" level=info msg="initialized DB connection" func=pkg/db.ConnectDBPool file="build/pkg/db/connect.go:73" conn_max_lifetime=5m0s driver=pgx max_idle_conns=25 max_open_conns=25 uri="<postgres://postgres:lakefs@lakefs-postgresql:5432/lakefs?sslmode=disable>"
time="2021-04-01T00:41:46Z" level=info msg="initialize blockstore adapter" func=pkg/block/factory.BuildBlockAdapter file="build/pkg/block/factory/build.go:38" type=s3
time="2021-04-01T00:41:46Z" level=info msg="initialized blockstore adapter" func=pkg/block/factory.buildS3Adapter file="build/pkg/block/factory/build.go:97" type=s3
time="2021-04-01T00:41:46Z" level=info msg="initialize blockstore adapter" func=pkg/block/factory.BuildBlockAdapter file="build/pkg/block/factory/build.go:38" type=s3
time="2021-04-01T00:41:46Z" level=info msg="initialized blockstore adapter" func=pkg/block/factory.buildS3Adapter file="build/pkg/block/factory/build.go:97" type=s3
time="2021-04-01T00:41:46Z" level=info msg="initialized Auth service" func=pkg/auth.NewDBAuthService file="build/pkg/auth/service.go:180"
time="2021-04-01T00:41:46Z" level=info msg="initialize OpenAPI server" func=pkg/api.Serve file="build/pkg/api/serve.go:42" service=api_gateway
time="2021-04-01T00:41:46Z" level=info msg="initialized S3 Gateway handler" func=pkg/gateway.NewHandler file="build/pkg/gateway/handler.go:121" s3_bare_domain=<http://lakefs.charlie.kariusdx.com|lakefs.charlie.kariusdx.com> s3_region=us-east-1
time="2021-04-01T00:41:46Z" level=info msg="starting HTTP server" func=cmd/lakefs/cmd.glob..func9 file="cmd/run.go:158" listen_address="0.0.0.0:8000"


     ██╗      █████╗ ██╗  ██╗███████╗███████╗███████╗
     ██║     ██╔══██╗██║ ██╔╝██╔════╝██╔════╝██╔════╝
     ██║     ███████║█████╔╝ █████╗  █████╗  ███████╗
     ██║     ██╔══██║██╔═██╗ ██╔══╝  ██╔══╝  ╚════██║
     ███████╗██║  ██║██║  ██╗███████╗██║     ███████║
     ╚══════╝╚═╝  ╚═╝╚═╝  ╚═╝╚══════╝╚═╝     ╚══════╝

time="2021-04-01T00:41:46Z" level=info msg="Up and running (^C to shutdown)..." func=cmd/lakefs/cmd.gracefulShutdown file="cmd/run.go:220" version=0.33.1
│
│ If you're running lakeFS locally for the first time,
│     complete the setup process at <http://127.0.0.1:8000/setup>
│

│
│ For more information on how to use lakeFS,
│     check out the docs at <https://docs.lakefs.io/quickstart/repository>
│

Version 0.33.1

time="2021-04-01T00:43:05Z" level=warning msg="could not find access key" func=pkg/gateway.AuthenticationHandler.func1 file="build/pkg/gateway/middleware.go:45" error="not found: no rows in result set" key=""
time="2021-04-01T00:43:06Z" level=warning msg="could not find access key" func=pkg/gateway.AuthenticationHandler.func1 file="build/pkg/gateway/middleware.go:45" error="not found: no rows in result set" key=""
what auth is it? lakefs to s3 ? or user to lakefs?
o
it seems that you’re trying to acces the setup page using the domain name configured for the s3 gateway. any request carrying that domain name will be treated as an S3 API request (which of course, /setup isn’t).
Please see: https://docs.lakefs.io/deploying-aws/lb_dns.html#dns - basically, you need another host name to resolve to the lakeFS installation). Once lakeFS sees a request that doesn't contain the s3 gateway domain name, it won't try to authenticate it as an S3 request.
if you're using route53, you can define multiple CNAME or ALIAS records, pointing to your LB
x
we have a quite complicated way automate the LB and DNS, Istio -> external-dns -> route53/elb.
I see only one port exposed in service
Copy code
lakefs                                     ClusterIP   172.20.254.63    <none>        80/TCP
how should I expose two or more dns records?
o
true. lakeFS exposes only a single listen address. any request reaching that address that carries a
Host
header that matches the s3 domain name you configured will be treated as an S3 requests. Pointing another DNS record to that address (or to the load balancer in front of it) and then accessing it should do the trick
assuming you exposed
<http://lakefs.example.com|lakefs.example.com>
as the address, you can define a CNAME record for
<http://lakefs-api.example.com|lakefs-api.example.com>
that points to
<http://lakefs.example.com|lakefs.example.com>
and use that for things like
/setup
and the UI and API in general
x
I see, so lakefs would use the domain name to determine whether it is a regular api request or a s3 request?
✔️ 1
y
Exactly!
x
Thanks. Will try.
y
Please let us know if you need anything else