По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Всем привет! Недавно одну из наших статей мы посвятили рассказу о Route Patterns. Сегодня мы продолжим рассматривать механизм маршрутизации звонка в Cisco Unified Communications Manager (CUCM), и рассмотрим, что происходит с вызовом после того как он попал под определенный паттерн – а именно про Route List и Route Group. Рассмотрим, как происходит процесс маршрутизации. После набора номера в Route Patterns происходит сверка с заданными паттернами и выбирается подходящий, который указывает на Route List, который указывает на группы Route Group, которые в свою очередь указывают на устройства, шлюзы и транки. Настройка Route Group Для создания группы нужно перейти во вкладку Call Routing → Route/Hunt → Route Group и нажимаем Add New. Тут указываем название группы и в поле Distribution Algorithm выбираем, по какому алгоритму будут распределяться устройства – Top Down или Circular. Сами устройства, транки или шлюзы выбираем в поле Available Devices и для добавления в группу нажимаем кнопку Add to Route Group. После этого добавленное устройство появляется в поле Selected Devices. Для сохранения настроек нажимаем Save. Настройка Route List. Чтобы создать список нужно вкладку Call Routing → Route/Hunt → Route List и нажать Add New. Здесь указываем название, описание и группу (по умолчанию – Default). После нажатия Save внизу появляется поле Route List Member Information, в котором нужно нажать кнопку Add Route Group. В открывшемся окне в строке Route Group выбираем необходимую группу и нажимаем Save. Также в этом окне содержатся настройки трансформации номеров. После этого добавленная группа появится в поле Selected Groups. Затем добавляем остальные группы и сохраняем настройки. Проверить получившийся маршрут можно перейдя во вкладку Call Routing → Route Plan Report. Здесь можно увидеть список паттернов Route Patterns, список Route List на который они указывают, группы Route Groups, которые содержит список и устройства, шлюзы и транки, указанные в группе. Это наглядно показывает в иерархическом порядке структуру маршрутизации.
img
Привет! Сегодня в статье мы расскажем, как обновить прошивку на IP-телефоне Cisco через Cisco Unified Communications Manager (CUCM) . Обновимся? Сначала нужно скачать необходимую версию прошивки для нашего телефона на сайте Cisco.com в разделе Support → Downloads. Далее скачанный файл нужно перенести в директорию SFTP или FTP сервера По-умолчанию нельзя обновить прошивку для отдельного телефона. После того, как вы установите файл прошивки обновления в CUCM, все телефоны с такой же моделью автоматически начнут обновление при их перезапуске. Чтобы избежать этой проблемы, нужно сохранить существующее имя прошивки телефона. Для этого в разделе Cisco Unified CM Administration переходим во вкладку Device → Device Settings → Device Defaults, ищем необходимый нам телефон, и копируем название его прошивки. Также это можно посмотреть на странице телефона в разделе Device → Phone, в строке Active Load ID. Далее переходим в раздел Cisco Unified OS Administration во вкладку Software Upgrades → Install/Upgrade. Здесь указываем следующие данные: Source – указываем Remote Filesystem; Directory – директория, где находятся файлы прошивки (если они находятся в корне, то указываем “”); Server – указываем адрес сервера, на котором мы разместили файлы прошивок; User Name и User Password – логин и пароль для подключения к серверу с файлами; Transfer Protocol – протокол сервера – FTP или STFP; После этого в Software Location выбираем файл прошивки и нажимаем Next После этого CUCM покажет контрольную сумму MD5 файла прошивки, которую можно сравнить с той, которая указана на сайте Cisco. Проверив, нажимаем Next для начала установки. Установка будет завершена, когда в строке Status будет написано Complete. Следующим шагом нужно будет перезапустить сервис Cisco TFTP. Для этого переходим в раздел Cisco Unified Serviceability во вкладку Tools → Control Center → Feature Services. Выбираем наш сервер, находим Cisco TFTP и нажимаем Restart. После этого дефолтная прошивка для данного типа телефонов изменится на загруженную нами. Пока эта прошивка указана в меню Device → Device Settings → Device Defaults у конкретной модели телефона, перезапуск любого телефона этой модели приведет к установки на него новой прошивки. Поэтому нужно скопировать из поля Load Information название новой прошивки и заменяем его на старое, скопированное ранее. Старая и новая версии прошивки находятся на TFTP, но старая остается стандартной для всех устройств данной модели. Теперь обновим прошивку на одном конкретном телефоне. Переходим в меню Device → Phone, находим желаемый телефон и в строку Phone Load Name вставляем название новой прошивки. После этого сохраняем конфигурацию и перезагружаем телефон. В результате на нем будет установлена новая версия прошивки. Проверить это можно на самом телефоне, нажав кнопку Settings и перейдя в меню Model Information – версия прошивки будет написана в пункте Load File.
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