Pull to refresh
58
0
Send message

Kubernetes 1.21 — неожиданно много изменений…

Reading time4 min
Views9.9K

Новая эмблема символизирует распределение членов команды выпуска релиза по земному шару  — от UTC-8 до UTC+8 (похоже, ни японцев, ни корейцев в команде нет). Эмблему нарисовал Aravind Sekar, независимый дизайнер из Индии. На мой взгляд, котики были круче.

Но давайте перейдем к чтению changelog и особенно моему любимому разделу Urgent Upgrade Notes.

Читать дальше
Total votes 33: ↑33 and ↓0+33
Comments10

Kubernetes 1.20 — и что же слома.../починили на этот раз?

Reading time4 min
Views6.2K

Поздравляем с выходом версии 1.20. Третий релиз в 2020 году, в котором 11 фич объявили stable, 15 перевели в beta, и добавили 16 новых в alpha-стадии.

Судя по Release Logo котики уже захватили мир, и даже не скрывают этого. Давайте посмотрим, какие блюдца с молоком они заботливо положили нам под ноги.

Читать дальше
Total votes 14: ↑14 and ↓0+14
Comments10

Docker is deprecated — и как теперь быть?

Reading time5 min
Views76K

Kubernetes объявил Docker устаревшим и планирует прекратить его использование примерно через год, в версии 1.22 или 1.23. Эта новость вызвала много вопросов и непонимания. В блоге Kubernetes появилось целых две статьи, разъясняющих смысл записи в Changelog (раз и два). Если все обобщить, то для разработчиков (те, которые Dev) ничего не меняется — они все так же могут продолжать использовать docker build для сборки своих контейнеров, а вот для инженеров, ответственных за эксплуатацию кластера (Ops), пришла пора разобраться и освоить несколько новых инструментов.

Читать дальше
Total votes 79: ↑72 and ↓7+91
Comments82

Продвинутые абстракции Kubernetes: Job, CronJob

Reading time11 min
Views33K


Что такое Job и CronJob в Kubernetes, для чего они нужны, а для чего их использовать не стоит.
Эта статья — выжимка из лекции вечерней школы «Слёрм Kubernetes».

Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments6

Хранение данных в кластере Kubernetes

Reading time5 min
Views35K

Настроить хранение данных приложений, запущенных в кластере Kubernetes, можно несколькими способами. Одни из них уже устарели, другие появились совсем недавно. В этой статье рассмотрим концепцию трёх вариантов подключения СХД, в том числе самый последний — подключение через Container Storage Interface.


Читать дальше →
Total votes 19: ↑18 and ↓1+20
Comments5

Kubernetes 1.17 — как обновиться и не потратить весь error budget

Reading time2 min
Views3.6K
image

9 декабря вышла очередная версия Kubernetes — 1.17. Ее девиз — «Стабильность», множество фич получили статус GA, некоторое количество устаревших фич было удалено…

И, как всегда, наш любимый раздел Action Required файла CHANGELOG-1.17.md требует к себе внимания.

Поработаем руками…
Читать дальше →
Total votes 15: ↑13 and ↓2+14
Comments3

Kubernetes 1.16 — как обновиться и ничего не сломать

Reading time3 min
Views6.4K


Сегодня, 18 сентября, выходит очередная версия Kubernetes — 1.16. Как всегда нас ждет много улучшений и новинок. Но я хотел бы обратить ваше внимание на разделы Action Required файла CHANGELOG-1.16.md. В этих разделах публикуются изменения, которые могут сломать работу вашего приложения, инструментов по обслуживанию кластера или требуют внесения изменений в файлы конфигурации.

В общем, требуют ручного вмешательства…
Читать дальше →
Total votes 38: ↑34 and ↓4+30
Comments4

Что делать, если протухли сертификаты и кластер превратился в тыкву?

Reading time5 min
Views39K
Если в ответ на команду kubectl get pod вы получаете:

Unable to connect to the server: x509: certificate has expired or is not yet valid

то, скорее всего, прошел год, у сертификатов вашего kubernetes закончился срок действия, компоненты кластера перестали их использовать, взаимодействие между ними прекратилось и ваш кластер превратился в тыкву.

image
Читать дальше →
Total votes 27: ↑23 and ↓4+19
Comments13

DNS Google больше не поддерживает Round Robin DNS

Reading time3 min
Views39K

Раньше, когда надо было распределить нагрузку на несколько серверов, мы прописывали несколько A-записей с одним именем в DNS-зоне, и все работало. Запросы клиентов распределялись примерно поровну. Особенно актуален такой способ балансировки был для раздачи статитического контента.

Недавно наш клиент обратился к нам с проблемой:
В ЧНН начинались проблемы с загрузкой различных флешек — файлы загружались по несколько минут.
ищем виновного...
Total votes 51: ↑51 and ↓0+51
Comments65

Посещение встречи разработчиков Linux-контейнеров

Reading time4 min
Views8.3K
image

Когда руководство предложило мне посетить встречу разработчиков Linux-контейнеров, я поначалу подумывал отказаться. Ехать 500 км до Москвы и обратно, провести день на ногах, а я ведь даже не разработчик, я сисадмин, который использует технологии OpenVZ в своей работе…

Но, почитав программу, понял, что встреча рассчитана не только и не столько на разработчиков, но и на активных пользователей этого прекрасного творения от Parallels.
А поставив последнюю бету Virtuozzo 7, еще и составил себе список вопросов, которые хотелось бы прояснить.

мои впечатления от встречи
Total votes 13: ↑11 and ↓2+9
Comments5

Работа над ошибками — phppgadmin

