Рубрики
Uncategorized

Всегда используйте ImagePullSecrets

Пользователи Kubernetes: не укусываются по пределам тарифов. Docker Hub ввел ограничения скорости для Image pu … С тегами Kubernetes, Docker, новичков, DevOps.

Пользователи Kubernetes: не укусываются по пределам тарифов.

Docker Hub Вводные пределы скорости Для изображения тянет ранее в этом месяце. Будучи реестрой по умолчанию для Docker Images, это один из самых больших в экосистеме за последние несколько лет, и это повлияет не только на пользователей Docker, но и настройки Kubernetes.

Пределы

Новые ограничения влияют на свободных пользователей. Больше нет неограниченных бесплатных вытяжений, вечеринка закончилась.

  • Анонимные бесплатные пользователи : 100 контейнер тянется каждые 6 часов.
  • Аутентифицированные бесплатные пользователи : 200 контейнер тянется каждые 6 часов.
  • Оплаченные счета : Неограничен.

Сначала 100 тяги могут звучать как много. Но подумайте, что происходит, когда вы начинаете развертывание Kubernetes. Каждый стручок тянет независимо: если вы раскручиваете репликас с 100 репликами, это 100 тяги одновременно.

То же самое происходит, когда мы делаем обновление обморожения, откат, канальный релиз или сине-зеленое развертывание. Поскольку стручки продолжают нерестать, вероятность достижения предела увеличивается, и мы сталкиваемся с самыми раздражающими проблемами: случайные, неожиданные, избегаемые неудачи.

Что делать?

Что ты можешь сделать? Чтобы увидеть, затроните ли вы, проверьте, вытащите ли вы изображения из Docker Hub со следующей командой:

kubectl get pods --all-namespaces -ojson | jq -r '.items[].spec | .containers[] // [] += .initContainers[] // [] | .image' | sort -u

Если вы видите изображения без реестра (только имя изображения) или где реестр Docker.io , ты тянешься из хаба Docker , так что продолжайте читать.

Затем проверьте, используете ли вы аутентификацию. Все изображения должны быть привлечены с аутентификацией. Анонимные тяги ограничены IP. Даже если вам не нужны много тяги, вы все равно можете повлиять на другие пользователи, которые делятся сетью.

Яркая сторона заключается в том, что добавление аутентификации действительно легко. Это занимает всего два шага. Вот как это сделать.

Шаг 1: Расскажите Kubernetes, как аутентифицировать

Первый шаг — добавить свое имя пользователя Docker Hub и пароль в кластер. Мы можем сделать это с kubectl. Вы должны сделать это только один раз на кластер.

$ kubectl create secret docker-registry my-dockerhub-account \
    --docker-server=docker.io \
    --docker-username=DOCKER_HUB_USERNAME \
    --docker-password=DOCKER_HUB_PASSWORD

Шаг 2: Добавить ImagePullSecrets в развертывание

После того, как секрет будет безопасно храниться в Kubernetes, нам нужно только упомянуть об этом в манифесте развертывания. Для этого добавьте ImagePullSecrets в Spec.Template.spec дерево:

      imagePullSecrets:
      - name: my-dockerhub-account

Например, если я хочу запустить развертывание с тремя nginx стручки, конечным результатом будет:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      imagePullSecrets:
      - name: my-dockerhub-secret
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80

Это все, что вам нужно. Когда у вас есть шанс, kubectl применить Новый манифест, чтобы начать использовать аутентификацию.

Береженого Бог бережет

Я надеюсь, что это поможет вам предотвратить ошибки, которые можно избежать. После проверки подлинности у вас должен быть более последовательный опыт и более высокий предел.

Я еще не слышал, чтобы кто -то достиг предела. Docker Hub сказал, что они будут применять их постепенно, поэтому я уверен, что это вопрос времени, пока кто -то не укусит новые кепки.

фото Джошуа Хохне на Неспособный

Оригинал: «https://dev.to/tomfern/always-use-imagepullsecrets-4n54»