La première chose à faire est d'extraire l'image ESPHome Docker de Docker Hub (en ligne).
docker pull esphome/esphome
Ensuite, démarrez l'assistant ESPHome. Cet assistant vous posera des questions sur votre type d'appareil, le nom de votre appareil, vos informations d'identification WiFi et générera enfin un fichier yaml contenant toutes les configurations pour vous.
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
Retour au sommet
OpenWrt Project est un système d'exploitation Linux ciblant les appareils embarqués. Au lieu d'essayer de créer un micrologiciel unique et statique, OpenWrt fournit un système de fichiers entièrement inscriptible avec gestion des packages. Il est principalement utilisé sur les appareils embarqués pour acheminer le trafic réseau.
Téléchargez l'image OpenWrt appropriée pour votre Raspberry PI en accédant au lien ci-dessus.
Raspberry Pi Imager est le moyen rapide et facile d'installer le système d'exploitation Raspberry Pi et d'autres systèmes d'exploitation sur une carte microSD, prêt à être utilisé avec votre Raspberry Pi.
La carte de routeur Raspberry Pi pour module CM4 (coût : 55 $ USD) est une carte d'extension basée sur le module de calcul Raspberry Pi 4. Elle apporte au Raspberry Pi CM4 deux ports réseau Gigabit pleine vitesse et offre de meilleures performances, une utilisation réduite du processeur et une plus grande stabilité. Fonctionne longtemps par rapport à une carte réseau USB. Il est compatible avec Raspberry Pi OS, Ubuntu Server et d'autres systèmes Raspberry Pi.
Carte routeur Raspberry Pi pour module CM4
Spécifications techniques :
Retour au sommet
Watchdog Timer (WDT) est une minuterie qui surveille les programmes du microcontrôleur (MCU) pour voir s'ils sont hors de contrôle ou s'ils ont cessé de fonctionner.
Pour activer watchdog, vous devez modifier les paramètres de démarrage en ajoutant dtparam=watchdog=on dans /boot/config.txt à l'aide d'un éditeur de texte tel que nano, vim, gedit, etc.. Installez également le package watchdog et activez-le pour démarrer à démarrer. Assurez-vous également de redémarrer votre Raspberry Pi pour que ces paramètres prennent effet.
pi@raspberrypi:~ $ sudo apt install watchdog
pi@raspberrypi:~ $sudo systemctl enable watchdog
Le fichier de configuration pour watchdog se trouve dans /etc/watchdog.conf .
max-load-1 = 24
watchdog-device = /dev/watchdog
realtime = yes
priority = 1
Pour démarrer le service WTD :
pi@raspberrypi:~ $ sudo systemctl start watchdog
Vérifiez l'état du chien de garde :
pi@raspberrypi:~ $ sudo systemctl status watchdog
Pour arrêter le service :
pi@raspberrypi:~ $ sudo systemctl stop watchdog
Retour au sommet
Étuis Raspberry Pi de Pi-Shop US
Étuis Raspberry Pi de The Pi Hut
La carte d'extension X825 fournit une solution de stockage complète pour le dernier Raspberry Pi 4 modèle B, elle prend en charge jusqu'à 4 To de disques durs SATA 2,5 pouces/disques SSD (SSD).
Adaptateur de boîtier en aluminium Sabrent M.2 SSD [NGFF] vers USB 3.0 / SATA III 2,5 pouces
Samsung 970 EVO 250 Go - SSD NVMe PCIe M.2 2280
Disque SSD interne Western Digital WD Blue SN550 NVMe de 1 To
Disque SSD portable SAMSUNG T5
Samsung SSD 860 EVO 250 Go SSD interne mSATA
Samsung 850 EVO 120 Go SSD mSATA
Retour au sommet
Grafana est une plateforme d'analyse qui vous permet d'interroger et de visualiser des données, puis de créer et de partager des tableaux de bord basés sur vos visualisations. Visualisez facilement les métriques, les journaux et les traces provenant de plusieurs sources telles que Prometheus, Loki, Elasticsearch, InfluxDB, Postgres, Fluentd, Fluentbit, Logstash et bien d'autres.
Premiers pas avec Grafana
Communauté Grafana
Formation sur les services professionnels Grafana | Laboratoires Grafana
Formation Grafana Pro AWS | Laboratoires Grafana
Tutoriels Grafana
Meilleurs cours Grafana sur Udemy
Cours de formation en ligne Grafana | LinkedIn Apprentissage
Cours de formation Grafana - NobleProg
Configuration de Grafana pour visualiser notre cours de métriques sur Coursera
Grafana Cloud est une plateforme d'observabilité composable, intégrant des métriques, des traces et des journaux avec Grafana. Tirez parti des meilleurs logiciels d'observabilité open source, notamment Prometheus, Loki et Tempo, sans les frais liés à l'installation, à la maintenance et à la mise à l'échelle de votre pile d'observabilité.
Intégrations Grafana Cloud. Source : Grafana
Grafana Enterprise est un service qui comprend des fonctionnalités qui offrent une meilleure évolutivité, collaboration, opérations et gouvernance dans un environnement autogéré.
Pile d'entreprise Grafana. Source : Grafana
Grafana Tempo est un backend de tarcing distribué open source à grande échelle. Tempo est rentable, ne nécessitant que du stockage d'objets pour fonctionner et est profondément intégré à Grafana, Loki et Prometheus.
Grafana MetricTank est une plateforme de séries temporelles multi-locataires pour Graphite développée par Grafana Labs. MetricTank offre une haute disponibilité (HA) et un stockage, une récupération et un traitement efficaces à long terme pour les environnements à grande échelle.
Grafana Tanka est un utilitaire de configuration robuste pour votre cluster Kubernetes, optimisé par le langage Jsonnet.
Grafana Loki est un système d'agrégation de journaux multi-locataires, évolutif et hautement disponible (HA), inspiré de Prometheus.
Cortex est un projet qui permet aux utilisateurs d'interroger les métriques de nombreux serveurs Prometheus en un seul endroit, sans aucune interruption dans les grpahs due à une panne du serveur. En outre, Cortex vous permet de stocker des métriques Prometheus pour la planification de la capacité et l'analyse des performances à long terme.
Graphite est un système de surveillance open source.
Retour au sommet
cURL est un projet logiciel fournissant une bibliothèque et un outil de ligne de commande pour transférer des données à l'aide de divers protocoles réseau (HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP LDAPS, MQTT, POP3, POP3S, RTMP). , RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP ou SMTPS). cURL est également utilisé dans les voitures, les téléviseurs, les routeurs, les imprimantes, les équipements audio, les téléphones mobiles, les tablettes, les décodeurs, les lecteurs multimédias et constitue le moteur de transfert Internet de milliers d'applications logicielles dans plus de dix milliards d'installations.
cURL Fuzzer est un test d'assurance qualité pour le projet curl.
DoH est une application autonome pour les résolutions et les recherches de noms DoH (DNS-over-HTTPS).
Authelia est un serveur d'authentification open source hautement disponible offrant une capacité d'authentification unique et une authentification à deux facteurs aux applications exécutées derrière NGINX.
nginx(engine x) est un serveur HTTP et proxy inverse, un serveur proxy de messagerie et un serveur proxy TCP/UDP générique, écrits à l'origine par Igor Sysoev.
Proxmox Virtual Environment (VE) est une plateforme open source complète pour la virtualisation d'entreprise. Il comprend une interface Web intégrée qui vous permet de gérer facilement les machines virtuelles et les conteneurs, le stockage et la mise en réseau définis par logiciel, le clustering haute disponibilité et plusieurs outils prêts à l'emploi sur une seule solution.
Wireshark est un analyseur de protocole réseau très populaire qui est couramment utilisé pour le dépannage, l'analyse et le développement de protocoles de communication. Apprenez-en davantage sur les autres outils Wireshark utiles disponibles.
HTTPie est un client HTTP en ligne de commande. Son objectif est de rendre l’interaction CLI avec les services Web aussi conviviale que possible. HTTPie est conçu pour tester, déboguer et généralement interagir avec les API et les serveurs HTTP.
HTTPStat est un outil qui visualise les statistiques curl dans une présentation simple.
Wuzz est un outil cli interactif pour l'inspection HTTP. Il peut être utilisé pour inspecter/modifier les requêtes copiées depuis l'inspecteur réseau du navigateur avec la fonctionnalité "copier en tant que cURL".
Websocat est un client de ligne de commande pour WebSockets, comme netcat (ou curl) pour ws:// avec des fonctions avancées de type 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.
Les paquets ont une partie d'en-tête qui contient des informations sur le paquet, notamment la source et la destination, les horodatages et les sauts de réseau. La partie principale d'un paquet contient les données réelles en cours de transfert. On l'appelle parfois le corps ou la charge utile.
• 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.
Une interface réseau peut être associée à un périphérique physique ou peut être une représentation d'une interface virtuelle. Le périphérique « loop-back », qui est une interface virtuelle avec la machine locale, en est un exemple.
• 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.
Si une interface est connectée au WAN, on suppose généralement qu'elle est accessible via Internet.
• 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.
Certains protocoles de bas niveau sont TCP, UDP, IP et ICMP. Quelques exemples familiers de protocoles de couche application, construits sur ces protocoles inférieurs, sont HTTP (pour accéder au contenu Web), SSH, TLS/SSL et 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).
Le modèle TCP/IP, plus communément appelé suite de protocoles Internet, est un autre modèle de stratification plus simple et largement adopté. Il définit quatre couches distinctes, dont certaines chevauchent le modèle 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.
La communication s'effectue entre réseaux de pairs.
• 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.
Les interfaces sont des points de communication réseau pour votre ordinateur. Chaque interface est associée à un périphérique réseau physique ou virtuel. En règle générale, votre serveur disposera d'une interface réseau configurable pour chaque carte Ethernet ou Internet sans fil dont vous disposez. De plus, il définira une interface réseau virtuelle appelée interface « loopback » ou localhost. Ceci est utilisé comme interface pour connecter les applications et les processus sur un seul ordinateur à d’autres applications et processus. Vous pouvez voir cela référencé comme l'interface "lo" dans de nombreux outils.
La mise en réseau fonctionne en superposant un certain nombre de protocoles différents les uns sur les autres. De cette manière, une donnée peut être transmise à l’aide de plusieurs protocoles encapsulés les uns dans les autres.
Media Access Control (MAC) est un protocole de communication utilisé pour distinguer des périphériques spécifiques. Chaque appareil est censé obtenir une adresse MAC unique au cours du processus de fabrication qui le différencie de tous les autres appareils sur Internet. L'adressage du matériel par l'adresse MAC vous permet de référencer un périphérique par une valeur unique même lorsque le logiciel supérieur peut modifier le nom de ce périphérique spécifique pendant le fonctionnement. Le contrôle d'accès aux médias est l'un des seuls protocoles de la couche liaison avec lequel vous êtes susceptible d'interagir régulièrement.
Le protocole IP est l’un des protocoles fondamentaux qui permettent à Internet de fonctionner. Les adresses IP sont uniques sur chaque réseau et permettent aux machines de s'adresser entre elles sur un réseau. Il est implémenté sur la couche internet dans le modèle IP/TCP. Les réseaux peuvent être reliés entre eux, mais le trafic doit être acheminé lorsqu'il franchit les limites du réseau. Ce protocole suppose un réseau peu fiable et plusieurs chemins vers la même destination entre lesquels il peut changer dynamiquement. Il existe un certain nombre d’implémentations différentes du protocole. L'implémentation la plus courante aujourd'hui est IPv4, bien que l'IPv6 gagne en popularité comme alternative en raison de la rareté des adresses IPv4 disponibles et des améliorations apportées aux capacités des protocoles.
ICMP : protocole de message de contrôle Internet est utilisé pour envoyer des messages entre appareils pour indiquer la disponibilité ou les conditions d'erreur. Ces paquets sont utilisés dans divers outils de diagnostic réseau, tels que ping et traceroute. Habituellement, les paquets ICMP sont transmis lorsqu'un paquet d'un type différent rencontre un problème. Fondamentalement, ils sont utilisés comme mécanisme de rétroaction pour les communications réseau.
TCP : Le protocole de contrôle de transmission est implémenté dans la couche transport du modèle IP/TCP et est utilisé pour établir des connexions fiables. TCP est l'un des protocoles qui encapsulent les données dans des paquets. Il les transfère ensuite à l'extrémité distante de la connexion en utilisant les méthodes disponibles sur les couches inférieures. De l’autre côté, il peut rechercher les erreurs, demander le renvoi de certains éléments et réassembler les informations en un seul élément logique à envoyer à la couche application. Le protocole établit une connexion avant le transfert de données à l'aide d'un système appelé prise de contact à trois. C'est un moyen pour les deux extrémités de la communication d'accuser réception de la demande et de convenir d'une méthode permettant de garantir la fiabilité des données. Une fois les données envoyées, la connexion est interrompue à l’aide d’une négociation à quatre voies similaire. TCP est le protocole de choix pour la plupart des utilisations les plus populaires d'Internet, notamment WWW, FTP, SSH et la messagerie électronique. Il est prudent de dire que l’Internet que nous connaissons aujourd’hui n’existerait pas sans TCP.
UDP : le protocole de datagramme utilisateur est un protocole compagnon populaire de TCP et est également implémenté dans la couche de transport. La différence fondamentale entre UDP et TCP est que UDP offre un transfert de données peu fiable. Il ne vérifie pas que les données ont été reçues à l'autre extrémité de la connexion. Cela peut sembler une mauvaise chose, et à bien des égards, c’est le cas. Cependant, cela est également extrêmement important pour certaines fonctions. Il n'est pas nécessaire d'attendre la confirmation que les données ont été reçues et d'être obligé de renvoyer les données, UDP est beaucoup plus rapide que TCP. Il n'établit pas de connexion avec l'hôte distant, il envoie simplement les données vers cet hôte et ne se soucie pas de savoir si elles sont acceptées ou non. Étant donné qu'UDP est une transaction simple, il est utile pour des communications simples telles que l'interrogation de ressources réseau. Il ne conserve pas non plus d'état, ce qui le rend idéal pour transmettre des données d'une machine à plusieurs clients en temps réel. Cela le rend idéal pour la VOIP, les jeux et autres applications qui ne peuvent pas se permettre de retards.
HTTP : Protocole de transfert hypertexte est un protocole défini dans la couche application qui constitue la base de la communication sur le Web. HTTP définit un certain nombre de fonctions qui indiquent au système distant ce que vous demandez. Par exemple, GET, POST et DELETE interagissent tous avec les données demandées de manière différente.
FTP : le protocole de transfert de fichiers se trouve dans la couche application et permet de transférer des fichiers complets d'un hôte à un autre. Il n'est pas intrinsèquement sécurisé, il n'est donc pas recommandé pour tout réseau externe, à moins qu'il ne soit implémenté en tant que ressource publique téléchargeable uniquement.
DNS : le système de noms de domaine est un protocole de couche application utilisé pour fournir un mécanisme de dénomination convivial pour les ressources Internet. C'est ce qui lie un nom de domaine à une adresse IP et vous permet d'accéder aux sites par leur nom dans votre navigateur.
SSH : Secure Shell est un protocole crypté implémenté dans la couche application qui peut être utilisé pour communiquer avec un serveur distant de manière sécurisée. De nombreuses technologies supplémentaires sont construites autour de ce protocole en raison de son cryptage de bout en bout et de son omniprésence. Il existe de nombreux autres protocoles que nous n’avons pas abordés et qui sont tout aussi importants. Cependant, cela devrait vous donner un bon aperçu de certaines des technologies fondamentales qui rendent Internet et les réseaux possibles.
REST (REpresentational State Transfer) est un style architectural permettant de fournir des normes entre les systèmes informatiques sur le Web, facilitant ainsi la communication entre les systèmes.
JSON Web Token (JWT) est un moyen compact et sécurisé pour les URL de représenter les revendications à transférer entre deux parties. Les revendications dans un JWT sont codées sous la forme d'un objet JSON signé numériquement à l'aide de JSON Web Signature (JWS).
OAuth 2.0 est un cadre d'autorisation open source qui permet aux applications d'obtenir un accès limité aux comptes d'utilisateurs sur un service HTTP, tel qu'Amazon, Google, Facebook, Microsoft, Twitter GitHub et DigitalOcean. Il fonctionne en déléguant l'authentification de l'utilisateur au service qui héberge le compte utilisateur et en autorisant les applications tierces à accéder au compte utilisateur.
Retour au sommet
Architecture de conteneurs. Source : Containerd.io
Programme de formation Docker
Certification Docker Certified Associate (DCA)
Documentation Docker | Documentation Docker
L'atelier Docker
Cours Docker sur Udemy
Cours Docker sur Coursera
Cours Docker sur edX
Cours Docker sur l'apprentissage Linkedin
Docker est une plateforme ouverte pour développer, expédier et exécuter des applications. Docker vous permet de séparer vos applications de votre infrastructure afin que vous puissiez fournir rapidement des logiciels fonctionnant en collaboration avec les fournisseurs cloud, Linux et Windows, y compris Microsoft.
Docker Enterprise est un abonnement comprenant un logiciel, une plateforme de conteneurs prise en charge et certifiée pour CentOS, Red Hat Enterprise Linux (RHEL), Ubuntu, SUSE Linux Enterprise Server (SLES), Oracle Linux et Windows Server 2016, ainsi que pour les fournisseurs de cloud AWS et Azuré. En novembre 2019, l'activité Enterprise Platform de Docker a été acquise par Mirantis.
Docker Desktop est une application pour les machines MacOS et Windows pour la création et le partage d'applications et de microservices conteneurisés. Docker Desktop offre la vitesse, le choix et la sécurité dont vous avez besoin pour concevoir et fournir des applications conteneurisées sur votre bureau. Docker Desktop comprend l'application Docker, des outils de développement, Kubernetes et la synchronisation des versions avec les moteurs Docker de production.
Docker Hub est la plus grande bibliothèque et communauté d'images de conteneurs au monde. Parcourez plus de 100 000 images de conteneurs provenant d'éditeurs de logiciels, de projets open source et de la communauté.
Docker Compose est un outil développé pour aider à définir et partager des applications multi-conteneurs. Avec Docker Compose, vous pouvez créer un fichier YAML pour définir les services et, avec une seule commande, tout faire tourner ou tout détruire.
Docker Swarm est un système de clustering natif Docker. Il s'agit d'un outil simple qui contrôle un cluster d'hôtes Docker et l'expose comme un seul hôte « virtuel ».
Dockerfile est un document texte qui contient toutes les commandes qu'un utilisateur peut appeler sur la ligne de commande pour assembler une image. À l'aide de Docker build, les utilisateurs peuvent créer une build automatisée qui exécute successivement plusieurs instructions de ligne de commande.
Docker Containers est une unité logicielle standard qui regroupe le code et toutes ses dépendances afin que l'application s'exécute rapidement et de manière fiable d'un environnement informatique à un autre.
Docker Engine est un environnement d'exécution de conteneur qui s'exécute sur divers systèmes d'exploitation Linux (CentOS, Debian, Fedora, Oracle Linux, RHEL, SUSE et Ubuntu) et Windows Server. Docker crée des outils simples et une approche de packaging universelle qui regroupe toutes les dépendances d'application dans un conteneur qui est ensuite exécuté sur Docker Engine.
Docker Images est un package logiciel léger, autonome et exécutable qui comprend tout ce dont vous avez besoin pour exécuter une application : code, runtime, outils système, bibliothèques système et paramètres. Les images comportent des couches intermédiaires qui augmentent la réutilisabilité, réduisent l'utilisation du disque et accélèrent la création du Docker en permettant la mise en cache de chaque étape. Ces couches intermédiaires ne sont pas affichées par défaut. La TAILLE est l'espace cumulé occupé par l'image et toutes ses images parentes.
Docker Network est un qui affiche des informations détaillées sur un ou plusieurs réseaux.
Docker Daemon est un service démarré par un utilitaire système, et non manuellement par un utilisateur. Cela facilite le démarrage automatique de Docker au redémarrage de la machine. La commande pour démarrer Docker dépend de votre système d'exploitation. Actuellement, il ne fonctionne que sous Linux car il dépend d'un certain nombre de fonctionnalités du noyau Linux, mais il existe également plusieurs façons d'exécuter Docker sur MacOS et Windows en configurant les utilitaires du système d'exploitation.
Docker Storage est un pilote qui contrôle la manière dont les images et les conteneurs sont stockés et gérés sur votre hôte Docker.
Kitematic est une application simple de gestion des conteneurs Docker sur Mac, Linux et Windows vous permettant de contrôler vos conteneurs d'applications à partir d'une interface utilisateur graphique (GUI).
Open Container Initiative est une structure de gouvernance ouverte dans le but exprès de créer des normes industrielles ouvertes autour des formats et des environnements d'exécution des conteneurs.
Buildah est un outil de ligne de commande permettant de créer des images Open Container Initiative (OCI). Il peut être utilisé avec Docker, Podman, Kubernetes.
Podman est un outil natif Linux open source et sans démon conçu pour faciliter la recherche, l'exécution, la création, le partage et le déploiement d'applications à l'aide de conteneurs et d'images de conteneurs Open Containers Initiative (OCI). Podman fournit une interface de ligne de commande (CLI) familière à toute personne ayant utilisé Docker Container Engine.
Containerd est un démon qui gère le cycle de vie complet des conteneurs de son système hôte, du transfert et du stockage d'images à l'exécution et à la supervision des conteneurs, en passant par le stockage de bas niveau, les pièces jointes réseau et au-delà. Il est disponible pour Linux et Windows.
Retour au sommet
Kubernetes (K8s) est un système open source permettant d'automatiser le déploiement, la mise à l'échelle et la gestion des applications conteneurisées.
Obtenir les certifications Kubernetes
Premiers pas avec Kubernetes sur AWS
Kubernetes sur Microsoft Azure
Introduction au service Azure Kubernetes
Azure Red Hat OpenShift
Premiers pas avec Google Cloud
Premiers pas avec Kubernetes sur Red Hat
Premiers pas avec Kubernetes sur IBM
Red Hat OpenShift sur IBM Cloud
Activer la virtualisation OpenShift sur Red Hat OpenShift
Bases de YAML dans Kubernetes
Elastic Cloud sur Kubernetes
Docker et Kubernetes
Exécuter Apache Spark sur Kubernetes
Kubernetes sur VMware vRealize Automation
Grille VMware Tanzu Kubernetes
Toutes les façons dont VMware Tanzu fonctionne avec AWS
Formation VMware Tanzu
Utiliser Ansible dans un environnement Kubernetes cloud natif
Gestion des objets Kubernetes (K8s) avec Ansible
Configuration d'un cluster Kubernetes à l'aide de Vagrant et Ansible
Exécuter MongoDB avec Kubernetes
Kubernetes Fluentd
Comprendre le nouvel agent GitLab Kubernetes
Introduction au processus local avec Kubernetes pour Visual Studio 2019
Contributeurs Kubernetes
KubeAcademy de VMware
Tutoriels Kubernetes de Pulumi
Terrain de jeu Kubernetes par Katacoda
Cours sur les microservices évolutifs avec Kubernetes d'Udacity
Open Container Initiative est une structure de gouvernance ouverte dans le but exprès de créer des normes industrielles ouvertes autour des formats et des environnements d'exécution des conteneurs.
Buildah est un outil de ligne de commande permettant de créer des images Open Container Initiative (OCI). Il peut être utilisé avec Docker, Podman, Kubernetes.
Podman est un outil natif Linux open source et sans démon conçu pour faciliter la recherche, l'exécution, la création, le partage et le déploiement d'applications à l'aide de conteneurs et d'images de conteneurs Open Containers Initiative (OCI). Podman fournit une interface de ligne de commande (CLI) familière à toute personne ayant utilisé Docker Container Engine.
Containerd est un démon qui gère le cycle de vie complet des conteneurs de son système hôte, du transfert et du stockage d'images à l'exécution et à la supervision des conteneurs, en passant par le stockage de bas niveau, les pièces jointes réseau et au-delà. Il est disponible pour Linux et Windows.
Google Kubernetes Engine (GKE) est un environnement géré prêt pour la production permettant d'exécuter des applications conteneurisées.
Azure Kubernetes Service (AKS) est un Kubernetes sans serveur, avec une expérience intégrée d'intégration continue et de livraison continue (CI/CD), ainsi qu'une sécurité et une gouvernance de niveau entreprise. Réunissez vos équipes de développement et d’exploitation sur une plateforme unique pour créer, livrer et faire évoluer rapidement des applications en toute confiance.
Amazon EKS est un outil qui exécute des instances de plan de contrôle Kubernetes sur plusieurs zones de disponibilité pour garantir une haute disponibilité.
AWS Controllers for Kubernetes (ACK) est un nouvel outil qui vous permet de gérer directement les services AWS depuis Kubernetes. ACK simplifie la création d'applications Kubernetes évolutives et hautement disponibles qui utilisent les services AWS.
Container Engine for Kubernetes (OKE) est un service d'orchestration de conteneurs géré par Oracle qui peut réduire le temps et les coûts nécessaires à la création d'applications cloud natives modernes. Contrairement à la plupart des autres fournisseurs, Oracle Cloud Infrastructure propose Container Engine pour Kubernetes sous la forme d'un service gratuit qui s'exécute sur un calcul plus performant et moins coûteux.
Anthos est une plate-forme moderne de gestion d'applications qui offre une expérience de développement et d'exploitation cohérente pour les environnements cloud et sur site.
Red Hat Openshift est une plateforme Kubernetes entièrement gérée qui constitue une base pour les déploiements sur site, hybrides et multicloud.
OKD est une distribution communautaire de Kubernetes optimisée pour le développement continu d'applications et le déploiement multi-tenant. OKD ajoute des outils centrés sur les développeurs et les opérations à Kubernetes pour permettre un développement rapide d'applications, un déploiement et une mise à l'échelle faciles, ainsi qu'une maintenance du cycle de vie à long terme pour les petites et grandes équipes.
Odo est un outil CLI rapide, itératif et simple destiné aux développeurs qui écrivent, créent et déploient des applications sur Kubernetes et OpenShift.
Kata Operator est un opérateur permettant d'effectuer la gestion du cycle de vie (installation/mise à niveau/désinstallation) de Kata Runtime sur Openshift ainsi que sur le cluster Kubernetes.
Thanos est un ensemble de composants qui peuvent être composés dans un système métrique hautement disponible avec une capacité de stockage illimitée, qui peut être ajouté de manière transparente aux déploiements Prometheus existants.
OpenShift Hive est un opérateur qui s'exécute en tant que service au-dessus de Kubernetes/OpenShift. Le service Hive peut être utilisé pour provisionner et effectuer la configuration initiale des clusters OpenShift 4.
Rook est un outil qui transforme les systèmes de stockage distribués en services de stockage auto-gérés, auto-évolutifs et auto-réparateurs. Il automatise les tâches d'un administrateur de stockage : déploiement, démarrage, configuration, provisionnement, mise à l'échelle, mise à niveau, migration, reprise après sinistre, surveillance et gestion des ressources.
VMware Tanzu est une plate-forme de gestion centralisée permettant d'exploiter et de sécuriser de manière cohérente votre infrastructure Kubernetes et vos applications modernes sur plusieurs équipes et cloud privés/publics.
Kubespray est un outil qui combine Kubernetes et Ansible pour installer facilement des clusters Kubernetes pouvant être déployés sur AWS, GCE, Azure, OpenStack, vSphere, Packet (bare metal), Oracle Cloud Infrastructure (expérimental) ou Baremetal.
KubeInit fournit des playbooks et des rôles Ansible pour le déploiement et la configuration de plusieurs distributions Kubernetes.
Rancher est une pile logicielle complète pour les équipes adoptant des conteneurs. Il répond aux défis opérationnels et de sécurité liés à la gestion de plusieurs clusters Kubernetes, tout en fournissant aux équipes DevOps des outils intégrés pour exécuter des charges de travail conteneurisées.
K3s est une distribution Kubernetes certifiée et hautement disponible, conçue pour les charges de travail de production dans des emplacements distants sans surveillance, aux ressources limitées ou à l'intérieur d'appareils IoT.
Helm est un outil Kubernetes Package Manager qui facilite l'installation et la gestion des applications Kubernetes.
Knative est une plate-forme basée sur Kubernetes pour créer, déployer et gérer des charges de travail sans serveur modernes. Knative s'occupe des détails opérationnels liés à la mise en réseau, à la mise à l'échelle automatique (même jusqu'à zéro) et au suivi des révisions.
KubeFlow est un outil dédié à rendre les déploiements de workflows d'apprentissage automatique (ML) sur Kubernetes simples, portables et évolutifs.
Etcd est un magasin clé-valeur distribué qui fournit un moyen fiable de stocker les données auxquelles un système distribué ou un cluster de machines doit accéder. Etcd est utilisé comme backend pour la découverte de services et stocke l'état et la configuration du cluster pour Kubernetes.
OpenEBS est un outil basé sur Kubernetes pour créer des applications avec état à l'aide de Container Attached Storage.
Container Storage Interface (CSI) est une API qui permet aux plates-formes d'orchestration de conteneurs comme Kubernetes de communiquer de manière transparente avec les données stockées via un plug-in.
MicroK8s est un outil qui offre l'expérience Kubernetes complète. Dans un déploiement entièrement conteneurisé avec des mises à jour compressées en direct pour des opérations ultra-fiables. Il est pris en charge sous Linux, Windows et MacOS.
Charmed Kubernetes est une plateforme Kubernetes bien intégrée, clé en main et conforme, optimisée pour vos environnements multi-cloud développés par Canonical.
L'application Grafana Kubernetes est un outil qui vous permet de surveiller les performances de votre cluster Kubernetes. Il comprend 4 tableaux de bord, Cluster, Node, Pod/Conteneur et Déploiement. Il permet le déploiement automatique des exportateurs Prometheus requis et une configuration de scrape par défaut à utiliser avec votre déploiement Prometheus en cluster.
KubeEdge est un système open source permettant d'étendre les capacités natives d'orchestration d'applications conteneurisées aux hôtes sur Edge. Il est construit sur Kubernetes et fournit une prise en charge d'infrastructure fondamentale pour le réseau et les applications. déploiement et synchronisation des métadonnées entre le cloud et la périphérie.
Lens est l'EDI le plus puissant pour les personnes qui doivent gérer quotidiennement des clusters Kubernetes. Il prend en charge les systèmes d'exploitation MacOS, Windows et Linux.
Flux CD est un outil qui garantit automatiquement que l'état de votre cluster Kubernetes correspond à la configuration que vous avez fournie dans Git. Il utilise un opérateur dans le cluster pour déclencher les déploiements dans Kubernetes, ce qui signifie que vous n'avez pas besoin d'un outil de livraison continue distinct.
Platform9 Managed Kubernetes (PMK) est un Kubernetes en tant que service qui garantit des opérations entièrement automatisées dès le deuxième jour avec un SLA de 99,9 % sur n'importe quel environnement, que ce soit dans les centres de données, les cloud publics ou en périphérie.
Retour au sommet
Manuel de développement Ansible pour Mac par Jeff Geerling
Ansible est un moteur d'automatisation informatique simple qui automatise le provisionnement du cloud, la gestion de la configuration, le déploiement d'applications, l'orchestration intra-service et de nombreux autres besoins informatiques. Il utilise un langage très simple (YAML, sous la forme d'Ansible Playbooks) qui vous permet de décrire vos tâches d'automatisation d'une manière qui se rapproche de l'anglais simple. Anisble fonctionne sous Linux (Red Hat EnterPrise Linux (RHEL) et Ubuntu) et Microsoft Windows.
Formation Red Hat pour Ansible
Meilleurs cours Ansible en ligne d'Udemy
Introduction à Ansible : les principes fondamentaux sur Coursera
Apprendre les principes fondamentaux d'Ansible sur Pluralsight
Présentation de Red Hat Ansible Automation Platform 2.1
Documentation Ansible
Guide de l'utilisateur d'Ansible Galaxy
Cas d'utilisation d'Ansible
Intégrations Ansible
Présentation des collections Ansible
Travailler avec des playbooks
Exemples Ansible pour DevOps par Jeff Geerling
Premiers pas : rédiger votre premier playbook - Ansible
Travailler avec des modules dans Ansible
Meilleures pratiques Ansible : rôles et modules
Travailler avec des outils de ligne de commande pour Ansible
Chiffrer du contenu avec Ansible Vault
Utiliser Vault dans les playbooks avec Ansible
Utiliser Ansible avec Azure
Configuration d'Ansible sur une machine virtuelle Azure
Comment utiliser ANSIBLE: un guide de feuille de triche Ansible de DigitalOcean
Intro à Ansible sur Linode | Laboratoires spatiaux
ANSIBLE AUTOMATION HUB est l'emplacement officiel pour découvrir et télécharger des collections prises en charge, incluses dans le cadre d'un abonnement à la plate-forme d'automatisation Ansible. Ces collections de contenu contiennent des modules, des plugins, des rôles et des livres de jeu dans un package téléchargeable.
Les collections sont un format de distribution pour le contenu ANSIBL qui peut inclure des livres de jeu, des rôles, des modules et des plugins. Au fur et à mesure que les modules se déplacent du référentiel Core ANSIBLE dans les collections, la documentation du module se déplacera vers les pages de collections.
ANSIBLE LINT est un outil de ligne de commande pour lier les livres de jeu, les rôles et les collections destinés à tous les utilisateurs anibles. Son objectif principal est de promouvoir des pratiques, des modèles et des comportements éprouvés tout en évitant les pièges courants qui peuvent facilement conduire à des bogues ou rendre le code plus difficile à maintenir.
ANSIBLE CMDB est un outil qui prend la sortie de la collecte de faits d'ANSIBLE et la convertit en une page de vue HTML statique contenant des informations de configuration du système.
ANSIBLE GRAPER INVENTAIRE Affiche visuellement les hiérarchies d'héritage des stocks et à quel niveau une variable est définie dans l'inventaire.
ANSIBLE PlayBook Grapher est un outil de ligne de commande pour créer un graphique représentant vos tâches et rôles PlayBook Ansible.
ANSIBLE Shell est un shell interactif pour ANSIBLE avec l'adhésion intégrée pour tous les modules.
ANSIBLE SILO est un environnement anable autonome de Docker.
ANSIGENOME est un outil de ligne de commande conçu pour vous aider à gérer vos rôles anibles.
ARA est un enregistrement Ansible PlayBook s'exécute et rend les données enregistrées disponibles et intuitives pour les utilisateurs et les systèmes en s'intégrant à Ansible en tant que plugin de rappel.
Capistrano est un outil d'automatisation du serveur distant. Il prend en charge le script et l'exécution des tâches arbitraires et comprend un ensemble de workflows de déploiement de déficience sensée.
Le tissu est une bibliothèque Python de haut niveau (2,7, 3.4+) conçue pour exécuter des commandes de shell à distance sur SSH, ce qui donne des objets Python utiles en retour. Il s'appuie sur Invoke (Exécution de commande de sous-processus et fonctionnalités de ligne de commande) et Paramiko (implémentation du protocole SSH), étendant leurs API pour se compléter et fournir des fonctionnalités supplémentaires.
ANSIBLE-ROLE-WIREGUARD est un rôle anible pour l'installation de WireGuard VPN. Soutient Ubuntu, Debian, Archlinx, Fedora et Centos Stream.
wireguard_cloud_gateway est un rôle ANSIBLE pour configurer Wireguard en tant que serveur VPN de passerelle pour les réseaux cloud.
Red Hat OpenShift est axé sur la sécurité à tous les niveaux de la pile de conteneurs et tout au long du cycle de vie de l'application. Il comprend le support à long terme de l'entreprise de l'un des principaux contributeurs de Kubernetes et des sociétés de logiciels open source.
OpenShift Hive est un opérateur qui s'exécute en tant que service au-dessus de Kubernetes / OpenShift. Le service Hive peut être utilisé pour provisionner et effectuer la configuration initiale des clusters OpenShift 4.
Retour au sommet
SQL est un langage standard pour stocker, manipuler et récupérer des données dans les bases de données relationnelles.
Nosql est une base de données qui est appelée interchangeable "non relationnelle ou" non-SQL "pour souligner que la base de données peut gérer d'énormes volumes de données à évolution rapide et non structurées de différentes manières de la base de données relationnelle (basée sur SQL) avec des lignes et des tableaux .
Transact-SQL (T-SQL) est une extension Microsoft de SQL avec tous les outils et applications communiquant à une base de données SQL en envoyant des commandes T-SQL.
Introduction à Transact-SQL
Tutoriel SQL par W3Schools
Apprenez les compétences SQL en ligne de Coursera
Cours SQL en ligne d'Udemy
Cours de formation en ligne SQL de LinkedIn Learning
Apprenez SQL gratuitement de CodeCademy
Guide de style SQL de GitLab
Guide de style SQL OracledB Basics
Tableau CRM: logiciel et outils BI
Bases de données sur AWS
Meilleures pratiques et recommandations pour le clustering SQL Server dans AWS EC2.
Connexion à partir du moteur Google Kubernetes à une instance SQL Cloud.
Ressources éducatives Microsoft Azure SQL
Certifications MySQL
Bases de données SQL vs NOSQL: quelle est la différence?
Qu'est-ce que Nosql?
NetData est la surveillance et le dépannage des infrastructures à haute fidélité, l'agent de surveillance en temps réel recueille des milliers de mesures à partir de systèmes, de matériel, de conteneurs et d'applications avec une configuration nulle. Il s'exécute en permanence sur tous vos serveurs physiques / virtuels, conteneurs, déploiements de nuages et appareils Edge / IoT, et est parfaitement sûr à installer sur vos systèmes à mi-puissance sans aucune préparation.
Azure Data Studio est un outil de gestion des données open source qui permet de travailler avec SQL Server, Azure SQL DB et SQL DW de Windows, MacOS et Linux.
Rstudio est un environnement de développement intégré pour R et Python, avec une console, une éditeur de syntaxe-highlighting qui prend en charge l'exécution du code direct et des outils pour le traçage, l'historique, le débogage et la gestion de l'espace de travail.
MySQL est un service de base de données entièrement géré pour déployer des applications natives dans le cloud à l'aide de la base de données open source la plus populaire au monde.
PostgreSQL est un système de base de données d'objets open source-open source avec plus de 30 ans de développement actif qui lui a valu une forte réputation de fiabilité, de robustesse et de performances.
Amazon DynamoDB est une base de données de valeur clé et de document qui offre des performances de millisecondes à un chiffre à n'importe quelle échelle. Il s'agit d'une base de données entièrement gérée, multirégion, multimaster et durable avec sécurité, sauvegarde et restauration intégrée et mise en cache en mémoire pour les applications à l'échelle Internet.
Apache Cassandra ™ est une base de données Open Source Nosql Distribuée de confiance par des milliers d'entreprises pour l'évolutivité et la haute disponibilité sans compromettre les performances. Cassandra fournit une évolutivité linéaire et une tolérance aux pannes éprouvée sur le matériel de base ou l'infrastructure cloud en fait la plate-forme parfaite pour les données critiques de mission.
Apache HBASE ™ est un magasin de Big Data Distribué Open source, Open-source. Il permet un accès aléatoire, strictement cohérent et en temps réel aux pétaoctets de données. HBASE est très efficace pour gérer de grands ensembles de données clairsemés. HBASE sert d'entrée et de sortie directes dans le framework Apache MapReduce pour Hadoop, et fonctionne avec Apache Phoenix pour activer les requêtes de type SQL sur les tables HBASE.
Hadoop Distributed File System (HDFS) est un système de fichiers distribué qui gère les grands ensembles de données exécutés sur le matériel de marchandise. Il est utilisé pour mettre à l'échelle un seul cluster Apache Hadoop à des centaines (et même des milliers) de nœuds. HDFS est l'un des principaux composants d'Apache Hadoop, les autres étant MapReduce et Yarn.
Apache Mesos est un gestionnaire de cluster qui fournit une isolation efficace des ressources et le partage entre les applications distribuées ou les cadres. Il peut exécuter Hadoop, Jenkins, Spark, Aurora et d'autres cadres sur un pool de nœuds partagé dynamiquement.
Apache Spark est un moteur d'analyse unifié pour le traitement des mégadonnées, avec des modules intégrés pour le streaming, le SQL, l'apprentissage automatique et le traitement des graphiques.
Elasticsearch est un moteur de recherche basé sur la bibliothèque Lucene. Il fournit un moteur de recherche en texte intégral distribué et compatible multitinnant avec une interface Web HTTP et des documents JSON sans schéma. Elasticsearch est développé en Java.
Logstash est un outil pour gérer les événements et les journaux. Lorsqu'il est utilisé génériquement, le terme englobe un plus grand système d'activités de collecte, de traitement, de stockage et de recherche.
Kibana est un plugin de visualisation de données open source pour Elasticsearch. Il fournit des capacités de visualisation en plus du contenu indexé sur un cluster Elasticsearch. Les utilisateurs peuvent créer une barre,