Reading time2 min
Views3.4K
Один из наших клиентов поставил задачу — не заливается дамп базы данных через phpPgAdmin. В лог ошибок выводятся сообщения типа: ERROR: relation «public».«company» does not exists.

Схема public в наличии имеется, таблицы company нету. В процессе поиска выясняется, что через консоль этот же дамп заливается без проблем. Если загружать в web-форму в phpPgAdmin — то тоже все отрабатывает. Но вот если загружать этот дамп в тот же phpPgAdmin как файл — идут ошибки.
Читать дальше →
Total votes 30: ↑12 and ↓18-6
Comments7

Работа с сообщениями об ошибках — git

Reading time1 min
Views5.4K
Иногда приложения выдают нам очень странные сообщения об ошибках и приходится изрядно поломать голову, чтобы понять, в чем именно проблема и как ее исправить.

Мы решили, что подобные случаи достойны серии небольших статей под общим названием «Работа с сообщениями об ошибках».

И сегодня у нас подарок от всеми любимой программы git.
В очередной раз, сделав git pull на тестовый сервер, клиент увидел вот такое сообщение:
fatal: write failure on 'stdout': No space left on device

И обратился к нам с просьбой разобраться, почему это он не может на stdout писать
Читать дальше →
Total votes 37: ↑12 and ↓25-13
Comments17

Systemd за пять минут

Reading time4 min
Views648K
Наша компания занимается администрированием веб-серверов на базе CentOS. Довольно часто наши клиенты используют веб-приложения на базе python, ruby или java. Для автозапуска подобных приложений есть готовые шаблоны для написания стартап-скриптов. Но прогресс не стоит на месте, вышел уже второй релиз CentOS 7 и, следуя старой традиции «не ставить dot-zero релизы на продакшен», мы начинаем предлагать клиентам сервера на базе CentOS 7.1 (1503).

В CentOS7, так же как и в его родителе RHEL7, используется systemd — менеджер системы и служб для Linux, совместимый со скриптами инициализации SysV и LSB. systemd обеспечивает возможности агрессивной параллелизации и много всего прочего.

image

Огромный монстр с множеством возможностей, гибкими настройками и мегабайтами документации…

Но что делать, если стоит задача быстро-быстро, вот прямо вчера, сделать автозапуск некоего сервиса?
Давайте выжмем из документации минимально необходимый набор информации для создания простых старт-стоп скриптов.
Знакомство с systemd
Total votes 70: ↑66 and ↓4+62
Comments58

FreeBSD, dhcp, ip unnumbered и все все все…

Reading time5 min
Views22K
Наша небольшая компания подключает абонентов к интернету по технологии vlan-per-user.
Так исторически сложилось и в этом есть как плюсы, так и минусы, но разговор сейчас не об этом.
Обычно на каждый vlan выделяется сеть серых адресов, которая потом через NAT выпускается в большой мир. Но иногда абоненты хотят реальный белый адрес, и до недавнего времени им выдавалась /30 сеть. Что в реалиях настоящего очень расточительно и абоненты с реальными адресами переводятся на подключение по технологии SuperVLAN (RFC 3069).

Ниже история перехода
Total votes 17: ↑17 and ↓0+17
Comments14

Архитектура масштабируемой почтовой системы

Reading time4 min
Views27K
В этой статье мы рассматриваем один из вариантов реализации масштабируемой архитектуры большой почтовой системы.

6 декабря 2012 г. Google прекратил регистрацию новых аккаунтов для бесплатной версии Google Apps.

У клиентов нашей компании постоянно возникает потребность в электронной почте, обслуживающей их сайты.
Раньше мы настраивали им Google Apps, но после 6 декабря, изучив предлагаемые на рынке решения, решили, что настала пора строить собственную почтовую систему.

Как известно, аппетит приходит во время еды. Если уж решились строить что-то свое, то тогда стоит сразу закладывать возможности для роста.
Для проектируемой почтовой системы были сформулировали следующие требования:
  • масштабируемость (неограниченное количество обслуживаемых доменов, общий объем почтовых ящиков 100 терабайт и больше);
  • отказоустойчивость (все промежуточные сервисы должны быть продублированы);
  • расширяемость (добавление новых узлов в систему должно быть легким и простым).


Начали с выбора хранилища под письма...

На самом деле выбор был небольшой:
  • dovecot/cyrus с хранением в файловой системе через maildir/mailbox;
  • dbmail с хранением в базе данных.

После оценки количества сервисов, предоставляемых «из коробки», а также изучения нюансов использования, нами было решено остановиться на dbmail.
Вот краткий список вкусностей, которые предоставляет dbmail:



  • доступ к ящикам через IMAP, POP3;
  • sieve-скрипты для сортировки почты;
  • прием почты через smtp и lmtp протоколы;
  • администрирование через cli и SQL-запросы.


Читать дальше →
Total votes 37: ↑31 and ↓6+25
Comments63

Установка Python Image Library (PIL) в x64 системы на примере CentOS

Reading time1 min
Views10K
Когда разработчики требуют множество python и django различных версий на одном хосте на помощь приходит
virtualenv…

Но после этого доустанавливать дополнительные модули для каждого python приходится руками через pip

И тут возникают нюансы. Например с библиотекой PIL

Она прекрасно устанавливается, но при попытке работы с ней выдает вот такие великолепные сообщения об ошибках

decoder jpeg not available

Проблема в том, что при сборке PIL не может библиотеки для работы с jpeg, zlib, tiff, freetype, потому что в нашем случае они лежат в /usr/lib64, а в PIL написано искать только в /usr/local/lib

Читать дальше →
Total votes 10: ↑3 and ↓7-4
Comments7

Information

Rating
Does not participate
Location
Воронеж, Воронежская обл., Россия
Works in
Date of birth
Registered
Activity