Использование GKE с HTTP-прокси

Можно ли запустить частный кластер GKE (частную конечную точку и узлы) за HTTP-прокси?

Узлам GKE требуется подключение к Интернету для получения изображений докеров из общедоступных репозиториев. Проблема в том, что мы не хотим регистрироваться на каждом узле GKE и настраивать http_proxy переменные среды и повторять это после каждого обновления кластера.

Можно ли автоматизировать установку http_proxy переменной среды для каждого узла или есть лучший способ настроить http_proxy в частном кластере GKE?


person Gareth    schedule 11.08.2019    source источник
comment
Вы против использования шлюза NAT, такого как Cloud NAT?   -  person Patrick W    schedule 12.08.2019
comment
в качестве альтернативы вы можете отправить все недоступные изображения в GCR   -  person Patrick W    schedule 12.08.2019
comment
ИЛИ вы можете запустить демон с правами root, чтобы внести изменения в узел и добавить http_proxy   -  person Patrick W    schedule 12.08.2019
comment
Весь трафик должен проходить через прокси-сервер прямого доступа, альтернативой является gcr с частным доступом Google или внутренний репозиторий, но пока мы решили использовать DaemonSet. Спасибо.   -  person Gareth    schedule 13.08.2019


Ответы (1)


Вы можете использовать DaemonSet для развертывания текущих фоновых задач (автоматическая настройка http_proxy) что вам нужно запустить на всех или некоторых узлах. Пример:

kind: DaemonSet
apiVersion: extensions/v1beta1
metadata:
  name: startup-script
  labels:
    app: startup-script
spec:
  template:
    metadata:
      labels:
        app: startup-script
    spec:
      hostPID: true
      containers:
        - name: startup-script
          image: gcr.io/basic-app-with-example/startup-script:v1
          imagePullPolicy: Always
          securityContext:
            privileged: true
          env:
          - name: STARTUP_SCRIPT
            value: |
              #! /bin/bash
              list of the command that you need to execute in node
              export http_proxy='http://<host>:<port>'

И вы можете использовать Cloud NAT в GCP, чтобы ваш частный кластер GKE мог достигать общедоступных репозиториев.

person Daniel Emiliano    schedule 12.08.2019