e2fyi/kubeflow-aws

gosu missing in mysql image

isavcic opened this issue · 4 comments

$ kubectl -n kubeflow logs pod/mysql-6995764585-tntqj
2020-02-19 13:57:28+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.6.47-1debian9 started.
2020-02-19 13:57:28+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
/usr/local/bin/docker-entrypoint.sh: line 354: exec: gosu: not found

Is there a reason this custom su is used?

Also, the entrypoint should have the executable bit set:

diff --git a/pipelines/base/manifest/mysql.yaml b/pipelines/base/manifest/mysql.yaml
index 3616a28..fb6c574 100644
--- a/pipelines/base/manifest/mysql.yaml
+++ b/pipelines/base/manifest/mysql.yaml
@@ -53,6 +53,7 @@ spec:
             items:
               - key: docker-entrypoint.sh
                 path: docker-entrypoint.sh
+                mode: 0777
         - name: mysql-persistent-storage
           persistentVolumeClaim:
             claimName: $(mysqlPvcName)

Thanks for spotting this bug.

The only reason I need a custom docker entry point is I wanted to created 2 databases for metadata and pipelines. So I copied the original 5.6 script and edited it to accept multiple databases (cuz init container + script is more troublesome to setup). But seems like I copied a wrong version.

There is another bug, I also forgot to add the selector for the MySQL service.

We will be making a PR to fix these few problems in the next 2 days after we test more comprehensively on our cluster.

But I believe this is the only 4 bugs so far.

  • docker entry point
  • execution flag
  • mount path (I overwrite the other files in the folder, I shld mount to a specific file only)
  • MySQL service has no selector (so it will points to a random pod in the namespace).

Sorry for the trouble. Will fix it soon and release a version tag once we tested it more.

Hey this is fixed in the latest commits. We have tested on our cluster. If everything is ok, do give be a thumbs up so I can close this issue.

fixed in commit # b37ac26