arkade: настроить сервис как LoadBalancer

как я могу добиться того, чтобы arkade создавал службу type: LoadBalancer вместо type: ClusterIP?

Я наткнулся на это требование при развертывании моего личного docker-registry. Вход в систему, отправка и извлечение изображений из командной строки - все работает нормально, но как только я захочу использовать этот реестр, мне понадобится точка отсчета, которую я указываю как изображение в моем определении развертывания:

...
      containers:
      - name: pairstorer
        image: 192.168.x.x:5000/myimage:1.0.0
        ports:
        - containerPort: 55555
...

Если я устанавливаю реестр с помощью arkade install docker-registry, я не вижу никаких вариантов получения внешнего IP-адреса, кроме kubectl edit service docker-registry, и добавления его самостоятельно.


person Michael    schedule 03.02.2021    source источник


Ответы (1)


Если все, что вам нужно, это просто изменить тип Service с ClusterIP на LoadBalancer, вам нужно переопределить значение по умолчанию для docker-registry Helm Chart.

Arkade использует stable/docker-registry диаграмму Helm для установки docker-registry, и вы можете найти значения по умолчанию здесь.

Вам необходимо изменить service.type=ClusterIP на service.type=LoadBalancer (дополнительно вам может потребоваться отредактировать другие значения, например, номер порта по умолчанию 5000):

$ arkade install docker-registry --set service.type=LoadBalancer

Чтобы изменить порт, добавьте --set service.port=<PORT_NUMBER> к приведенной выше команде.

Мы можем проверить тип docker-registry Service:

$ kubectl get svc docker-registry
NAME              TYPE           CLUSTER-IP    EXTERNAL-IP    PORT(S)          AGE
docker-registry   LoadBalancer   10.0.14.107   <PUBLIC_IP>    5000:32665/TCP   29m

Кроме того, вас может заинтересовать реестр Docker с поддержкой TLS, как описано в этом руководство. Я рекомендую вам использовать этот подход.

person matt_j    schedule 04.02.2021
comment
Большое спасибо за объяснение, я ценю это! Это работает как шарм :) Теперь, когда я немного прочитал о том, как организованы репозитории Helm, мне стало намного яснее, как происходит магия за кулисами. Ваша ссылка на значения docker-реестра открыла мне глаза. - person Michael; 04.02.2021