Не удается передать учетные данные частного реестра в Azure Iot Edge - PullRequest
0 голосов
/ 05 февраля 2019

Я использую kubernetes с virtual-kubelet для развертывания модуля в Iot Edge.Все отлично работает с публичным имиджем.Я не могу понять, как передать учетные данные в мой личный реестр.

В этой документации https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/iot-edge/iot-edge-runtime.md написано:

settings.image - Образ контейнера, который IoTEdge agent использует для запуска модуля.Агент IoT Edge должен быть настроен с учетными данными для реестра контейнера, если образ защищен паролем.Учетные данные для реестра контейнера можно настроить удаленно, используя манифест развертывания или на самом устройстве IoT Edge, обновив файл config.yaml в папке программы IoT Edge.

Кажется, очень легко, но не могу найти, как изменить config.yaml, чтобы добавить мои учетные данные.Я думаю, что это должно быть добавлено в следующем разделе, но нет примера, как это сделать.

###############################################################################
# Edge Agent module spec
###############################################################################
#
# Configures the initial Edge Agent module.
#
# The daemon uses this definition to bootstrap the system. The Edge Agent can
# then update itself based on the Edge Agent module definition present in the
# deployment in IoT Hub.
#
###############################################################################

agent:
  name: "edgeAgent"
  type: "docker"
  env:
    RuntimeLogLevel: debug
  config:
    image: "mcr.microsoft.com/azureiotedge-agent:1.0"
    auth: {}

YAML

apiVersion: apps/v1beta2
kind: Deployment
metadata:
  name: matrix
spec:
  selector:
    matchLabels:
      app: matrix
  replicas: 1
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 0%
      maxUnavailable: 100%
  template:
    metadata:
      labels:
        app: matrix
      annotations:
        isEdgeDeployment: "true"
        targetCondition: "tags.type='gpu'"
        priority: "151"
        loggingOptions: ""
    spec:
      affinity:
          podAntiAffinity:
            requiredDuringSchedulingIgnoredDuringExecution:
            - labelSelector:
                matchExpressions:
                - key: app
                  operator: In
                  values:
                  - matrix
              topologyKey: "kubernetes.io/hostname"
      containers:
      - name: matrix
        image: "registry.xxx.xx/image/xxx-frontend"
        env:
        - name: DISPLAY
          value: ":0.0"
      nodeSelector:
        type: virtual-kubelet
      tolerations:
      - key: virtual-kubelet.io/provider
        operator: Equal
        value: iotedge
        effect: NoSchedule

---
kind: ConfigMap
apiVersion: v1
metadata:
  name: matrix
data:
  status: running
  restartPolicy: always
  version: "1.0"
  createOptions: |
    {
      "HostConfig": {
        "Privileged": "true",
        "Mounts": [{"Target": "/tmp/.X11-unix/","Source": "/tmp/.X11-unix/","Type": "bind"}],
        "network": "host"
      }
    }
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: edgeagent
data:
  desiredProperties: |
    {
      "runtime": {
        "settings": {
          "registryCredentials": {
            "docker": {
              "address": "registry.xxx.xx",
              "password": "xxxxxxxxxxxxxxx",
              "username": "user"
            }
          }
        }
      },
      "systemModules": {
        "edgeHub": {
          "env": {
            "OptimizeForPerformance": {
              "value": "false"
            }
          }
        }
      }
    }
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: edgehub
data:
  desiredProperties: |
    {
      "routes": {
        "route": "FROM /* INTO $upstream",
      },
      "storeAndForwardConfiguration": {
        "timeToLiveSecs": 6
      }
    }

1 Ответ

0 голосов
/ 05 февраля 2019

Вы можете добавить это в edgeAgent configMap следующим образом:

---
apiVersion: v1
kind: ConfigMap
metadata:
  name: edgeagent
data:
  desiredProperties: |
    {
      "runtime": {
        "settings": {
          "registryCredentials": {
            "docker": {
              "address": "preview.azurecr.io",
              "password": "xyz",
              "username": "abc"
            }
          }
        }
      }
    }
---
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...