Первый раз с GCP. Хочу развернуть VM со своим контейнером, с

волюмом, авторестратом и прочим.

Сделал в терраформе google_compute_instance с объявлением gce-container-declaration.

Но оно:
- не поддерживает авторизацию в приватном реджистри
- не умеет назначать порты

С авторизацией самая большая проблема.


Konlet гитхаб как будто заброшен.

Какую альтернативу стоит рассмотреть?

2 ответов

19 просмотров

може есть у гугловского имидж регестри возможность пулить имиджи с приватного к себе

Проблемы решил. Вдруг кому-то будет интересно. Итак, хотел поднимать терраформом всю инфру (сетки, вм, фв, днс) и запускать GCE с персистентным контейнером. Для этого есть рецепт: cos-cloud/cos-stable со встренным агентом gcr.io/gce-containers/konlet. При этом настройкой запуска контейнера можно управлять через yaml конфиг в metadata.gce-container-declaration. Что из нужного не умеет делать konlet: 1. аутентифицироваться в приватной репе. 2. маппить порты между хостом и контейнером. 3. маунтить волюмы (которые персистят изменения файлов, уже существующих в контейнере на момент старта). вместо этого маунтится hostPath, в который не копируется содержимое пути контейнера. Решения нашел такие: 1. пришлось добавить джоб с републикацией имаджа из приватной реджистри в Google Artifact Registry - оттуда все качается без аутентификации 2. Прописал ip форварды в metadata_start_script самой VM: #!/bin/bash sysctl -w net.ipv4.ip_forward=1 iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 5555 3. В том же скрипте создаю докер-волюм: docker volume create my-volume И потом в gce-container-declaration использую его как будто это hostPath. gce-container-declaration = <<-EOT spec: containers: - name: '${var.docker_container_name}' image: '${var.docker_image}' stdin: false tty: false volumeMounts: - name: 'my-volume' mountPath: '/path/to/mount' volumes: - name: 'my-volume' hostPath: path: 'my-volume' restartPolicy: Always EOT

Похожие вопросы

Обсуждают сегодня

Подскажите, а есть vault lite или ченить такое?) А то нужен вольт для похода в вольт, но весит он ~500 мб) как-то многовато для парочки запросов ))
Alexandr Orloff
17
Всем привет, есть небольшая проблема Есть такой скрипт document.addEventListener('DOMContentLoaded', function () { const sliderTabs = document.querySelectorAll('.s...
A da
8
@go1337 @dblackCat Привет. Все ещё дрочусь с fastpanel. Добавил второй домен который должен смотреть в рут того же сайта, но так как это просто домен, а не сайт, я не могу ему...
Ross 🦴
9
До речі, в ево нема можливості чи якого розширення щоб з адмінки з телефона зайти і терміново щось в верстці поправити?
Женя
7
кто-нибудь пользуется тайм-трекерами во время работы? так много разных нагуглил, может есть что-то популярное
Lencore
8
Пацаны. Я разрабатываю софт для инвайтинга на телетон, и столкнулся с такой проблемой, в один из чатов не могу приглашать никого, не дает добавлять, в то же время через официа...
Kernel Panic
11
Скажите, а кому нужен Currency как отдельный плагин вместо полноценного ecommerce в OctoberCMS? Кто-то использует его уже или планирует в будущем? Может я что-то не понимаю?
Igor
13
Розмовами про Рево мені нагадали часи, коли шаблони правилися прямо в адмінці. Хто в курсі, чому відійшли від цієї практики, так блейд не працює? Доволі зручно ж було (інколи)
Женя
3
Всем добрый вечер, Рад оказаться в кругу единомышленников. Начинаю погружаться в мир .net веба. Зовут Ерасыл 🖖 У меня назрел вопрос: Какой процент проектов, прошедшие через в...
Ерасыл
6
Чому? Да тому що без GiT не уявляю нормального проекта а коли код в базі то то так собі
Dmytro Lukianenko
3
Карта сайта