По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
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. Прочитать полный код или попробовать плагины можно тут
img
Сегодня хотим поговорить о подключении телефонных линий в офис и сравнить, что лучше - SIP или подключение по PRI? Корпоративные системы телефонии давно отошли от использования обычных аналоговых линий в пользу АТС (автоматическая телефонная станция) в паре с подключением к ISDN по стандарту PRI. Но, не так давно, появился современный, более дешевый и гибкий вариант подключения офисных АТС, который называется «SIP – транкинг». В этой статье мы сравним подключение по PRI с подключение по SIP, отметим преимущества и недостатки. PRI (Primary Rate Interface) — стандартный интерфейс сети ISDN. В рамках данного интерфейса функционируют такие стандарты как E1 и T1 Цифровая телефония Важно понимать, что мы ведем разговор исключительно о цифровой передаче сигнала, не аналоговой. Оба стандарта PRI и SIP используют цифровую модель сигнала, с единственной разницей в том, что стандарт ISDN PRI это формат с коммутацией каналов, а SIP это коммутация пакетов. Функциональность С точки зрения функциональности, при условии правильной настройки, обе системы демонстрируют высокие показатели. Почти все IP – АТС на рынке поддерживают стандарты PRI и SIP. Основная идея интерфейса PRI (потоки E1 или T1) в том, что в рамках одной цифровой линии может передаваться 32 или 24 канала, по которым передаются как голосовые сообщения, так и информация о сигнализации и синхронизации. Интерфейс T1 состоит из 23 голосовых каналов и 1 канала для синхронизации. В свою очередь Е1 поддерживает 30 голосовых каналов и 2 канала выделяется для сигнализации. Масштабируемость PRI Если вам требуется расширить число каналов, то есть сделать их больше 30, то необходимо добавить еще одну PRI линию. Ситуация, в которой у компании на АТС используется от 1 до 4 PRI линий (потоков Е1) является достаточно распространенной. SIP в корпоративной сети Применение протокола SIP в корпоративных сетях расширяет инструментарий администратора. SIP - транк позволяет объединить два удаленных офиса так, будто их соединяет физическая линия. Одним из важнейших преимуществ SIP – транков является возможность сосуществования трафика сети передачи данных и трафика от телефонии (VoIP) в одной сетевой среде передачи – такая сеть называется конвергентной. Почему SIP? «SIP транкиг», как видно из названия, оперирует на базе протокола SIP (Session Initiation Protocol). По правилам протокола, телефонная сигнализация и голосовые сообщения формируются в пакеты и передаются в одной сети передачи данных. Использование протокола SIP предлагает более широкий по сравнению с ISDN PRI спектр возможностей, а так же, позволяет расширить параметры отказоустойчивости к падению каналов передачи. Важно отметить, что выбор провайдера SIP телефонии является ответственной задачей, так как уровень обслуживания варьируется от ISP к ISP. ISP - Internet Service Provider Внешние вызовы PRI При высоких сетевых нагрузках имеет смысл подключать две отдельные линии для телефонии и передачи данных. Это уменьшает риск и позволяет использовать дешевые высокоскоростные каналы (без гарантии определенного уровня задержек и прочих параметров канала) вместе с использованием канала с максимально высоким качеством обслуживания. При этом все равно остается возможность совместить корпоративную сеть и дать АТС право маршрутизировать звонки, в том числе и внешние вызовы через PRI транк. Но к чему использовать E1 PRI для подключения IP- телефона вместо использования на 100% возможностей VoIP? Самым простым объяснением является то, что в мире далеко не все используют VoIP или даже оператора интернет услуг (провайдера) ISP. На текущий момент, единственной, по-настоящему универсальной системой является ТфОП, через которую можно дозвониться до любого телефона в мире. Корпоративная VoIP АТС может дать хорошую экономию на внутренних звонках внутри вашей сети, более того, можно купить SIP - транк для подключения к телефонному оператору связи через интернет. Но, что происходит при наборе внешнего номера через PRI? Правильно, вызов пойдет через ISDN PRI линии, которые подключены к публичной телефонной сети. Внешние вызовы SIP Вместо использования PRI интерфейса, можно использовать SIP – транк. В зависимости от кодеков, полосы пропускания и схемы подключения, в рамках подключения по SIP предоставляется возможность использовать намного больше каналов, чем в E1 (PRI), то есть больше тридцати. Вы можете подключить десятки телефонных аппаратов к своей АТС в зависимости от полосы пропускания канала к провайдеру. Качество обслуживания Отметим, что в телефонной сети общего пользования, под телефонный вызов резервируется вся полоса пропускания канала передачи. В отличие от PRI, VoIP пакеты могут быть обслуживаться наравне с трафиком от других приложений. В данном случае, голосовые пакеты буду чувствительны к таким параметрам как задержка, потеря пакетов или джиттер. При ненадлежащем качестве обслуживания трафика VoIP, эффект может быть аналогичным ситуации, в которой наш мобильный имеет низкий уровень сигнала сотовой сети. Защищенность Сама по себе концепция ISDN PRI предоставляет изолированный канал передачи данных от точки до точки. Конечно, SIP можно передавать по защищенным VPN сетям, но в базовой архитектуре, пакеты SIP передаются по открытой сети Интернет. Итоги Безусловно, выбор всегда формируется под воздействием множества факторов, таких как требования к безопасности, количеству каналов, масштабируемости, бюджету и качеству обслуживания. Протокол SIP – это современный и очень гибкий стандарт, обладающий большим количеством функций, в то время как ISDN PRI доказал свою надежность на протяжении 20 лет использования. Выбор за вами!
img
На этот раз мы спешим поделиться процессом настройки подключения (SIP – транка) на FreePBX 13 на примере оператора Beeline. Настройка транка Настройка транка от данного оператора не отличается какими-то особенным параметрами – все происходит так же, как и в случае других операторов. После покупки аккаунта, вам должны предоставить следующие данные: Опция В нашем примере Телефонный номер +74956661313 Логин(UserID) 74956661313 Пароль test Сервер sip.beeline.ru Домен sip.beeline.ru OutboundProxy msk.beeline.ru (DNS SRV-запись) Создаем новый транк. Для этого необходимо перейти по следующему пути: Connectivity → Trunks. Далее необходимо кликнуть на кнопку создания нового транка (+ Add Trunk). Выбираем опцию создания SIP (chan_sip) Trunk. Нужно присвоить транку имя и указать Outbound CallerID (номер, который вы получили от провайдера). Далее переходим во вкладку sip Settings и вносим необходимые настройки в поле PEER Details вкладки Outgoing: Ниже приведены настройки для поля PEER Details в текстовом виде, для удобства: username=74956661313 //ваш логин (он же номер) type=friend secret=test //ваш пароль outboundproxy=msk.sip.beeline.ru insecure=port,invite host=sip.beeline.ru fromuser=74956661313 fromdomain=sip.beeline.ru dtmfmode=rfc2833 disallow=all directmedia=no defaultuser=74956661313 context=from-trunk allow=alaw&ulaw Далее переходим во вкладку Incoming и настраиваем строку регистрации: Для оператора Билайн строка регистрации имеет следующий вид: Логин:пароль@sip.beeline.ru/ваш_номер Логин – это ваш так называемый AuthUserID Нажимаем Submit и Apply Config. Маршрутизация вызовов Для настройки входящего маршрута переходим в Connectivity → Inbound Routes, далее кликаем на кнопку создания нового маршрута (+ Add Inbound Route). Присваиваем имя и указываем DID Number – удобнее всего оба поля заполнить значением вашего номера, и указываем куда будет маршрутизироваться входящий вызов: Кликаем Submit и Apply Config, переходим к настройке исходящего маршрута: во вкладке Connectivity – Outbound Routes, кликаем + Add Outbound Route. Указываем имя маршрута, указываем CID и выбираем транк Далее переходим во вкладку Dial Patterns и в поле Match Pattern ставим одну-единственную точку (для маршрутизации всех вызовов в сторону Билайна). После этого кликаем Submit и Apply Config – на этом настройка транка в FreePBX 13 для оператора Билайн закончена.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59