По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Приходишь ты такой в офис, уже налил чашечку кофе, поболтал у кулера, садишься за рабочее место и начинаешь писать: “уважаемые коллеги, бла бла бла”, и тут, после того, как все коллеги уважены в твоем обращении, ты вдруг задумываешься - а как это работает? Почему моя почта доходит до уважаемых коллег? Очень просто - сейчас расскажем как. Для начала разделим работу электронной почты на две части - отправка и получение. Отправка Начнём с отправки. Как только ты дописал своё письмо и нажал на кнопку “Отправить”, твой почтовый клиент (Outlook, Thunderbird, Gmail или Yandex Mail) отправит его на сервер по протоколу SMTP - Simple Mail Transfer Protocol, что переводится как простой протокол передачи почты. И тут начинаются первые проблемы. Дело в том, что этот протокол действительно “простой”. Он увидел свет аж в 1982 году, а как ты помнишь, тогда на безопасность было вообще пофиг, поэтому все письма отправлялись в открытом виде, пользователи никак не аутентифицировались, а хакеры успешно применяли его для рассылки спама. Поэтому, в 2008 году ему решили добавить фич в виде поддержки шифрования, авторизации, 8-битных наборов символов и ещё много всего полезного и назвали это все ESMTP, где Е означает extended, то есть расширенный. Но даже после этого протокол называют просто - SMTP. Короче, SMTP работает по клиент серверной модели. Он передает на почтовый сервер команды и получает от него ответы с результатами их обработки. Ответы от сервера - это кодовые значения, которые делятся на 5 типов. Те у которых код 200, означают что всё ок, а те что с кодом 500 - не ок. Ничего не напоминает? Да, очень похоже на HTTP При стандартной отправке письма происходит следующее: Твой клиент подключается к серверу Сервер выдаёт ему список доступных команд Твой клиент отправляет команды, которые содержат адрес отправителя, получателя и собственно само сообщение Сервер помещает твоё сообщение в очередь на отправку и если всё ок - отправляет его. А в случае если ты сын маминой подруги и позаботился о безопасности, клиент также пройдёт процедуру аутентификации и шифрования, прежде чем отправить письмо. Кстати, ты можешь указать в адресе отправителя что угодно и тебе за это ничего не будет. Дело в том, что в SMTP нет встроенных проверок подлинности отправителя, для этого используются внешние механизмы. Самый простой - это сопоставление домена и IP-адреса отправителя через DNS-запрос. Так что если ты решишь прикинуться Илоном Маском и написать кому нибудь письмо с просьбой отсыпать немножко биткоинов, то скорее всего оно попадёт в спам. SMTP используется не только для отправки писем от клиента к серверу, но и для передачи твоего письма между почтовыми серверами. Допустим, если ты напишешь Илону, то сначала твоё письмо попадёт на твой локальный сервер, который скорее всего не находится в домене spacex.com, поэтому твой сервер будет по тому же DNS искать в Интернетах почтовый сервер, отвечающий за маршрутизацию электронной почты домена Space X. Это кстати называется MX-запись. Когда эта информация будет найдена, то сервер пульнёт туда твоё письмо по протоколу SMTP. Для работы SMTP был зарезервирован TCP порт 25, но есть ещё 2 порта - это 465 и 587, оба они предназначены для связи клиента с сервером по защищенным механизмам, а 25 предназначался только для связи между собой почтовых серверов. Отлично, теперь твоё письмо, пройдя все системы антиспама и проверки лежит на почтовом сервере получателя и дожидается когда же его прочитают, а мы переходим ко второму действию - получение. Получение Тут возможны 2 варианта. Либо твой клиент будет получать почту по протоколу IMAP - Internet Message Access Protocol, либо по протоколу с не очень приличным названием POP3 - Post Office Protocol 3. Для POP3 почтовый сервак выступает в роли временного хранилища писем. Клиент, настроенный на работу с POP3, будет периодически обращаться на сервак и спрашивать: - “Есть чё по письмам?”, Сервер ответит ему: - “Ага есть”, тогда клиент ответит: - “Зашибись, а ну гони всё сюда и удали все копии, чтоб письма были только у меня” Именно так, в случае POP3 клиент будет хранить все письма только у себя, но в этом есть плюс - даже если у тебя пропадёт Интернет, ты всё равно сможешь получить доступ к своим письмам. Надо сказать, что с помощью самого клиента (но не POP3), можно попросить сервер всё таки хранить копии писем. А вот тебе ещё несколько неприятных фактов про POP3: Он работает только на одном клиенте, то есть если ты открыл клиент с POP3 на компе, то с мобильного телефона уже не сможешь посмотреть свою почту. А ещё нельзя разнести письма по папкам, настроить фильтры, пометить важность и т.д. А? Ну как тебе, удобно? Ладно, давай посмотрим какие ещё есть варианты. Ты можешь настроить свой клиент на работу с протоколом IMAP, тогда всем движем будет управлять почтовый сервак. В этом случае, твой почтовый клиент будет нужен только как интерфейс для работы с почтой. Зато ты сможешь получить доступ к своему почтовому ящику откуда угодно и с чего угодно. Сидишь за рабочим местом - читаешь почту с компа, отошёл в уборную - с мобилки, можно использовать веб-клиент и заходить через Интернет. Ах да, приятным бонусом будет то, что с помощью IMAP ты можешь настроить под себя папки, помечать письма как важные, запрашивать статус о прочтении письма, выполнять сложные поиски по письмам и многое другое. Но в этом есть и недостатки. Из-за того, что с IMAP всё слишком сложно, обработка писем серваком происходит гораздо дольше и “вообще то место на нём не резиновое”. Если постоянно хранить все письма без ротации, то рано или поздно почтовый ящик забьётся.
img
Управление дисковым пространством на сервере Linux - важная задача. Например, приложения диспетчера пакетов уведомят вас, сколько места на диске потребуется для установки. Чтобы эта информация была значимой, вы должны знать, сколько места доступно в вашей системе. В этом руководстве вы узнаете, как использовать команду df для проверки дискового пространства в Linux и команду du для отображения использования дискового пространства файловой системы. Проверить дисковое пространство Linux с помощью команды df Вы можете проверить свое дисковое пространство, просто открыв окно терминала и введя следующее: df Команда df означает освобождение диска и показывает количество места, занимаемого различными дисками. По умолчанию df отображает значения в блоках размером 1 килобайт. Отображение использования в мегабайтах и гигабайтах Вы можете отобразить использование диска в более удобочитаемом формате, добавив параметр –h: df –h Здесь отображается размер в килобайтах (K), мегабайтах (M) и гигабайтах (G). Понимание формата вывода Команда df выводит несколько столбцов: Filesystem Size Used Avail Use% Mounted on udev 210M 0 210M 0% /dev tmpfs 49M 1004K 48M 3% /run /dev/sda2 7.9G 4.3G 3.2G 58% / В вашем выводе может быть больше записей. Filesystem - это имя каждого конкретного диска. Сюда входят физические жесткие диски, логические (разделенные) диски, а также виртуальные или временные диски. Size - размер файловой системы. Used - объем пространства, используемого в каждой файловой системе. Avail - количество неиспользуемого (свободного) места в файловой системе. Use% - показывает процент использованного диска. Mounted on - это каталог, в котором расположена файловая система. Это также иногда называют точкой монтирования. Список файловых систем включает ваш физический жесткий диск, а также виртуальные жесткие диски: /dev/sda2 - это ваш физический жесткий диск. Он может быть указан как /sda1, /sda0 или у вас может быть даже несколько. /dev означает устройство. udev - это виртуальный каталог для каталога /dev. Это часть операционной системы Linux. tmpfs - их может быть несколько. Они используются /run и другими процессами Linux в качестве временных файловых систем для запуска операционной системы. Например, tmpfs /run/lock используется для создания файлов блокировки. Это файлы, которые не позволяют нескольким пользователям изменять один и тот же файл одновременно. Отобразить определенную файловую систему Команду df можно использовать для отображения определенной файловой системы: df –h /dev/sda2 Вы также можете использовать обратную косую черту: df –h / Это отображает использование вашего основного жесткого диска. Используйте точку монтирования (в столбце Mounted on), чтобы указать диск, который нужно проверить. Примечание. Команда df предназначена только для полной файловой системы. Даже если вы укажете отдельный каталог, df будет читать пространство всего диска. Отображение файловых систем по типу Чтобы перечислить все файловые системы по типу, используйте команду: df –ht ext4 Здесь перечислены диски с типом ext4 в удобочитаемом формате. Отображение размера в 1000 вместо 1024 Вы можете отображать использование диска в единицах 1000 вместо 1024: df –H Это может устранить путаницу в технологии хранения. Производители жестких дисков продают жесткие диски размером 1000 байт = 1 килобайт. Однако операционные системы делят это пространство так, что 1024 байта = 1 килобайт. Из-за этого на 1000-гигабайтном жестком диске остается примерно 930 гигабайт полезной памяти. Проверить дисковое пространство Linux с помощью команды du Команда du отображает использование диска. Этот инструмент может отображать использование диска для отдельных каталогов в Linux, давая вам более детальное представление об использовании вашего диска. Используйте его для отображения количества места, используемого вашим текущим каталогом: du Подобно команде df, вы можете сделать du удобочитаемым: du –h Он отображает список содержимого текущего каталога и сколько места они используют. Вы можете упростить отображение с помощью опции –s: du –hs Это показывает, сколько места занимает текущий каталог. Чтобы указать каталог или файл, установите флажок, используя следующие параметры: du –hs /etc/kernel-img.conf du –hs /etc При использовании второй команды вы могли заметить сообщение об ошибке «Отказано в разрешении». Это означает, что текущий пользователь не имеет прав доступа к определенным каталогам. Используйте команду sudo для повышения ваших привилегий: sudo du –hs /etc Примечание. Если вы работаете с CentOS Linux, вам может потребоваться использовать команду su, чтобы переключиться на пользователя root для доступа к защищенным каталогам. Итоги Теперь вы должны понимать, как использовать команды df и du для проверки дискового пространства в вашей системе Linux. Помните, что для отображения полного списка параметров используйте df ––help или du ––help.
img
Сегодня в статье рассказываем про плагин kubectl, который использует tmux, чтобы быстрее устранить неполадки Kubernetes. Kubernetes - это процветающая платформа для взаимодействия контейнеров с открытым исходным кодом, которая обеспечивает масштабируемость, высокую доступность, надежность и отказоустойчивость приложений. Одной из его многочисленных функций является поддержка запуска пользовательских сценариев или двоичных файлов через основной двоичный файл клиента, kubectl. Kubectl очень мощный, и позволяет пользователям делать с ним все, что они могли бы сделать непосредственно в кластере Kubernetes. Устранение неполадок с псевдонимами Kubernetes Каждый, кто использует Kubernetes для управления контейнерами, знает о его особенностях - а также о сложности, причиной которого является его дизайн. Например, существует острая необходимость упростить поиск и устранение неисправностей в Kubernetes с помощью чего-то более быстрого и практически не требующего ручного вмешательства (за исключением критических ситуаций). Существует много сценариев, которые следует учитывать при устранении неполадок. В одном сценарии вы знаете, что нужно запускать, но синтаксис команды - даже если она может выполняться как одна команда - чрезмерно сложен, или для работы может потребоваться один-два входа. Например, если часто требуется перейти в запущенный контейнер в пространстве имен System, вы можете неоднократно писать: kubectl --namespace=kube-system exec -i -t <your-pod-name> Для упрощения поиска и устранения неисправностей можно использовать псевдонимы этих команд в командной строке. Например, можно добавить следующие файлы dotfiles (.bashrc или .zshrc): alias ksysex='kubectl --namespace=kube-system exec -i -t' Это один из многих примеров из хранилища общих псевдонимов Kubernetes, который показывает один из способов упрощения функций в kubectl. Для чего-то простого, подобного этому сценарию, достаточно псевдонима. Переключение на подключаемый модуль kubectl Более сложный сценарий устранения неполадок включает в себя выполнение множества команд, одной за другой, для исследования среды и выведения заключения. Одних псевдонимов недостаточно для этого варианта использования; необходима воспроизведение логического узла и корреляция между многими частями развертывания Kubernetes. На самом деле вам нужна автоматизация для получения нужного результата за меньшее время. Рассмотрим пространства имен от 10 до 20 или даже от 50 до 100, содержащие различные микросервисы в вашем кластере. Что поможет вам начать устранение неполадок в этом сценарии? Вам потребуется что-то, что может быстро определить, какой модуль в каком пространстве имен вызывает ошибки. Вам понадобится что-то, что сможет просматривать журналы всех модулей в пространстве имен. Также может потребоваться просмотр журналов определенных модулей в определенном пространстве имен, в котором были обнаружены ошибки. Любое решение, охватывающее эти вопросы, было бы очень полезно при изучении производственных проблем, а также в ходе циклов разработки и тестирования. Чтобы создать нечто более мощное, чем простой псевдоним, можно использовать плагины kubectl. Плагины подобны автономным сценариям, написанным на любом языке сценариев, но предназначены для расширения функциональных возможностей главной команды при работе в качестве администратора Kubernetes. Чтобы создать плагин, необходимо использовать правильный синтаксис kubectl- < имя-плагина > для того, чтобы скопировать сценарий в один из экспортированных путей в $PATH и предоставить ему исполняемые разрешения chmod+x. После создания плагина и перемещения его в свой путь, вы можете немедленно запустить его. Например, у меня на пути есть kubectl-krwl и kubectl-kmux: $ kubectl plugin list The following compatible plugins are available: /usr/local/bin/kubectl-krawl /usr/local/bin/kubectl-kmux $ kubectl kmux Теперь давайте изучим, как выглядит обеспечение работы Kubernetes с tmux. Использование силы tmux Tmux - очень мощный инструмент, на который полагаются многие команды для устранения проблем, связанных с упрощением работы - от разделения окон на панели для выполнения параллельной отладки на нескольких машинах до мониторинга журналов. Одним из основных его преимуществ является то, что его можно использовать в командной строке или в сценариях автоматизации. Я создал плагин kubectl, который использует tmux, чтобы сделать поиск и устранение неисправностей гораздо проще. Я буду использовать аннотации, чтобы пройти через логику за плагином (и оставить его для вас, чтобы пройти через полный код плагина): #NAMESPACE is namespace to monitor. #POD is pod name #Containers is container names # initialize a counter n to count the number of loop counts, later be used by tmux to split panes. n=0; # start a loop on a list of pod and containers while IFS=' ' read -r POD CONTAINERS do # tmux create the new window for each pod tmux neww $COMMAND -n $POD 2>/dev/null # start a loop for all containers inside a running pod for CONTAINER in ${CONTAINERS//,/ } do if [ x$POD = x -o x$CONTAINER = x ]; then # if any of the values is null, exit. warn "Looks like there is a problem getting pods data." break fi # set the command to execute COMMAND=”kubectl logs -f $POD -c $CONTAINER -n $NAMESPACE” # check tmux session if tmux has-session -t <session name> 2>/dev/null; then <set session exists> else <create session> fi # split planes in the current window for each containers tmux selectp -t $n ; splitw $COMMAND ; select-layout tiled ; # end loop for containers done # rename the window to identify by pod name tmux renamew $POD 2>/dev/null # increment the counter ((n+=1)) # end loop for pods done< <(<fetch list of pod and containers from kubernetes cluster>) # finally select the window and attach session tmux selectw -t <session name>:1 ; attach-session -t <session name>; После запуска скрипта плагина он будет выдавать выходные данные, аналогичные изображению ниже. Каждый модуль имеет собственное окно, и каждый контейнер (если их несколько) разделяется панелями в окне модуля в потоковые журналы по мере их поступления. Преимущество tmux можно увидеть ниже; При правильной конфигурации можно даже увидеть, какое окно активно (см. белые вкладки). Заключение Псевдонимы всегда полезны для простого устранения неполадок в средах Kubernetes. Когда среда становится более сложной, плагин kubectl является мощным вариантом для использования более продвинутых сценариев. Ограничения в выборе языка программирования, который можно использовать для записи плагинов kubectl, нет. Единственное требование состоит в том, чтобы соглашение об именовании в пути являлось исполняемым и не имело того же имени, что и существующая команда kubectl. Прочитать полный код или попробовать плагины можно тут
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59