Можете ли вы использовать Kaniko для создания собственного образа для App Engine Flexible с развертыванием приложения gcloud?

Я создаю собственный образ для App Engine Flexible с gcloud app deploy В настоящее время. Я играл с использованием Kaniko, чтобы получить кеширование работы с gcloud builds submit для других проектов, но возможно ли включить Kaniko для сборки, представленной с gcloud app deploy?

Я пробовал бегать gcloud config set builds/use_kaniko True, который, кажется, не меняет поведение сборки.

Кажется, что одним из вариантов будет сначала создать изображение с помощью gcloud builds submitзатем используйте gcloud app deploy --image-url=..., но я не был уверен, есть ли более обтекаемый путь.

1 ответ

Решение

Как вы уже сказали в своем вопросе, хорошим подходом было бы сначала использовать Google Cloud Build для создания собственного изображения с помощью Dockerfile, а затем использовать его при развертывании приложения в Google App Engine.

В Google Cloud Container Builder вы можете запустить Kaniko, добавив его в качестве шага сборки в конфигурации сборки:

steps:
 - name: gcr.io/kaniko-project/executor:latest
   args: ["--dockerfile=<path to Dockerfile>",
          "--context=<path to build context>",
          "--destination=<gcr.io/[PROJECT]/[IMAGE]:[TAG]>"]

Более подробную информацию можно найти в этих двух сообщениях в блоге о Google Cloud и kaniko. Пост 1 и 2.

После этого вы можете развернуть свое приложение, указав --image-url флаг в команде gcloud:

gcloud app deploy --image-url=gcr.io/[PROJECT]/[IMAGE]:[TAG]