По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
При внедрении культуры DevOps, вне зависимости от инфраструктуры организации, программного инструменты имеют решающее значение. В этой статье расскажем о лучших инструментах управления конфигурацией в DevOps. Но давайте сначала выясним, что такое DevOps. Что такое DevOps, что нужно знать и сколько получают DevOps - специалисты? Что такое DevOps? DevOps происходит из интеграции команд разработчиков (Dev) и специалистов по информационно-техническому обслуживанию(Ops), чтобы обеспечить ценность для клиентов и создать гибкость в разработке программного обеспечения. DevOps сосредоточен на том, как люди работают и сотрудничают, делясь своими мыслительными процессами и приоритетами, чтобы ускорить разработку программного обеспечения. Как культура, основная идея DevOps заключается в оптимизации функций и эффективности задействованных команд независимо от используемых инструментов. Но как началась эта единая разработка? Ранее в жизненном цикле разработки программного обеспечения были разработчики, чья работа заключалась в написании кода, как указано клиентами, без настройки и обслуживания среды для требуемого программного продукта. Команда информационно-технического обслуживания выполняла производственные операции и задачи технического обслуживания, переживая все кошмары, связанные с производственным этапом. Представьте себе управление программным продуктом, в разработке которого вы не участвовали! Тяжело, да? Команда Ops несла бремя реализации ошибок, управления зависимостями инфраструктуры и, скорее, проблем, связанных с производственной средой программного обеспечения. Чтобы устранить этот пробел, был придуман DevOps – тандем людей, задач и всех сквозных процессов, необходимых для предоставления клиентам тщательно разработанного продукта. Почему DevOps так важен? Когда команды в любой среде разработки правильно интегрируют методы DevOps, такие как непрерывная интеграция и управление конфигурацией, компании получают следующие преимущества: Более короткие циклы выпуска приложений DevOps служит для поддержки готовой к развертыванию базы кода, где в любой момент команда DevOps может запускать доступные версии программного обеспечения без сбоев продукта. CI/CD-конвееры, со всей автоматизацией и тестами, обеспечивают последовательную запуск стабильного программного продукта в производство, что позволяет разработчикам добиться более коротких циклов выпуска. Наглядность процессов разработки Выявление дефектов программирования, обнаружение угроз безопасности, инициирование откатов и даже реагирование на инциденты могут быть затруднены, когда среда разработки подобна черному ящику. Более короткие циклы выпуска и непрерывный мониторинг в DevOps приводят к большей видимости всех операций. Что такое управление конфигурацией в DevOps? Управление конфигурацией - это автоматизация значительных и повторяющихся действий в ИТ-среде. Управление конфигурацией решает задачи, которые должны быть выполнены на тысячах машин. Такие задачи могут включать установку, модернизации и обновление программного обеспечения, управление исправлениями, обеспечение безопасности, управление пользователями и т.д. С появлением контейнерных технологий и других усовершенствований инфраструктуры, системные администраторы считают, что настройка ИТ-сред без средств автоматизации является сложной задачей. К счастью, существуют средства управления конфигурацией для создания и оптимизации сред времени выполнения. Инструменты управления конфигурацией в DevOps предоставляют необходимую инфраструктуру через сценарии/Инфраструктуру как код. Рассмотрим следующие широко используемые средства управления конфигурацией. 1. Ansible Решение Ansible автоматизирует настройку инфраструктуры, развертывание приложений и выделение ресурсов облачных сред, используя модель услуг «Инфраструктура как код». Ansible - это полезный инструмент, который инженеры DevOps могут использовать для автоматизации управления инфраструктурой, приложениями, сетями и контейнерной средой. Инженеры широко используют этот инструмент для автоматизации и настройки серверов. Это средство масштабирует повторяющиеся задачи в администрировании инфраструктуры с помощью определенных плэйбуков. В данном случае плэйбук представляет собой простой файл сценария на YAML, детализирующий действия, выполняемые механизмом автоматизации Ansible. С помощью автоматизации Ansible сисамдины могут создавать группы машин для выполнения определенных задач и управлять работой машин в производственных средах. Anible используют такие известные компании, как Udemy, Alibaba Travels, Tokopedia. Особенности Ansible Tower, платформа в рамках Ansible, является панелью управления визуализацией для всей ИТ-среды. С помощью управления доступом на основе ролей (RBAC) область Ansible может создавать пользователей и управлять разрешениями для сред. Технология Ansible поддерживает как локальные конфигурации, так и мультиоблачные инфраструктуры. Подробнее про Ansible 2. Puppet Puppet - это еще одна платформа с открытым исходным кодом, подходящая для обеспечения отказоустойчивой инфраструктуры. Инженеры DevOps могут использовать Puppet для настройки, развертывания, запуска серверов и автоматизации развертывания приложений на настроенных серверах. С помощью Puppet можно устранять операционные риски и риски безопасности в ИТ-среде путем обеспечения постоянного соответствия нормативным требованиям. Она включает автоматизацию инфраструктуры Windows, управление исправлениями и управляемые операции приложений. Тысячи компаний, включая Google, Cisco и Splunk, используют Puppet для управления конфигурацией. Особенности Высокая расширяемость, поддержка нескольких инструментов для разработчиков и API. Puppet включает Bolt, мощный оркестратор задач для автоматизации ручных задач. Puppet хорошо интегрируется с Kubernetes и Docker. Подробнее про Puppet 3. Chef Chef, как средство в DevOps позволяет выполнять задачи управления конфигурацией на серверах и других вычислительных ресурсах. Chef для управления инфраструктурой использует агентов, таких как Chef Infra, для автоматизации конфигурации инфраструктуры. Использование Chef в процессах автоматизации просто. С помощью нескольких щелчков мыши можно включить и запустить несколько узлов. Для управления конфигурацией команды DevOps создают «рецепты». Рецепты содержат описание ресурсов и пакетов программных обеспечений, необходимых для настройки серверов. Chef использует Cookbooks, Chef servers и Nodes в качестве основных компонентов для настройки и автоматизации. Ведущие компании как Facebook, Slack и Spotify, использовали Chef в своих экосистемах. Особенности Chef - платформа автоматизации на базе Агента. Chef обрабатывает инфраструктуру как код. Поддерживает все операционные системы и интегрируется с любой облачной технологией. Chef обладает аналитикой Chef для мониторинга изменений, происходящих на сервере Chef. Подробнее про Chef 4. Saltstack Saltstack или просто соль - это масштабируемый инструмент управления конфигурацией и оркестровки. Команды DevOps используют Saltstack для управления ИТ-средами как центры обработки данных, посредством управляемой событиями оркестровки и удаленного выполнения конфигураций. Структура управления конфигурацией Salt использует состояния и файлы конфигурации, чтобы показать, как выполняется выделение и развертывание ИТ-инфраструктуры. Файлы конфигурации описывают устанавливаемые пакеты инфраструктуры, запускаемые или останавливаемые службы, пользователей и процессы создания пользователей, а также многие другие необходимые задачи по выделению ИТ-среды. Особенности Платформа Salt Cloud для настройки ресурсов в облаке. Поддерживает управление узлами как на основе агентов, так и без агентов. Поддерживает операционные системы * NIX и Windows. 5. CFEngine CFEngine - это высокомасштабируемая платформа для автоматизированного управления ИТ-инфраструктурой. С помощью CFEngine команды могут выполнять физическое и виртуальное назначение ресурсов инфраструктуры, управление исправлениями, управление доступом, управление пользователями и безопасностью системы. Автономные агенты CFEngine постоянно работают для непрерывного мониторинга, устранения неполадок, обновления и восстановления ИТ-инфраструктуры. Непрерывная проверка системы и автоматизированное восстановление в CFEngine гарантирует надежность и согласованность инфраструктуры. Особенности Высокая гибкость из-за схемы конфигурации «написать один раз использовать повторно». Имеет CFEngine Enterprise Mission Portal, центральную панель для мониторинга ИТ-систем в режиме реального времени. Использование облегченных агентов автоматизации в платформе WebScale для настройки нескольких узлов и управления ими. Заключение Лучший способ найти инструменты для ваших потребностей - попробовать их. То, что работает для других, может не сработать для вас, поэтому попробуйте их чтобы увидеть, как работает, как помогает вашей организации обеспечить согласованность и безопасность конфигурации.
img
Для устранения неполадок мы должны пройти путь от нижней части модели OSI к верхней. Для этого нам придется начать с протоколов, которые используются для коммутации. Будем думать о VLAN, транкинге, об агрегировании каналов и связующем дерева. Мы рассмотрим различные протоколы и различные сценарии, где "что-то работает" не так. Мы решим эти проблемы с помощью комбинации команд show и debug. Первая остановка ... проблемы с интерфейсом! Следующие статьи этого цикла: Траблшутинг STP (Spanning tree protocol) Устранение неисправностей EtherChannel Case #1 В этом примере мы имеем коммутатор в центре и два компьютера, которые подключены к нему. Каждый компьютер имеет свой IP-адрес, и они должны иметь возможность пинговать друг друга. Мы будем считать, что компьютеры настроены правильно и там нет никаких проблем. Интерфейс FastEthernet 0/1 находится в состоянии down. Это может указывать на проблему уровня 1, такую как неисправный кабель, неправильный кабель (кроссовер вместо прямого) или, возможно, нерабочая сетевая карта. Обратите внимание, что этот интерфейс работает в полудуплексном режиме. Если повезет, вы можете получить дуплексное сообщение через CDP, которое сообщит вам, что существует дуплексное несоответствие. Если вам не повезло, возможно, из-за этого ваш интерфейс переходит в состояние down. Имейте в виду, что гигабитный интерфейс не поддерживает halfduplex. SwitchA(config)#interface fa0/1 SwitchA(config-if)#duplex auto Изменим настройки интерфейса на duplex auto, чтобы коммутатор мог само настроиться. Может быть, нам повезет...но не в этот раз, пинг не работает. Интерфейс fa0 / 3, подключенный к хосту B, также не работает. После проверки кабелей и разъемов мы можем проверить ошибки дуплекса и скорости. Дуплекс включен в режим auto, так что это не является проблемой. Скорость была установлена на 10 Мбит, однако в то время как этот интерфейс является каналом Fast Ethernet (100 Мбит). SwitchA(config)#interface fa0/3 SwitchA(config-if)#speed auto Давайте переключим скорость на авто и посмотрим, что произойдет. Похоже, что несоответствие скорости привело к тому, что интерфейс перешел в состояние down. Изменение его на auto-speed возвращает интерфейс в состояние up. Это то, что мы искали. Интерфейсы, с которыми мы работаем, оба показывают состояние up/up. По крайней мере, теперь мы знаем, что нет никаких ошибок в кабеле, скорости или дуплексе. Теперь наш пинг проходит. Первый урок усвоен: Проверьте свои интерфейсы и посмотрите, отображаются ли они как up/up. Case #2 Та же топология, но здесь другая проблема. Хост A не может пропинговать хост B. Мы начнем с проверки интерфейсов: Состояние интерфейса FastEthernet0/3 выглядит нормально, но что-то не так с интерфейсом FastEthernet 0/1. Давайте изучим его подробнее: Так так, мы видим сообщение err-disabled. Это уже дает нам понять, что проблема, где здесь (по крайней мере, это означает, что мы на что-то наткнулись). Используйте команду show interfaces status err-disabled, чтобы узнать, почему интерфейс перешел в режим error-disabled. Это сообщит нам, что причина-безопасность порта. Мы можем посмотреть на конфигурацию безопасности порта, и мы видим, что только 1 MAC-адрес разрешен. Последний MAC-адрес, который виден на интерфейсе - 000с.2928.5c6c. Выше мы видим, что интерфейс был настроен для обеспечения безопасности на другой MAC-адрес. Именно по этой причине порт перешел в режим err-disabled. SwitchA(config)#interface fa0/1 SwitchA(config-if)#no switchport port-security Давайте уберем port security, чтобы решить эту проблему. SwitchA(config)#interface fa0/1 SwitchA(config-if)#shutdown SwitchA(config-if)#no shutdown Главное, что вы не должны забыть сделать - это после очистки настройки от port security ваш интерфейс все еще находится в режиме err-disabled. Вам нужно выполнить команды отключения и включения порта (shutdown и no shutdown), чтобы он снова заработал! Консоль сообщает нам, что интерфейс теперь включен. Как мы видим эхо-запрос проходит между компьютерами. Проблема решена! Урок 2 усвоен: проверьте, находится ли интерфейс в состоянии err-disabled, и если да, то: а) проверьте, почему это произошло, и Б) решите проблему. Case #3 Давайте продолжим с другой проблемой. Та же топология, но опять проблема. Эти два компьютера не "видят" друг друга. Интерфейсы выглядят хорошо, никаких ошибок здесь нет. И так мы видим, что port security отключена на этом коммутаторе. На данный момент мы, по крайней мере, знаем, что нет никаких проблем с интерфейсом и port security не фильтрует никакие MAC-адреса. В данный момент это хорошая идея, чтобы проверить информацию о VLAN. Вы можете использовать команду show vlan, чтобы быстро проверить, к какой VLAN принадлежат интерфейсы. Как вы можете видеть, наши интерфейсы находятся не в одной и той же VLAN. SwitchA(config)#interface fa0/3 SwitchA(config-if)#switchport access vlan 1 Мы переместим интерфейс fa0/3 обратно в VLAN 1. Теперь оба компьютера находятся в одной VLAN. Проблема решена! Урок 3 усвоен: убедитесь, что интерфейсы находится в нужной VLAN. Case #4 Пришло время для другой проблемы! Наши два компьютера не пингуюся между собой. Вы теперь знаете, как выглядит неудачный пинг, поэтому скрин не будет публиковаться снова. Интерфейсы не показывают никаких ошибок. Мы изучим настройку VLAN. Вы видите, что FastEthernet 0/1 находится в VLAN 10, но мы нигде не видим FastEthernet 0/3. Вот возможные причины: Что-то не так с интерфейсом. Мы проверили и убедились, что это не так, потому что он показывает состояние up/up, поэтому он кажется активным. Интерфейс не в режиме access port, а в режиме trunk. Быстрый взгляд на информацию о коммутаторе показывает нам, что нам нужно знать. Мы убедились, что интерфейс fa0/3 находится в режиме trunk, а native VLAN - 1. Это означает, что всякий раз, когда хост B отправляет трафик и не использует маркировку 802.1 Q, наш трафик заканчивается в VLAN 1. SwitchA(config)#interface fa0/3 SwitchA(config-if)#switchport mode access SwitchA(config-if)#switchport access vlan 10 Мы включим fa0/3 в режим доступа и убедимся, что он находится в VLAN 10. Оба интерфейса теперь активны в VLAN 10. Возможно, лучше проверить информацию на коммутаторе. Теперь я могу отправить пинг с хоста а на хост Б...проблема решена! Урок 4 усвоен: убедитесь, что интерфейс находится в нужном режиме (доступ или магистральный режим). Case #5 Те же два компьютера, тот же коммутатор. Однако этот сценарий немного интереснее. Компьютеры не могут пинговать друг друга, поэтому давайте пройдемся по нашему списку "возможных" ошибок: Интерфейсы выглядят хорошо, up/up-это очень хорошо. Оба интерфейса находятся в VLAN 10, так что это тоже хорошо. Просто чтобы быть уверенным...там нет port security. Это очень интересная ситуация. Интерфейсы работают (в состоянии up/up), мы находимся в одной VLAN, и нет никакой защиты портов. Что еще может быть причиной "перекрытия" трафика? Ага! Это может быть не то, о чем нам может прийти в голову, но мы же можем использовать VACLs (VLAN access-list), чтобы разрешить или запретить трафик в пределах VLAN. Если вы устраняете неполадки коммутаторов, то необходимо проверить эту настройку, если все остальное кажется вам нормальным. В этом случае есть VACL, подключенный к VLAN 10, давайте проверим его. Есть два порядковых номера ... 10 и 20. Порядковый номер 10 соответствует access-list 1, и его задача состоит в том, чтобы отбросить трафик. Давайте посмотрим, что это за access-list 1: Не смущайтесь из-за заявления о разрешении здесь. Использование оператора permit в access-list означает, что он будет "соответствовать" подсети 192.168.1.0/24. Наши два компьютера используют IP-адреса из этого диапазона. Если он соответствует этому access-list, то VLAN access-map отбросит трафик. SwitchA(config)# vlan access-map BLOCKSTUFF 10 SwitchA(config-access-map)# action forward Давайте изменим действие на "forward" и посмотрим, решит ли оно нашу проблему. Ну вот, все работает. Урок 5 усвоен: если все остальное кажется нормальным, убедитесь, что нет никакого VACL! Case #6 Давайте продолжим урок 6 с другой топологией. Теперь вы знаете, что нам нужно сначала проверить интерфейсы, а затем VLAN. В этом примере у нас есть те же два компьютера, но теперь у нас есть два коммутатора. Пинг от Хост А к Хосту Б не работает, так с чего начнем поиск? Сначала мы проверим интерфейс fa0/1 на коммутаторе 1. Интерфейс запущен и работает, это switchport, назначенный для VLAN 10. Пока все выглядит неплохо. Port security не включен, так что нам не нужно беспокоиться об этом. Давайте проверим то же самое на коммутаторе 2. Интерфейс работает, и он был назначен на VLAN 10. В данный момент мы видим, что интерфейсы, "смотрящие" к компьютерам выглядят хорошо. В этот момент Вы могли бы сделать две вещи: Подключите другой компьютер к коммутатору 1 и назначьте его во VLAN 10. Посмотрите, можно ли общаться между компьютерами во VLAN 10, когда они подключены к одному коммутатору. Сделайте то же самое на коммутаторе 2. Проверьте интерфейсы между коммутатором 1 и коммутатором 2. Мы сконцентрируем свое внимание на интерфейсах между коммутатором 1 и коммутатором 2, потому что там много чего может пойти не так! Интерфейсы не показывают никаких проблем, время проверить информацию о switchport. Коммутатор A находится в магистральном режиме и использует инкапсуляцию ISL. Коммутатор B также находится в магистральном режиме, но использует инкапсуляцию 802.1Q. Имейте в виду, что (в зависимости от модели коммутатора) административный режим по умолчанию может быть dynamic auto. Два интерфейса, которые оба работают в dynamic auto режиме, станут портом доступа (access). Лучше всего самостоятельно переключить интерфейс в магистральный режим. В нашем случае оба интерфейса магистральные, так что это хорошо, но у нас есть несоответствие протокола инкапсуляции. SwitchA(config)#interface fa0/15 SwitchA(config-if)#switchport trunk encapsulation dot1q Мы изменим тип инкапсуляции, чтобы оба коммутатора использовали протокол 802.1Q. Проблема решена! И опять все работает. Урок 6 усвоен: убедитесь, что при настройке магистралей используется один и тот же протокол инкапсуляции. Case #7 Вот опять тот же сценарий. Сейчас рассмотрим еще кое-что, что важно проверить при решении проблем trunk. Предположим, мы проверили и убедились, что следующие элементы не вызывают никаких проблем: Интерфейсы (скорость/дуплекс). Безопасность портов. Конфигурация Switchport (назначение VLAN, интерфейс, настроенный в режиме доступа). К сожалению, эхо-запрос между компьютерами все еще не проходит. Давайте взглянем на интерфейсы fa0/15 на коммутаторах: Проверим, что оба интерфейса находятся в магистральном режиме и что мы используем один и тот же протокол инкапсуляции (802.1 Q). Здесь нет никаких проблем. Что-нибудь еще, что может пойти не так с этой магистральной связью? Да! Магистраль может быть работоспособной, но это не означает, что все VLAN разрешены по магистральному каналу связи. В приведенном выше примере вы видите, что разрешена только VLAN 20. SwitchA(config)#interface fa0/15 SwitchA(config-if)#switchport trunk allowed vlan all SwitchB(config)#interface fa0/15 SwitchB(config-if)#switchport trunk allowed vlan all Давайте позволим всем VLAN пройти магистраль. По магистральной линии может передаваться трафик VLAN 10 между двумя коммутаторами. В результате пинг идет между компьютерами....еще одна проблема решена! Урок 7 усвоен: всегда проверяйте, разрешает ли магистраль все VLAN или нет. Case #8 Вот вам новый сценарий. Два компьютера, имеют разные IP-адреса. Коммутатор - это многоуровневый коммутатор. Поскольку компьютеры находятся в разных подсетях, нам приходится беспокоиться о маршрутизации. Мы видим, что два компьютера не могут связаться друг с другом. С чего мы должны начать устранение неполадок? Это статья не о настройке windows, но нам нужно обратить внимание на наши хосты. Поскольку компьютеры должны "выйти из своей собственной подсети", мы должны проверить, что IP-адрес шлюза по умолчанию в порядке и доступен. Хост А может достичь шлюза по умолчанию, поэтому мы, по крайней мере, знаем, что хост А работает нормально. Вот IP-конфигурация хоста B. Давайте проверим доступность шлюза по умолчанию! Здесь тоже все работает. Мы знаем, что компьютеры рабочие, потому что они знают, как выйти из своей собственной подсети, и шлюз по умолчанию доступен. Пора проверить коммутатор. Как мы видим, что хост А находится в VLAN 10 и хост B находится в VLAN 20. Мы не проверяли, включены ли интерфейсы, потому что мы можем пинговать IP-адреса шлюза по умолчанию. Это говорит о том, что fa0/1 и fa0/3 работают, но мы не знаем, к какой VLAN они принадлежат. Были сконфигурированы два интерфейса SVI. Это IP-адреса, которые компьютеры используют в качестве шлюза по умолчанию. Так почему же наш коммутатор не маршрутизирует трафик? Наличие IP-адресов на интерфейсах не означает автоматическую маршрутизацию трафика. Для этого нам потребуется таблица маршрутизации. Этот коммутатор не имеет SwitchA(config)#ip routing Давайте включим маршрутизацию на этом коммутаторе. Давайте сделаем так, чтобы это выглядело получше. Теперь коммутатор знает, куда перенаправлять IP-пакеты на этом коммутаторе. Вот так...теперь два компьютера могут достучаться друг до друга! Проблема решена! Урок 8 усвоен: если вы используете многоуровневый коммутатор для маршрутизации interVLAN, убедитесь, что интерфейсы SVI настроены правильно и что маршрутизация включена. Мы рассмотрели наиболее распространенные ошибки, которые могут произойти с нашими интерфейсами, VLAN, транками и проблемами маршрутизации при использовании многоуровневых коммутаторов. В следующей статье мы рассмотрим связующее дерево. Spanning-tree-довольно надежный протокол, но есть ряд вещей, которые могут пойти не так, как, вы ожидаете. Кроме того, из-за неправильной настройки могут произойти некоторые странные вещи...давайте рассмотрим траблшутинг STP в следующей статье.
img
Всем привет! Мы уже рассказывали про TCP и UDP порты, и вы уже знаете, что это сущность, которая определяет конкретный процесс, приложение или тип сетевого сервиса. Сегодня мы расскажем, как вывести список и затем наблюдать за работой TCP/UDP портов в Linux. Поехали! Список всех открытых портов при помощи команды netstat Это просто. Тут мы используем либо команду netstat. Да, так просто, всего одна строчка и все у нас перед глазами: $ sudo netstat –tulpn Тут мы можем увидеть какие порты находятся в состоянии прослушивания (Listen). Также просмотреть прослушиваемые порты можно при помощи утилиты lsof – как это сделать можно прочесть в нашей статье. Также мы использовали следующие флаги: t - выводит список портов TCP. u - выводит список портов UDP. l - выводит только слушающие (Listen) сокеты. n - показывает номер порта. p - показывает имя процесса или программы. Список всех открытых портов при помощи команды ss Тут все аналогично, кроме того, что теперь используем команду ss вместо netstat $ sudo ss -tulpn TCP и UDP порты в режиме реального времени И тут тоже все просто – для просмотра портов TCP и UDP в режиме реального времени нужно запустить netstat или ss с помощью утилиты watch. $ sudo watch netstat -tulpn Или $ sudo watch ss -tulpn
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59