Skip to main content

Utilities for working with BentoML

Project description

bentoutils

Contents

Console scripts for:

  1. bentopack - package an existing pretrained model and save to the Model Registry
Usage: bentopack [OPTIONS]

Options:
  --module TEXT  fully qualified module name containing service to package
  --clz TEXT     class name of service to package
  --name TEXT    model name
  --path TEXT    directory path of pretrained model
  --help         Show this message and exit.

Example:

bentopack \
    --module TopicBentoService \        # python module containing service class
    --clz TopicBentoService \           # service class
    --name tm_train3_roberta_l_weigh \  # pretrained model name
    --path /srv/models/multilabel-topic # local path to pretrained model (excluding name)
  1. deploy_to_knative - WIP

Uses Kaniko

kaniko is a tool to build container images from a Dockerfile, inside a container or Kubernetes cluster.

kaniko solves two problems with using the Docker-in-Docker build method:

  • Docker-in-Docker requires privileged mode to function, which is a significant security concern.
  • Docker-in-Docker generally incurs a performance penalty and can be quite slow.

The setting --isdockerconfig is required when using a private registry such as Harbor.

We can build a Docker image with kaniko and push it to Docker Hub or any other standard Docker registry.

To push to DockerHub or any other username and password Docker registries we need to mount the Docker config.json file that contains the credentials. Caching will not work for DockerHub as it does not support repositories with more than 2 path sections (acme/myimage/cache), but it will work in Artifactory and maybe other registry implementations.

DOCKER_USERNAME=[...]
DOCKER_PASSWORD=[...]
AUTH=$(echo -n "${DOCKER_USERNAME}:${DOCKER_PASSWORD}" | base64)
cat << EOF > config.json
{
    "auths": {
        "https://index.docker.io/v1/": {
            "auth": "${AUTH}"
        }
    }
}
EOF

Alternatively, to create a secret to authenticate to Google Cloud Registry, follow these steps:

  1. Create a service account in the Google Cloud Console project you want to push the final image to with Storage Admin permissions.

  2. Download a JSON key for this service account

  3. Rename the key to kaniko-secret.json

  4. To create the secret, run:

    kubectl create secret generic kaniko-secret --from-file=

Note: If using a GCS bucket in the same GCP project as a build context, this service account should now also have permissions to read from that bucket.

See https://github.com/GoogleContainerTools/kaniko

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bentoutils-0.0.63.tar.gz (12.4 kB view details)

Uploaded Source

Built Distribution

bentoutils-0.0.63-py3-none-any.whl (13.1 kB view details)

Uploaded Python 3

File details

Details for the file bentoutils-0.0.63.tar.gz.

File metadata

  • Download URL: bentoutils-0.0.63.tar.gz
  • Upload date:
  • Size: 12.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.54.0 CPython/3.8.5

File hashes

Hashes for bentoutils-0.0.63.tar.gz
Algorithm Hash digest
SHA256 00667fdeb74d8c3b1702648e96f214b51483de3106a2e9e3e2544f91a4102d60
MD5 1eff2709e7fe4a3f4552989e19498066
BLAKE2b-256 23d373ef885fb370b78aa2eb71deeb17640085afa62d3ff223f7fb28ca7e6488

See more details on using hashes here.

File details

Details for the file bentoutils-0.0.63-py3-none-any.whl.

File metadata

  • Download URL: bentoutils-0.0.63-py3-none-any.whl
  • Upload date:
  • Size: 13.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.54.0 CPython/3.8.5

File hashes

Hashes for bentoutils-0.0.63-py3-none-any.whl
Algorithm Hash digest
SHA256 5b9f1318a89150f9af3ac495973b739424fc05b17530dd13c2755c8144e9bca2
MD5 9ba562caed4a161909385b4d8c5b08a2
BLAKE2b-256 b73188b3d5d0eb63ae4068b01022707e5c77b3dc4a0bfb10a57e38e176a77048

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page