Первым делом нужно извлечь образ Docker ESPHome из Docker Hub (онлайн).
docker pull esphome/esphome
Затем запустите мастер ESPHome. Этот мастер спросит вас о типе вашего устройства, имени вашего устройства, ваших учетных данных Wi-Fi и, наконец, сгенерирует для вас файл yaml, содержащий все конфигурации.
docker run --rm -v "${PWD}":/config -it esphome/esphome wizard stl.yaml
dmesg | grep ttyUSB
docker run --rm -v "${PWD}":/config --device=/dev/ttyUSB1 -it esphome/esphome run stl.yaml
python3 --version
pip3 install wheel esphome
pip3 install --user esphome
esphome wizard stl-python.yaml
esphome run stl-python.yaml
Вернуться к началу
OpenWrt Project — это операционная система Linux, предназначенная для встраиваемых устройств. Вместо того, чтобы пытаться создать единую статическую прошивку, OpenWrt предоставляет полностью доступную для записи файловую систему с управлением пакетами. В основном он используется во встроенных устройствах для маршрутизации сетевого трафика.
Загрузите соответствующий образ OpenWrt для вашего Raspberry PI, перейдя по ссылке выше.
Raspberry Pi Imager — это быстрый и простой способ установить ОС Raspberry Pi и другие операционные системы на карту microSD, готовую к использованию с Raspberry Pi.
Плата маршрутизатора Raspberry Pi для модуля CM4 (стоимость: 55 долларов США) — это плата расширения на основе вычислительного модуля Raspberry Pi 4. Она обеспечивает Raspberry Pi CM4 двумя полноскоростными гигабитными сетевыми портами и обеспечивает лучшую производительность, меньшую загрузку процессора и более высокую стабильность. долго работают по сравнению с сетевой картой USB. Он совместим с ОС Raspberry Pi, Ubuntu Server и другими системами Raspberry Pi.
Плата маршрутизатора Raspberry Pi для модуля CM4
Технические характеристики:
Вернуться к началу
Сторожевой таймер (WDT) — это таймер, который контролирует программы микроконтроллера (MCU), чтобы определить, вышли ли они из-под контроля или перестали работать.
Чтобы включить сторожевой таймер, вам необходимо изменить параметры загрузки, добавив dtparam=watchdog=on в /boot/config.txt с помощью текстового редактора, такого как nano, vim, gedit и т. д. Кроме того, установите пакет сторожевого таймера и включите его запуск по адресу запускать. Кроме того, обязательно перезагрузите Raspberry Pi, чтобы эти настройки вступили в силу.
pi@raspberrypi:~ $ sudo apt install watchdog
pi@raspberrypi:~ $sudo systemctl enable watchdog
Файл конфигурации для сторожевого таймера можно найти в /etc/watchdog.conf .
max-load-1 = 24
watchdog-device = /dev/watchdog
realtime = yes
priority = 1
Чтобы запустить службу WTD:
pi@raspberrypi:~ $ sudo systemctl start watchdog
Проверьте статус сторожевого таймера:
pi@raspberrypi:~ $ sudo systemctl status watchdog
Чтобы остановить службу:
pi@raspberrypi:~ $ sudo systemctl stop watchdog
Вернуться к началу
Чехлы Raspberry Pi от Pi-Shop в США
Чехлы Raspberry Pi от The Pi Hut
Плата расширения X825 представляет собой комплексное решение для хранения новейшей модели Raspberry Pi 4 Model B и поддерживает 2,5-дюймовые жесткие диски SATA (HDD) или твердотельные накопители (SSD) емкостью до 4 ТБ.
Переходник Sabrent M.2 SSD [NGFF] на USB 3.0/SATA III в алюминиевом корпусе 2,5 дюйма
Samsung 970 EVO 250 ГБ — твердотельный накопитель NVMe PCIe M.2 2280
Внутренний твердотельный накопитель Western Digital WD Blue SN550 NVMe емкостью 1 ТБ
Портативный твердотельный накопитель SAMSUNG T5
Samsung SSD 860 EVO 250 ГБ mSATA Внутренний твердотельный накопитель
Твердотельный накопитель Samsung 850 EVO 120 ГБ mSATA
Вернуться к началу
Grafana — это аналитическая платформа, которая позволяет вам запрашивать и визуализировать данные, а затем создавать информационные панели и делиться ими на основе ваших визуализаций. Легко визуализируйте метрики, журналы и трассировки из нескольких источников, таких как Prometheus, Loki, Elasticsearch, InfluxDB, Postgres, Fluentd, Fluentbit, Logstash и многих других.
Начало работы с Графаной
Сообщество Графана
Обучение профессиональным услугам Grafana | Графана Лабс
Обучение Grafana Pro AWS | Графана Лабс
Учебники по Графане
Лучшие курсы по Grafana на Udemy
Онлайн-курсы обучения Grafana | LinkedIn Обучение
Курсы обучения Grafana - NobleProg
Настройка Grafana для визуализации нашего курса по метрикам на Coursera
Grafana Cloud — это составная платформа наблюдения, интегрирующая метрики, трассировки и журналы с Grafana. Используйте лучшее программное обеспечение для наблюдения с открытым исходным кодом, включая Prometheus, Loki и Tempo, без затрат на установку, обслуживание и масштабирование вашего стека наблюдения.
Облачная интеграция Grafana. Источник: Графана
Grafana Enterprise — это сервис, включающий функции, обеспечивающие лучшую масштабируемость, совместную работу, операции и управление в самоуправляемой среде.
Корпоративный стек Grafana. Источник: Графана
Grafana Tempo — это крупномасштабный распределенный тарсинг с открытым исходным кодом. Tempo экономически эффективен, для работы требуется только хранилище объектов и глубоко интегрирован с Grafana, Loki и Prometheus.
Grafana MetricTank — это многопользовательская платформа временных рядов для Graphite, разработанная Grafana Labs. MetricTank обеспечивает высокую доступность (HA) и эффективное долгосрочное хранение, извлечение и обработку для крупномасштабных сред.
Grafana Tanka — это надежная утилита настройки вашего кластера Kubernetes, работающая на языке Jsonnet.
Grafana Loki — это горизонтально масштабируемая, высокодоступная (HA) многопользовательская система агрегирования журналов, вдохновленная Prometheus.
Cortex — это проект, который позволяет пользователям запрашивать метрики со многих серверов Prometheus в одном месте, без каких-либо пробелов в таблицах из-за сбоя сервера. Кроме того, Cortex позволяет хранить метрики Prometheus для долгосрочного планирования мощности и анализа производительности.
Graphite — это система мониторинга с открытым исходным кодом.
Вернуться к началу
cURL — это проект компьютерного программного обеспечения, предоставляющий библиотеку и инструмент командной строки для передачи данных с использованием различных сетевых протоколов (HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP LDAPS, MQTT, POP3, POP3S, RTMP). , RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP или SMTPS). cURL также используется в автомобилях, телевизорах, маршрутизаторах, принтерах, аудиооборудовании, мобильных телефонах, планшетах, приставках, медиаплеерах и является механизмом передачи данных через Интернет для тысяч программных приложений в более чем десяти миллиардах установок.
cURL Fuzzer — это проверка качества проекта Curl.
DoH — это автономное приложение для разрешения и поиска имен DoH (DNS-over-HTTPS).
Authelia — это высокодоступный сервер аутентификации с открытым исходным кодом, обеспечивающий возможность единого входа и двухфакторную аутентификацию для приложений, работающих под управлением NGINX.
nginx(engine x) — HTTP- и обратный прокси-сервер, почтовый прокси-сервер и универсальный прокси-сервер TCP/UDP, первоначально написанный Игорем Сысоевым.
Proxmox Virtual Environment (VE) — это полноценная платформа с открытым исходным кодом для виртуализации предприятия. Оно включает в себя встроенный веб-интерфейс, позволяющий легко управлять виртуальными машинами и контейнерами, программно-определяемое хранилище и сети, кластеризацию с высокой доступностью и множество готовых инструментов в одном решении.
Wireshark — очень популярный анализатор сетевых протоколов, который обычно используется для устранения неполадок в сети, анализа и разработки протоколов связи. Узнайте больше о других полезных доступных инструментах Wireshark.
HTTPie — это HTTP-клиент командной строки. Его цель — сделать взаимодействие CLI с веб-сервисами максимально удобным для человека. HTTPie предназначен для тестирования, отладки и взаимодействия с API и HTTP-серверами.
HTTPStat — это инструмент, который визуализирует статистику скручивания в простом формате.
Wuzz — это интерактивный инструмент командной строки для проверки HTTP. Его можно использовать для проверки/изменения запросов, скопированных из сетевого инспектора браузера, с помощью функции «копировать как cURL».
Websocat — это клиент командной строки для WebSockets, такой как netcat (или Curl) для ws://, с расширенными функциями, подобными socat.
• Connection: In networking, a connection refers to pieces of related information that are transferred through a network. This generally infers that a connection is built before the data transfer (by following the procedures laid out in a protocol) and then is deconstructed at the at the end of the data transfer.
• Packet: A packet is, generally speaking, the most basic unit that is transferred over a network. When communicating over a network, packets are the envelopes that carry your data (in pieces) from one end point to the other.
Пакеты имеют заголовок, который содержит информацию о пакете, включая источник и пункт назначения, временные метки и сетевые переходы. Основная часть пакета содержит фактически передаваемые данные. Иногда его называют телом или полезной нагрузкой.
• Network Interface: A network interface can refer to any kind of software interface to networking hardware. For instance, if you have two network cards in your computer, you can control and configure each network interface associated with them individually.
Сетевой интерфейс может быть связан с физическим устройством или может быть представлением виртуального интерфейса. Примером этого является устройство «обратной петли», которое представляет собой виртуальный интерфейс к локальному компьютеру.
• LAN: LAN stands for "local area network". It refers to a network or a portion of a network that is not publicly accessible to the greater internet. A home or office network is an example of a LAN.
• WAN: WAN stands for "wide area network". It means a network that is much more extensive than a LAN. While WAN is the relevant term to use to describe large, dispersed networks in general, it is usually meant to mean the internet, as a whole.
Если интерфейс подключен к глобальной сети, обычно предполагается, что он доступен через Интернет.
• Protocol: A protocol is a set of rules and standards that basically define a language that devices can use to communicate. There are a great number of protocols in use extensively in networking, and they are often implemented in different layers.
Некоторые протоколы низкого уровня — TCP, UDP, IP и ICMP. Некоторыми знакомыми примерами протоколов прикладного уровня, построенных на этих протоколах нижнего уровня, являются HTTP (для доступа к веб-контенту), SSH, TLS/SSL и FTP.
• Port: A port is an address on a single machine that can be tied to a specific piece of software. It is not a physical interface or location, but it allows your server to be able to communicate using more than one application.
• Firewall: A firewall is a program that decides whether traffic coming into a server or going out should be allowed. A firewall usually works by creating rules for which type of traffic is acceptable on which ports. Generally, firewalls block ports that are not used by a specific application on a server.
• NAT: Network address translation is a way to translate requests that are incoming into a routing server to the relevant devices or servers that it knows about in the LAN. This is usually implemented in physical LANs as a way to route requests through one IP address to the necessary backend servers.
• VPN: Virtual private network is a means of connecting separate LANs through the internet, while maintaining privacy. This is used as a means of connecting remote systems as if they were on a local network, often for security reasons.
While networking is often discussed in terms of topology in a horizontal way, between hosts, its implementation is layered in a vertical fashion throughout a computer or network. This means is that there are multiple technologies and protocols that are built on top of each other in order for communication to function more easily. Each successive, higher layer abstracts the raw data a little bit more, and makes it simpler to use for applications and users. It also allows you to leverage lower layers in new ways without having to invest the time and energy to develop the protocols and applications that handle those types of traffic.
As data is sent out of one machine, it begins at the top of the stack and filters downwards. At the lowest level, actual transmission to another machine takes place. At this point, the data travels back up through the layers of the other computer. Each layer has the ability to add its own "wrapper" around the data that it receives from the adjacent layer, which will help the layers that come after decide what to do with the data when it is passed off.
One method of talking about the different layers of network communication is the OSI model. OSI stands for Open Systems Interconnect.This model defines seven separate layers. The layers in this model are:
• Application: The application layer is the layer that the users and user-applications most often interact with. Network communication is discussed in terms of availability of resources, partners to communicate with, and data synchronization.
• Presentation: The presentation layer is responsible for mapping resources and creating context. It is used to translate lower level networking data into data that applications expect to see.
• Session: The session layer is a connection handler. It creates, maintains, and destroys connections between nodes in a persistent way.
• Transport: The transport layer is responsible for handing the layers above it a reliable connection. In this context, reliable refers to the ability to verify that a piece of data was received intact at the other end of the connection. This layer can resend information that has been dropped or corrupted and can acknowledge the receipt of data to remote computers.
• Network: The network layer is used to route data between different nodes on the network. It uses addresses to be able to tell which computer to send information to. This layer can also break apart larger messages into smaller chunks to be reassembled on the opposite end.
• Data Link: This layer is implemented as a method of establishing and maintaining reliable links between different nodes or devices on a network using existing physical connections.
• Physical: The physical layer is responsible for handling the actual physical devices that are used to make a connection. This layer involves the bare software that manages physical connections as well as the hardware itself (like Ethernet).
Модель TCP/IP, более известная как набор протоколов Интернета, представляет собой еще одну многоуровневую модель, более простую и получившую широкое распространение. Она определяет четыре отдельных уровня, некоторые из которых перекрываются с моделью OSI:
• Application: In this model, the application layer is responsible for creating and transmitting user data between applications. The applications can be on remote systems, and should appear to operate as if locally to the end user.
Связь происходит между одноранговыми сетями.
• Transport: The transport layer is responsible for communication between processes. This level of networking utilizes ports to address different services. It can build up unreliable or reliable connections depending on the type of protocol used.
• Internet: The internet layer is used to transport data from node to node in a network. This layer is aware of the endpoints of the connections, but does not worry about the actual connection needed to get from one place to another. IP addresses are defined in this layer as a way of reaching remote systems in an addressable manner.
• Link: The link layer implements the actual topology of the local network that allows the internet layer to present an addressable interface. It establishes connections between neighboring nodes to send data.
Интерфейсы — это сетевые точки связи вашего компьютера. Каждый интерфейс связан с физическим или виртуальным сетевым устройством. Как правило, ваш сервер будет иметь один настраиваемый сетевой интерфейс для каждой имеющейся у вас карты Ethernet или беспроводного Интернета. Кроме того, он определит виртуальный сетевой интерфейс, называемый «петлевым» или интерфейсом локального хоста. Он используется в качестве интерфейса для подключения приложений и процессов на одном компьютере к другим приложениям и процессам. Во многих инструментах это называется интерфейсом «lo».
Сеть работает по принципу совмещения нескольких различных протоколов друг над другом. Таким образом, один фрагмент данных может передаваться с использованием нескольких протоколов, инкапсулированных друг в друга.
Управление доступом к среде передачи (MAC) — это протокол связи, который используется для различения конкретных устройств. В процессе производства каждое устройство должно получить уникальный MAC-адрес, который отличает его от любого другого устройства в Интернете. Адресация оборудования по MAC-адресу позволяет ссылаться на устройство по уникальному значению, даже если программное обеспечение верхнего уровня может изменить имя этого конкретного устройства во время работы. Управление доступом к среде передачи — один из немногих протоколов канального уровня, с которым вы, вероятно, будете регулярно взаимодействовать.
Протокол IP является одним из основных протоколов, обеспечивающих работу Интернета. IP-адреса уникальны в каждой сети и позволяют машинам обращаться друг к другу в сети. Он реализован на интернет-уровне в модели IP/TCP. Сети могут быть связаны друг с другом, но трафик должен маршрутизироваться при пересечении границ сети. Этот протокол предполагает ненадежную сеть и несколько путей к одному и тому же пункту назначения, между которыми он может динамически переключаться. Существует несколько различных реализаций протокола. Наиболее распространенной реализацией сегодня является IPv4, хотя популярность IPv6 в качестве альтернативы растет из-за нехватки доступных адресов IPv4 и улучшения возможностей протоколов.
ICMP: протокол сообщений управления Интернетом используется для отправки сообщений между устройствами для указания условий доступности или ошибок. Эти пакеты используются в различных инструментах сетевой диагностики, таких как ping и Traceroute. Обычно пакеты ICMP передаются, когда пакет другого типа сталкивается с какой-либо проблемой. По сути, они используются в качестве механизма обратной связи для сетевых коммуникаций.
TCP: протокол управления передачей реализован на транспортном уровне модели IP/TCP и используется для установления надежных соединений. TCP — один из протоколов, который инкапсулирует данные в пакеты. Затем он передает их на удаленный конец соединения, используя методы, доступные на нижних уровнях. С другой стороны, он может проверять наличие ошибок, запрашивать повторную отправку определенных фрагментов и повторно собирать информацию в одну логическую часть для отправки на прикладной уровень. Протокол создает соединение перед передачей данных, используя систему, называемую трехэтапным рукопожатием. Это способ для двух сторон связи подтвердить запрос и согласовать метод обеспечения надежности данных. После отправки данных соединение разрывается с помощью аналогичного четырехэтапного рукопожатия. TCP — это протокол, предпочтительный для многих наиболее популярных способов использования Интернета, включая WWW, FTP, SSH и электронную почту. Можно с уверенностью сказать, что Интернет, который мы знаем сегодня, не существовал бы без TCP.
UDP: Протокол пользовательских дейтаграмм является популярным сопутствующим протоколом TCP, а также реализован на транспортном уровне. Фундаментальное различие между UDP и TCP заключается в том, что UDP обеспечивает ненадежную передачу данных. Он не проверяет, были ли получены данные на другом конце соединения. Это может показаться плохим, и во многих случаях это так. Однако для некоторых функций это также чрезвычайно важно. Не требуется ждать подтверждения о получении данных и принудительно пересылать данные, UDP намного быстрее TCP. Он не устанавливает соединение с удаленным хостом, он просто передает данные этому хосту и не заботится о том, приняты они или нет. Поскольку UDP — это простая транзакция, он полезен для простых коммуникаций, таких как запрос сетевых ресурсов. Он также не поддерживает состояние, что делает его идеальным для передачи данных с одной машины множеству клиентов в реальном времени. Это делает его идеальным для VOIP, игр и других приложений, которые не допускают задержек.
HTTP: Протокол передачи гипертекста — это протокол, определенный на уровне приложений, который формирует основу для связи в Интернете. HTTP определяет ряд функций, которые сообщают удаленной системе, что вы запрашиваете. Например, GET, POST и DELETE взаимодействуют с запрошенными данными по-разному.
FTP: протокол передачи файлов находится на уровне приложений и обеспечивает способ передачи полных файлов с одного хоста на другой. Он по своей сути небезопасен, поэтому его не рекомендуется использовать в какой-либо внешней сети, если только он не реализован как общедоступный ресурс, доступный только для загрузки.
DNS: Система доменных имен — это протокол прикладного уровня, используемый для обеспечения удобного для пользователя механизма именования интернет-ресурсов. Это то, что связывает доменное имя с IP-адресом и позволяет вам получать доступ к сайтам по имени в вашем браузере.
SSH: Безопасная оболочка — это зашифрованный протокол, реализованный на уровне приложения, который можно использовать для безопасного взаимодействия с удаленным сервером. На основе этого протокола построено множество дополнительных технологий из-за его сквозного шифрования и повсеместного распространения. Есть много других протоколов, которые мы не рассмотрели и которые не менее важны. Тем не менее, это должно дать вам хороший обзор некоторых фундаментальных технологий, которые делают возможным Интернет и сети.
REST (REpresentational State Transfer) — это архитектурный стиль, обеспечивающий стандарты между компьютерными системами в сети, упрощающий взаимодействие систем друг с другом.
JSON Web Token (JWT) — это компактное URL-безопасное средство представления претензий, подлежащих передаче между двумя сторонами. Утверждения в JWT кодируются как объект JSON, имеющий цифровую подпись с использованием веб-подписи JSON (JWS).
OAuth 2.0 — это платформа авторизации с открытым исходным кодом, которая позволяет приложениям получать ограниченный доступ к учетным записям пользователей в службах HTTP, таких как Amazon, Google, Facebook, Microsoft, Twitter GitHub и DigitalOcean. Он работает путем делегирования аутентификации пользователя службе, на которой размещена учетная запись пользователя, и разрешения сторонним приложениям доступа к учетной записи пользователя.
Вернуться к началу
Контейнерная архитектура. Источник: Containerd.io
Программа обучения Docker
Сертификация Docker Certified Associate (DCA)
Документация Docker | Документация Докера
Мастерская Докера
Курсы по Docker на Udemy
Курсы по Docker на Coursera
Курсы по Docker на edX
Курсы Docker по Linkedin Learning
Docker — это открытая платформа для разработки, доставки и запуска приложений. Docker позволяет отделить ваши приложения от инфраструктуры, чтобы вы могли быстро доставлять программное обеспечение, работая в сотрудничестве с поставщиками облачных технологий, Linux и Windows, включая Microsoft.
Docker Enterprise — это подписка, включающая программное обеспечение, поддерживаемую и сертифицированную контейнерную платформу для CentOS, Red Hat Enterprise Linux (RHEL), Ubuntu, SUSE Linux Enterprise Server (SLES), Oracle Linux и Windows Server 2016, а также для облачных провайдеров AWS и Лазурный. В ноябре 2019 года бизнес Docker Enterprise Platform был приобретен компанией Mirantis.
Docker Desktop — это приложение для компьютеров MacOS и Windows, предназначенное для создания и совместного использования контейнерных приложений и микросервисов. Docker Desktop обеспечивает скорость, выбор и безопасность, необходимые для разработки и доставки контейнерных приложений на рабочий стол. Docker Desktop включает приложение Docker, инструменты разработчика, Kubernetes и синхронизацию версий с производственными движками Docker Engine.
Docker Hub — крупнейшая в мире библиотека и сообщество образов контейнеров. Просмотрите более 100 000 образов контейнеров от поставщиков программного обеспечения, проектов с открытым исходным кодом и сообщества.
Docker Compose — это инструмент, разработанный для помощи в определении и совместном использовании многоконтейнерных приложений. С помощью Docker Compose вы можете создать файл YAML для определения сервисов и с помощью одной команды раскрутить или уничтожить все.
Docker Swarm — это собственная система кластеризации Docker. Swarm — это простой инструмент, который управляет кластером хостов Docker и представляет его как один «виртуальный» хост.
Dockerfile — это текстовый документ, содержащий все команды, которые пользователь может вызвать в командной строке для сборки образа. Используя сборку Docker, пользователи могут создать автоматизированную сборку, которая последовательно выполняет несколько инструкций командной строки.
Docker Containers — это стандартная единица программного обеспечения, которая упаковывает код и все его зависимости, чтобы приложение быстро и надежно запускалось из одной вычислительной среды в другую.
Docker Engine — это среда выполнения контейнера, работающая в различных операционных системах Linux (CentOS, Debian, Fedora, Oracle Linux, RHEL, SUSE и Ubuntu) и Windows Server. Docker создает простые инструменты и универсальный подход к упаковке, который объединяет все зависимости приложения внутри контейнера, который затем запускается на Docker Engine.
Docker Images — это легкий автономный исполняемый пакет программного обеспечения, который включает в себя все необходимое для запуска приложения: код, среду выполнения, системные инструменты, системные библиотеки и настройки. Образы имеют промежуточные слои, которые повышают возможность повторного использования, уменьшают использование диска и ускоряют сборку докера, позволяя кэшировать каждый шаг. Эти промежуточные слои не отображаются по умолчанию. РАЗМЕР — это совокупное пространство, занимаемое изображением и всеми его родительскими изображениями.
Docker Network — это сеть, которая отображает подробную информацию об одной или нескольких сетях.
Docker Daemon — это служба, запускаемая системной утилитой, а не пользователем вручную. Это упрощает автоматический запуск Docker при перезагрузке компьютера. Команда запуска Docker зависит от вашей операционной системы. В настоящее время он работает только в Linux, поскольку зависит от ряда функций ядра Linux, но есть несколько способов запустить Docker в MacOS и Windows, а также настроить утилиты операционной системы.
Docker Storage — это драйвер, управляющий хранением и управлением образов и контейнеров на вашем хосте Docker.
Kitematic — это простое приложение для управления контейнерами Docker на Mac, Linux и Windows, позволяющее вам управлять контейнерами приложений из графического пользовательского интерфейса (GUI).
Open Container Initiative — это открытая структура управления, специально созданная для создания открытых отраслевых стандартов в отношении форматов контейнеров и сред выполнения.
Buildah — это инструмент командной строки для создания образов Open Container Initiative (OCI). Его можно использовать с Docker, Podman, Kubernetes.
Podman — это собственный инструмент Linux с открытым исходным кодом, не требующий демонов, предназначенный для упрощения поиска, запуска, сборки, совместного использования и развертывания приложений с использованием контейнеров и образов контейнеров Open Containers Initiative (OCI). Podman предоставляет интерфейс командной строки (CLI), знакомый всем, кто использовал Docker Container Engine.
Containerd — это демон, который управляет полным жизненным циклом контейнера своей хост-системы: от передачи и хранения изображений до выполнения и контроля контейнера, низкоуровневого хранилища до сетевых подключений и многого другого. Он доступен для Linux и Windows.
Вернуться к началу
Kubernetes (K8s) — это система с открытым исходным кодом для автоматизации развертывания, масштабирования и управления контейнерными приложениями.
Получение сертификатов Kubernetes
Начало работы с Kubernetes на AWS
Kubernetes в Microsoft Azure
Введение в службу Azure Kubernetes
Azure Red Hat OpenShift
Начало работы с Google Cloud
Начало работы с Kubernetes в Red Hat
Начало работы с Kubernetes на IBM
Red Hat OpenShift в IBM Cloud
Включите виртуализацию OpenShift в Red Hat OpenShift
Основы YAML в Kubernetes
Elastic Cloud в Kubernetes
Докер и Кубернетес
Запуск Apache Spark в Kubernetes
Kubernetes в VMware vRealize Automation
VMware Tanzu Kubernetes Grid
Все способы работы VMware Tanzu с AWS
VMware Танзу Образование
Использование Ansible в облачной среде Kubernetes
Управление объектами Kubernetes (K8s) с помощью Ansible
Настройка кластера Kubernetes с использованием Vagrant и Ansible
Запуск MongoDB с Kubernetes
Кубернетес Fluentd
Понимание нового агента GitLab Kubernetes
Введение в локальный процесс с Kubernetes для Visual Studio 2019
Участники Kubernetes
KubeAcademy от VMware
Учебники по Kubernetes от Pulumi
Игровая площадка Kubernetes от Katacoda
Курс «Масштабируемые микросервисы с Kubernetes» от Udacity
Open Container Initiative — это открытая структура управления, специально созданная для создания открытых отраслевых стандартов в отношении форматов контейнеров и сред выполнения.
Buildah — это инструмент командной строки для создания образов Open Container Initiative (OCI). Его можно использовать с Docker, Podman, Kubernetes.
Podman — это собственный инструмент Linux с открытым исходным кодом, не требующий демонов, предназначенный для упрощения поиска, запуска, сборки, совместного использования и развертывания приложений с использованием контейнеров и образов контейнеров Open Containers Initiative (OCI). Podman предоставляет интерфейс командной строки (CLI), знакомый всем, кто использовал Docker Container Engine.
Containerd — это демон, который управляет полным жизненным циклом контейнера своей хост-системы: от передачи и хранения изображений до выполнения и контроля контейнера, низкоуровневого хранилища до сетевых подключений и многого другого. Он доступен для Linux и Windows.
Google Kubernetes Engine (GKE) — это управляемая, готовая к работе среда для запуска контейнерных приложений.
Служба Azure Kubernetes (AKS) — это бессерверная служба Kubernetes с интегрированным опытом непрерывной интеграции и непрерывной доставки (CI/CD), а также безопасностью и управлением корпоративного уровня. Объедините свои группы разработки и эксплуатации на единой платформе, чтобы быстро создавать, доставлять и уверенно масштабировать приложения.
Amazon EKS — это инструмент, который запускает экземпляры плоскости управления Kubernetes в нескольких зонах доступности для обеспечения высокой доступности.
Контроллеры AWS для Kubernetes (ACK) — это новый инструмент, который позволяет напрямую управлять сервисами AWS из Kubernetes. ACK упрощает создание масштабируемых и высокодоступных приложений Kubernetes, использующих сервисы AWS.
Container Engine for Kubernetes (OKE) — это служба оркестрации контейнеров, управляемая Oracle, которая позволяет сократить время и затраты на создание современных облачных приложений. В отличие от большинства других поставщиков, Oracle Cloud Infrastructure предоставляет Container Engine для Kubernetes в качестве бесплатного сервиса, который работает на более производительных и недорогих вычислениях.
Anthos — это современная платформа управления приложениями, которая обеспечивает согласованную разработку и эксплуатацию в облачных и локальных средах.
Red Hat Openshift — это полностью управляемая платформа Kubernetes, которая обеспечивает основу для локальных, гибридных и мультиоблачных развертываний.
OKD — это дистрибутив Kubernetes, распространяемый сообществом и оптимизированный для непрерывной разработки приложений и многопользовательского развертывания. OKD добавляет к Kubernetes инструменты, ориентированные на разработчиков и операции, чтобы обеспечить быструю разработку приложений, простоту развертывания и масштабирования, а также долгосрочное обслуживание жизненного цикла для малых и больших команд.
Odo — это быстрый, итеративный и простой инструмент CLI для разработчиков, которые пишут, создают и развертывают приложения в Kubernetes и OpenShift.
Kata Оператор — это оператор, выполняющий управление жизненным циклом (установка/обновление/удаление) Kata Runtime в Openshift, а также в кластере Kubernetes.
Thanos — это набор компонентов, которые можно объединить в высокодоступную метрическую систему с неограниченной емкостью хранилища, которую можно легко добавить поверх существующих развертываний Prometheus.
OpenShift Hive — это оператор, который работает как сервис поверх Kubernetes/OpenShift. Службу Hive можно использовать для подготовки и выполнения первоначальной настройки кластеров OpenShift 4.
Rook — это инструмент, который превращает распределенные системы хранения в самоуправляемые, самомасштабируемые и самовосстанавливающиеся службы хранения. Он автоматизирует задачи администратора хранилища: развертывание, загрузку, настройку, предоставление ресурсов, масштабирование, обновление, миграцию, аварийное восстановление, мониторинг и управление ресурсами.
VMware Tanzu — это централизованная платформа управления, обеспечивающая согласованную работу и защиту вашей инфраструктуры Kubernetes и современных приложений в нескольких командах и частных/публичных облаках.
Kubespray — это инструмент, сочетающий Kubernetes и Ansible для простой установки кластеров Kubernetes, которые можно развернуть на AWS, GCE, Azure, OpenStack, vSphere, Packet (голое железо), Oracle Cloud Infrastructure (экспериментальная) или Baremetal.
KubeInit предоставляет сборники сценариев и роли Ansible для развертывания и настройки нескольких дистрибутивов Kubernetes.
Rancher — это полный набор программного обеспечения для команд, внедряющих контейнеры. Он решает проблемы эксплуатации и безопасности, связанные с управлением несколькими кластерами Kubernetes, а также предоставляет командам DevOps интегрированные инструменты для выполнения контейнерных рабочих нагрузок.
K3s — это сертифицированный дистрибутив Kubernetes с высокой доступностью, предназначенный для производственных рабочих нагрузок в автоматических, удаленных местах с ограниченными ресурсами или внутри устройств Интернета вещей.
Helm — это инструмент диспетчера пакетов Kubernetes, который упрощает установку приложений Kubernetes и управление ими.
Knative — это платформа на базе Kubernetes для создания, развертывания и управления современными бессерверными рабочими нагрузками. Knative берет на себя операционные накладные расходы на работу в сети, автоматическое масштабирование (даже до нуля) и отслеживание версий.
KubeFlow — это инструмент, предназначенный для упрощения, переносимости и масштабируемости развертывания рабочих процессов машинного обучения (ML) в Kubernetes.
Etcd — это распределенное хранилище значений ключей, которое обеспечивает надежный способ хранения данных, к которым должен иметь доступ распределенная система или кластер машин. Etcd используется в качестве бэкэнда для обнаружения сервисов и хранит состояние и конфигурацию кластера для Kubernetes.
OpenEBS — это инструмент на основе Kubernetes для создания приложений с отслеживанием состояния с использованием хранилища, подключенного к контейнеру.
Интерфейс хранилища контейнеров (CSI) — это API, который позволяет платформам оркестрации контейнеров, таким как Kubernetes, беспрепятственно взаимодействовать с хранимыми данными через плагин.
MicroK8s — это инструмент, предоставляющий все возможности Kubernetes. Полностью контейнеризованное развертывание со сжатыми беспроводными обновлениями для сверхнадежных операций. Он поддерживается в Linux, Windows и MacOS.
Charmed Kubernetes — это хорошо интегрированная готовая совместимая платформа Kubernetes, оптимизированная для ваших мультиоблачных сред, разработанная Canonical.
Приложение Grafana Kubernetes — это плата, которая позволяет отслеживать производительность вашего кластера Kubernetes. Он включает в себя 4 панели мониторинга: кластер, узел, модуль/контейнер и развертывание. Он позволяет автоматически развертывать необходимые средства экспорта Prometheus и конфигурацию очистки по умолчанию, которую можно использовать при развертывании Prometheus в кластере.
KubeEdge — это система с открытым исходным кодом, предназначенная для расширения собственных возможностей оркестрации контейнерных приложений на хостах Edge. Она построена на основе Kubernetes и обеспечивает фундаментальную поддержку инфраструктуры для сети и приложений. развертывание и синхронизация метаданных между облаком и периферией.
Lens — самая мощная IDE для людей, которым ежедневно приходится иметь дело с кластерами Kubernetes. Он поддерживает операционные системы MacOS, Windows и Linux.
Flux CD — это инструмент, который автоматически гарантирует, что состояние вашего кластера Kubernetes соответствует конфигурации, которую вы указали в Git. Он использует оператор в кластере для запуска развертываний внутри Kubernetes, а это означает, что вам не нужен отдельный инструмент непрерывной доставки.
Platform9 Managed Kubernetes (PMK) — это Kubernetes как услуга, обеспечивающая полностью автоматизированные операции второго дня с соблюдением соглашения об уровне обслуживания 99,9 % в любой среде, будь то центры обработки данных, общедоступные облака или периферийные устройства.
Вернуться к началу
Пособие по разработке Mac Ansible от Джеффа Гирлинга
Ansible — это простой механизм автоматизации ИТ, который автоматизирует предоставление облачных услуг, управление конфигурацией, развертывание приложений, оркестровку внутри служб и многие другие ИТ-потребности. Он использует очень простой язык (YAML в форме Ansible Playbooks), который позволяет вам описывать ваши задачи по автоматизации таким образом, который приближается к простому английскому языку. Anisble работает в Linux (Red Hat EnterPrise Linux(RHEL) и Ubuntu) и Microsoft Windows.
Обучение Red Hat для Ansible
Лучшие онлайн-курсы по Ansible от Udemy
Введение в Ansible: основы Coursera
Изучение основ Ansible на Pluralsight
Представляем Red Hat Ansible Automation Platform 2.1
Анзибль-документация
Руководство пользователя Ansible Galaxy
Варианты использования Ansible
Анзибль-интеграция
Обзор коллекций Ansible
Работа с плейбуками
Примеры Ansible для DevOps, Джефф Гирлинг
Начало работы: написание первой книги пьес — Ansible
Работа с модулями в Ansible
Лучшие практики Ansible: роли и модули
Работа с инструментами командной строки для Ansible
Шифрование контента с помощью Ansible Vault
Использование хранилища в плейбуках с помощью Ansible
Использование Ansible с Azure
Настройка Ansible на виртуальной машине Azure
Как использовать Ansible: шпаргалка по Ansible от DigitalOcean
Введение в Ansible на Linode | Пространственные лаборатории
Ansible Automation Hub — это официальное место, где можно найти и загрузить поддерживаемые коллекции, включенные в подписку на Ansible Automation Platform. Эти коллекции контента содержат модули, плагины, роли и пьесы в загружаемом пакете.
Коллекции - это формат распространения для Ansible Content, который может включать в себя пьесы, роли, модули и плагины. По мере того, как модули перемещаются из основного репозитория в коллекции, документация модуля перейдет на страницы сбора.
Ansible Lint-это инструмент командной строки для Linting Playbooks, ролей и коллекций, направленных на любых пользователей Ansible. Его главная цель - содействовать проверенной практике, закономерности и поведению при этом избежать общих ловушек, которые могут легко привести к ошибкам или усложнять код.
Ansible cmdb - это инструмент, который принимает вывод сбора фактов Ansible и преобразует его в статическую страницу обзора HTML, содержащую информацию о конфигурации системы.
Графер инвентаризации визуально отображает иерархии инвентаризации инвентаризации и на каком уровне переменная определяется в инвентаре.
Ansible Playbook Grapher - это инструмент командной строки для создания графика, представляющего ваши задачи и роли Playbook Ansible.
Ansible Shell-это интерактивная оболочка для Ansible со встроенным завершением вкладки для всех модулей.
Ansible Silo-это автономная среда Ansible от Docker.
Ansigenome - это инструмент командной строки, предназначенный для того, чтобы помочь вам управлять вашими ролями.
ARA - это записи Ansible Playbook, запускающуюся и делает записанные данные доступными и интуитивно понятны для пользователей и систем, интегрируясь с Ansible в качестве плагина обратного вызова.
Capistrano - это инструмент автоматизации удаленного сервера. Он поддерживает сценарии и выполнение произвольных задач и включает набор рабочих процессов развертывания развертывания.
Ткань представляет собой библиотеку Python (2,7, 3,4+) высокого уровня, предназначенная для удаленного выполнения команд оболочки над SSH, что позволяет получить полезные объекты Python в ответ. Он строится на вершине Invoke (выполнение команды подпроцессов и функции командной строки) и Paramiko (реализация протокола SSH), расширяя их API, чтобы дополнить друг друга и обеспечить дополнительную функциональность.
Ansible-Role-Wireguard-это Ansible, роль для установки VPN Wireguard. Поддерживает Ubuntu, Debian, Archlinx, Fedora и Centos Stream.
Wireguard_cloud_gateway - это очень важная роль для настройки Wireguard в качестве VPN -сервера Gateway для облачных сетей.
Red Hat OpenShift сосредоточен на безопасности на каждом уровне стека контейнеров и на протяжении всего жизненного цикла приложения. Он включает в себя долгосрочную поддержку предприятия от одного из ведущих участников Kubernetes и компаний-разработчиков программного обеспечения с открытым исходным кодом.
OpenShift Hive - это оператор, который работает в качестве услуги поверх Kubernetes/Openshift. Служба Hive может использоваться для обеспечения и выполнения начальной конфигурации кластеров OpenShift 4.
Вернуться к началу
SQL - это стандартный язык для хранения, манипулирования и извлечения данных в реляционных базах данных.
NOSQL-это база данных, которая взаимозаменяемо называется «нереляционной или« не-SQL », чтобы подчеркнуть, что база данных может обрабатывать огромные объемы быстро меняющихся, неструктурированных данных по-разному, чем в реляционной (на основе SQL) базы данных с рядами и таблицами. .
Transact-SQL (T-SQL)-это расширение Microsoft SQL, причем все инструменты и приложения, связанные с базой данных SQL, путем отправки команд T-SQL.
Введение в Transact-SQL
Учебник SQL от W3Schools
Учите навыки SQL онлайн от Coursera
Курсы SQL онлайн от Udemy
SQL онлайн -учебные курсы из LinkedIn Learning
Учитесь SQL бесплатно от Codecademy
Руководство по стилю Gitlab SQL
Основы руководства по стилю Oracledb SQL
Tableau CRM: программное обеспечение и инструменты BI
Базы данных на AWS
Лучшие практики и рекомендации для кластеризации SQL Server в AWS EC2.
Подключение от Google Kubernetes Engine к экземпляру SQL Cloud.
Образовательные ресурсы Microsoft Azure SQL
MySQL сертификаты
Базы данных SQL против NOSQL: в чем разница?
Что такое nosql?
NetData-это мониторинг и устранение неполадок инфраструктуры высокой точки, агент мониторинга в реальном времени собирает тысячи метрик из систем, оборудования, контейнеров и приложений с нулевой конфигурацией. Он постоянно работает на всех ваших физических/виртуальных серверах, контейнерах, облачных развертываниях и устройствах Edge/IoT и совершенно безопасен для установки в ваших системах в середине инцидента без какого-либо подготовки.
Azure Data Studio - это инструмент управления данными с открытым исходным кодом, который позволяет работать с SQL Server, Azure SQL DB и SQL DW из Windows, MacOS и Linux.
RStudio-это интегрированная среда разработки для R и Python, с консоли, редактором синтаксиса, который поддерживает прямое выполнение кода и инструменты для построения, истории, отладки и управления рабочей области.
MySQL-это полностью управляемая служба базы данных для развертывания облачных приложений с использованием самой популярной в мире базы данных с открытым исходным кодом.
PostgreSQL-это мощная система с открытым исходным кодом, реламентационная база данных с более чем 30-летней активной разработкой, которая принесла ей сильную репутацию за надежность, надежность и производительность.
Amazon DynamoDB-это база данных ключей и документов, которая в любом масштабе обеспечивает однозначную миллисекундную производительность. Это полностью управляемая, многорегионная, мультимастер, долговечная база данных со встроенной безопасностью, резервным копированием и восстановлением, а также кэшированием в памяти для приложений интернет-масштаба.
Apache Cassandra ™ - это распределенная база данных NOSQL с открытым исходным кодом, доверяя тысячам компаний для масштабируемости и высокой доступности без ущерба для производительности. Cassandra обеспечивает линейную масштабируемость, а проверенный склонность к товарному аппаратному оборудованию или облачной инфраструктуре делает его идеальной платформой для критически важных данных.
Apache Hbase ™-это NOSQL с открытым исходным кодом, распределенный хранилище больших данных. Это обеспечивает случайный, строго последовательный доступ в реальном времени к петабайтам данных. Hbase очень эффективен для обработки больших, редких наборов данных. Hbase служит прямым вводом и выводом в структуру Apache MapReduce для Hadoop и работает с Apache Phoenix, чтобы включить SQL-подобные запросы на таблицы Hbase.
Распределенная файловая система Hadoop (HDFS) - это распределенная файловая система, которая обрабатывает большие наборы данных, работающие на товарном оборудовании. Он используется для масштабирования одного кластера Apache Hadoop до сотен (и даже тысяч) узлов. HDFS является одним из основных компонентов Apache Hadoop, остальные - MapReduce и пряжа.
Apache Mesos - это диспетчер кластеров, который обеспечивает эффективную изоляцию ресурсов и совместное использование между распределенными приложениями или структурами. Он может управлять Hadoop, Jenkins, Spark, Aurora и другими рамками на динамически общем пуле узлов.
Apache Spark-это единый аналитический двигатель для обработки больших данных, со встроенными модулями для потоковой передачи, SQL, машинного обучения и обработки графика.
Elasticsearch - это поисковая система, основанная на библиотеке Lucene. Он обеспечивает полнотекстовую поисковую систему с распределенной, способствующей MulteTenant, с веб-интерфейсом HTTP и документами JSON без схемы. Elasticsearch разработан на Java.
Logstash - это инструмент для управления событиями и журналами. При общем использовании термин охватывает более крупную систему сбора журналов, обработки, хранения и поиска.
Kibana - это плагин визуализации данных с открытым исходным кодом для Elasticsearch. Он предоставляет возможности визуализации поверх контента, индексированного в кластере Elasticsearch. Пользователи могут создавать бар,