Как увеличить лимит скорости dockerhub в kubeless?
У меня версия v1.0.8 без куба, и я создаю механизм машинного обучения, который требует автоматического масштабирования функций по запросу (примерно запрашивает создание 100 модулей в час). Поскольку я анонимный пользователь Docker Hub, мои загрузки ограничиваются 100 запросами на вытягивание образов контейнера за шесть часов. Есть ли способ настроить kubeless, чтобы включить секрет моих учетных данных Docker во время развертывания?
Большое спасибо за ваше время.
2 ответа
Хорошее начало - установить
В зависимости от критичности рабочей нагрузки вам также следует рассмотреть возможность зеркального копирования образа в реестр контейнеров, которым вы управляете. Вы не хотите достигать пределов скорости, когда вам нужно развернуть исправление в 3 часа ночи.
Это то, что сработало для EKS (AWS K8s)
- Купите учетную запись dockerhub pro.
- Создайте секрет реестра докеров:
#!/bin/bash
for ns in $(kubectl get namespaces |grep -v NAME|awk '{print $1}')
do
kubectl create secret docker-registry docker.registry \
--docker-username=<MyAccountName> \
--docker-password='MyDockerHubPassword' -n $ns
done
- Исправьте все учетные записи динамических служб во всех пространствах имен с помощью секрета, созданного на шаге 2.
for ns in $(kubectl get namespaces|grep -v NAME|awk '{print $1}')
do
for sa in $(kubectl -n $ns get sa|grep -v SECRETS|awk '{print $1}')
do
kubectl patch serviceaccount $sa -p '{"imagePullSecrets": [{"name": "docker.registry"}]}' -n $ns
if [ $? -eq 0 ]; then
echo $ns $sa patched
else
echo Error patching $ns $sa
fi
done
done
Дайте мне знать, как это происходит.
Примечание. Вам нужно будет запускать сценарий исправления (3) каждый раз, когда вы развертываете новую рабочую нагрузку, зависящую от dockerhub.