Как создать тонкий Docker образ для облачной сборки с установленными Bazel, Kubectl и Gcloud? - PullRequest
1 голос
/ 04 февраля 2020

Я хочу запустить правило k8s_objects Bazel из шага Google Cloud Build, которое развертывает новые конфигурации в моем кластере. Поэтому мне нужно Docker изображение с

  • bazel (очевидно, для запуска целей bazel)
  • kubectl (для применения новой конфигурации в мой кластер)
  • gcloud (для аутентификации в моем кластере Google Kubernetes Engine)

установлено. В настоящее время у меня есть это огромное docker изображение , которое имеет размер 1 ГБ и, вероятно, захламлено вещами, которые мне не нужны. Поэтому мое время сборки взлетает до 10 минут и более.

Вот так выглядит мой cloudbuild.yaml:

steps:
  - name: eu.gcr.io/cents-ideas/slim-bazel-kubectl
    entrypoint: /bin/sh
    args:
      - -c
      - |
        gcloud container clusters get-credentials cents-ideas --zone europe-west3-a --project cents-ideas

Каким будет маленькое docker изображение только с необходимыми пакетами похож?

1 Ответ

0 голосов
/ 28 апреля 2020

В настоящее время я использую изображение ниже. Однако на нем не установлено kubectl

FROM ubuntu:18.04

RUN apt-get update
RUN apt-get -y install curl gnupg unzip python python3 git build-essential

# nodejs
RUN apt-get -y install nodejs

# yarn
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
  echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \
  apt-get update && apt-get -y install yarn

# bazelisk
RUN yarn global add @bazel/bazelisk --prefix /usr/local && bazelisk version

WORKDIR /app

ENTRYPOINT [ "bazelisk" ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...