首先是从 Docker Hub(在线)提取 ESPHome Docker 镜像。
docker pull esphome/esphome
然后,启动 ESPHome 向导。该向导将询问您的设备类型、设备名称、WiFi 凭证,最后将生成一个包含所有配置的 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 项目是一个针对嵌入式设备的 Linux 操作系统。 OpenWrt 没有尝试创建单个静态固件,而是提供了一个具有包管理功能的完全可写文件系统。它主要用于嵌入式设备来路由网络流量。
访问上面的链接,下载适合您的 Raspberry PI 的 OpenWrt 映像。
Raspberry Pi Imager 是一种将 Raspberry Pi 操作系统和其他操作系统安装到 microSD 卡上的快速简便方法,可随时与 Raspberry Pi 一起使用。
Raspberry Pi Router Board for CM4 module(成本:55 美元)是一款基于 Raspberry Pi Compute Module 4 的扩展板。它为 Raspberry Pi CM4 带来了两个全速千兆网络端口,并提供更好的性能、更低的 CPU 使用率和更高的稳定性与USB网卡相比,可以长时间工作。它与 Raspberry Pi OS、Ubuntu Server 和其他 Raspberry Pi 系统兼容。
适用于 CM4 模块的 Raspberry Pi 路由器板
技术规格:
回到顶部
看门狗定时器 (WDT) 是一种监视微控制器 (MCU) 程序以查看它们是否失控或已停止运行的定时器。
要启用看门狗,您必须使用文本编辑器(例如 nano、vim、gedit 等)在/boot/config.txt中添加dtparam=watchdog=on来更改启动参数。此外,安装看门狗软件包并使其能够在以下位置启动:启动。另外,请确保重新启动 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
回到顶部
来自 Pi-Shop US 的 Raspberry Pi 外壳
The Pi Hut 的 Raspberry Pi 外壳
X825 扩展板为最新的 Raspberry Pi 4 Model B 提供完整的存储解决方案,它支持高达 4TB 2.5 英寸 SATA 硬盘驱动器 (HDD) / 固态驱动器 (SSD)。
Sabrent M.2 SSD [NGFF] 转 USB 3.0 / SATA III 2.5 英寸铝制外壳适配器
三星 970 EVO 250GB - NVMe PCIe M.2 2280 固态硬盘
西部数据 1TB WD Blue SN550 NVMe 内置 SSD
三星 T5 便携式 SSD
三星 SSD 860 EVO 250GB mSATA 内置 SSD
三星 850 EVO 120GB SSD mSATA
回到顶部
Grafana 是一个分析平台,使您能够查询和可视化数据,然后根据可视化创建和共享仪表板。轻松可视化来自多个来源(例如 Prometheus、Loki、Elasticsearch、InfluxDB、Postgres、Fluentd、Fluentbit、Logstash 等)的指标、日志和跟踪。
Grafana 入门
格拉法纳社区
Grafana 专业服务培训 |格拉法纳实验室
Grafana Pro 培训 AWS |格拉法纳实验室
Grafana 教程
Udemy 上的热门 Grafana 课程
Grafana 在线培训课程 |领英学习
Grafana 培训课程 - NobleProg
设置 Grafana 以可视化我们在 Coursera 上的指标课程
Grafana Cloud 是一个可组合的可观察性平台,将指标、跟踪和日志与 Grafana 集成。利用最好的开源可观测性软件(包括 Prometheus、Loki 和 Tempo),无需安装、维护和扩展可观测性堆栈的开销。
Grafana 云集成。来源:Grafana
Grafana Enterprise 是一项服务,包含在自我管理环境中提供更好的可扩展性、协作、操作和治理的功能。
Grafana 企业堆栈。来源:Grafana
Grafana Tempo 是一个开源的大规模分布式目标追踪后端。 Tempo 具有成本效益,仅需要对象存储即可运行,并且与 Grafana、Loki 和 Prometheus 深度集成。
Grafana MetricTank 是 Grafana Labs 开发的 Graphite 多租户时间序列平台。 MetricTank 为大规模环境提供高可用性 (HA) 和高效的长期存储、检索和处理。
Grafana Tanka 是一个强大的 Kubernetes 集群配置实用程序,由 Jsonnet 语言提供支持。
Grafana Loki 是一个受 Prometheus 启发的水平可扩展、高可用 (HA)、多租户日志聚合系统。
Cortex 是一个允许用户在一个地方从多个 Prometheus 服务器查询指标的项目,而不会因服务器故障而导致 grpah 出现任何间隙。此外,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 还用于汽车、电视机、路由器、打印机、音频设备、手机、平板电脑、机顶盒、媒体播放器,并且是安装量超过 100 亿的数千种软件应用程序的互联网传输引擎。
cURL Fuzzer 是针对curl 项目的质量保证测试。
DoH 是用于 DoH (DNS-over-HTTPS) 名称解析和查找的独立应用程序。
Authelia 是一个开源的高可用性身份验证服务器,为 NGINX 后面运行的应用程序提供单点登录功能和双因素身份验证。
nginx(engine x) 是一个 HTTP 和反向代理服务器、邮件代理服务器和通用 TCP/UDP 代理服务器,最初由 Igor Sysoev 编写。
Proxmox Virtual Environment (VE) 是一个完整的企业虚拟化开源平台。它包含一个内置 Web 界面,您可以在单个解决方案上轻松管理虚拟机和容器、软件定义的存储和网络、高可用性集群以及多个开箱即用的工具。
Wireshark 是一种非常流行的网络协议分析仪,通常用于网络故障排除、分析和通信协议开发。了解有关其他有用的 Wireshark 工具的更多信息。
HTTPie 是一个命令行 HTTP 客户端。其目标是使 CLI 与 Web 服务的交互尽可能人性化。 HTTPie 设计用于测试、调试以及与 API 和 HTTP 服务器的一般交互。
HTTPStat 是一个以简单布局可视化curl 统计信息的工具。
Wuzz 是一个用于 HTTP 检查的交互式 cli 工具。它可用于通过“复制为 cURL”功能检查/修改从浏览器网络检查器复制的请求。
Websocat 是 WebSocket 的命令行客户端,类似于 ws:// 的 netcat(或curl),具有类似 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.
如果接口连接到 WAN,则通常假定可以通过 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.
一些低级协议包括 TCP、UDP、IP 和 ICMP。基于这些较低层协议构建的一些熟悉的应用层协议示例包括 HTTP(用于访问 Web 内容)、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 模型通常称为 Internet 协议套件,是另一种更简单且已被广泛采用的分层模型。它定义了四个独立的层,其中一些层与 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.
接口是计算机的网络通信点。每个接口都与物理或虚拟网络设备关联。通常,您的服务器将为您拥有的每个以太网或无线网卡配备一个可配置的网络接口。此外,它将定义一个称为“环回”或本地主机接口的虚拟网络接口。它用作将单个计算机上的应用程序和进程连接到其他应用程序和进程的接口。您可以在许多工具中看到它被称为“lo”接口。
网络的工作原理是搭载许多不同的协议。通过这种方式,可以使用相互封装的多个协议来传输一份数据。
媒体访问控制(MAC)是一种用于区分特定设备的通信协议。每个设备在制造过程中都应该获得一个唯一的 MAC 地址,以区别于互联网上的所有其他设备。通过 MAC 地址对硬件进行寻址允许您通过唯一值引用设备,即使顶部的软件可能在操作期间更改该特定设备的名称。媒体访问控制是您可能定期与之交互的唯一的链路层协议之一。
IP 协议是互联网运行的基本协议之一。 IP 地址在每个网络上都是唯一的,它们允许计算机通过网络相互寻址。它在IP/TCP模型中的互联网层上实现。网络可以链接在一起,但跨越网络边界时必须路由流量。该协议假设一个不可靠的网络和通往同一目的地的多条路径,并且可以在这些路径之间动态更改。该协议有多种不同的实现方式。当今最常见的实现是 IPv4,尽管由于可用 IPv4 地址的稀缺和协议功能的改进,IPv6 作为替代方案越来越受欢迎。
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:Secure shell是一种在应用层实现的加密协议,可用于以安全的方式与远程服务器进行通信。由于该协议的端到端加密和普遍性,许多其他技术都是围绕该协议构建的。还有许多其他同样重要的协议我们尚未介绍。然而,这应该能让您对一些使互联网和网络成为可能的基本技术有一个很好的概述。
REST(REpresentational State Transfer)是一种架构风格,用于在网络上的计算机系统之间提供标准,使系统更容易相互通信。
JSON Web Token (JWT) 是一种紧凑的 URL 安全方式,用于表示要在两方之间传输的声明。 JWT 中的声明被编码为 JSON 对象,并使用 JSON Web 签名 (JWS) 进行数字签名。
OAuth 2.0 是一个开源授权框架,使应用程序能够获得对 HTTP 服务上的用户帐户的有限访问权限,例如 Amazon、Google、Facebook、Microsoft、Twitter、GitHub 和 DigitalOcean。它的工作原理是将用户身份验证委托给托管用户帐户的服务,并授权第三方应用程序访问用户帐户。
回到顶部
容器架构。来源:Containerd.io
Docker 培训计划
Docker 认证助理 (DCA) 认证
Docker 文档 | Docker 文档
Docker 研讨会
Udemy 上的 Docker 课程
Coursera 上的 Docker 课程
edX 上的 Docker 课程
Linkedin 学习上的 Docker 课程
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 和 AWS 的软件、受支持和认证的容器平台。天蓝色。 2019 年 11 月,Docker 的企业平台业务被 Mirantis 收购。
Docker Desktop 是一款适用于 MacOS 和 Windows 计算机的应用程序,用于构建和共享容器化应用程序和微服务。 Docker Desktop 提供了在桌面上设计和交付容器化应用程序所需的速度、选择和安全性。 Docker Desktop 包括 Docker 应用程序、开发人员工具、Kubernetes 以及与生产 Docker 引擎的版本同步。
Docker Hub 是世界上最大的容器镜像库和社区,浏览来自软件供应商、开源项目和社区的超过 100,000 个容器镜像。
Docker Compose 是一款旨在帮助定义和共享多容器应用程序的工具。使用 Docker Compose,您可以创建一个 YAML 文件来定义服务,并使用单个命令即可启动或拆除所有内容。
Docker Swarm 是一个 Docker 原生集群系统 swarm 是一个简单的工具,它控制 Docker 主机集群并将其公开为单个“虚拟”主机。
Dockerfile 是一个文本文档,其中包含用户可以在命令行上调用来组装映像的所有命令。使用 docker build 用户可以创建一个连续执行多个命令行指令的自动化构建。
Docker 容器是一种标准软件单元,用于打包代码及其所有依赖项,以便应用程序能够快速可靠地从一个计算环境运行到另一个计算环境。
Docker Engine 是一个容器运行时,可在各种 Linux(CentOS、Debian、Fedora、Oracle Linux、RHEL、SUSE 和 Ubuntu)和 Windows Server 操作系统上运行。 Docker 创建了简单的工具和通用打包方法,将所有应用程序依赖项捆绑在容器内,然后在 Docker 引擎上运行。
Docker Images 是一个轻量级、独立的、可执行的软件包,其中包括运行应用程序所需的一切:代码、运行时、系统工具、系统库和设置。镜像具有中间层,可以提高可重用性、减少磁盘使用量,并通过允许缓存每个步骤来加速 docker 构建。默认情况下不显示这些中间层。 SIZE 是图像及其所有父图像所占用的累积空间。
Docker Network 是一个显示一个或多个网络的详细信息的网络。
Docker Daemon 是由系统实用程序启动的服务,而不是由用户手动启动。这使得机器重新启动时自动启动 Docker 变得更加容易。启动 Docker 的命令取决于您的操作系统。目前,它仅在 Linux 上运行,因为它依赖于许多 Linux 内核功能,但也有几种方法可以通过配置操作系统实用程序在 MacOS 和 Windows 上运行 Docker。
Docker Storage 是一个驱动程序,控制如何在 Docker 主机上存储和管理映像和容器。
Kitematic 是一个简单的应用程序,用于在 Mac、Linux 和 Windows 上管理 Docker 容器,让您可以通过图形用户界面 (GUI) 控制应用程序容器。
开放容器计划是一个开放的治理结构,其明确目的是围绕容器格式和运行时创建开放的行业标准。
Buildah 是一个用于构建开放容器计划 (OCI) 映像的命令行工具。它可以与 Docker、Podman、Kubernetes 一起使用。
Podman 是一款无守护程序、开源 Linux 本机工具,旨在使用开放容器倡议 (OCI) 容器和容器映像轻松查找、运行、构建、共享和部署应用程序。 Podman 提供了任何使用过 Docker 容器引擎的人都熟悉的命令行界面 (CLI)。
Containerd 是一个守护进程,用于管理其主机系统的整个容器生命周期,从图像传输和存储到容器执行和监督,再到低级存储到网络附件等等。它适用于 Linux 和 Windows。
回到顶部
Kubernetes (K8s) 是一个开源系统,用于自动化容器化应用程序的部署、扩展和管理。
获得 Kubernetes 认证
AWS 上的 Kubernetes 入门
微软 Azure 上的 Kubernetes
Azure Kubernetes 服务简介
Azure 红帽 OpenShift
开始使用 Google Cloud
Red Hat 上的 Kubernetes 入门
IBM 上的 Kubernetes 入门
IBM Cloud 上的红帽 OpenShift
在 Red Hat OpenShift 上启用 OpenShift 虚拟化
Kubernetes 中的 YAML 基础知识
Kubernetes 上的弹性云
Docker 和 Kubernetes
在 Kubernetes 上运行 Apache Spark
跨 VMware vRealize Automation 的 Kubernetes
VMware Tanzu Kubernetes 网格
VMware Tanzu 与 AWS 合作的所有方式
VMware Tanzu 教育
在云原生 Kubernetes 环境中使用 Ansible
使用 Ansible 管理 Kubernetes (K8s) 对象
使用 Vagrant 和 Ansible 设置 Kubernetes 集群
使用 Kubernetes 运行 MongoDB
Kubernetes Fluentd
了解新的 GitLab Kubernetes 代理
Visual Studio 2019 的 Kubernetes 本地流程简介
Kubernetes 贡献者
VMware 的 KubeAcademy
来自 Pulumi 的 Kubernetes 教程
Katacoda 的 Kubernetes 游乐场
Udacity 的可扩展微服务与 Kubernetes 课程
开放容器计划是一个开放的治理结构,其明确目的是围绕容器格式和运行时创建开放的行业标准。
Buildah 是一个用于构建开放容器计划 (OCI) 映像的命令行工具。它可以与 Docker、Podman、Kubernetes 一起使用。
Podman 是一款无守护程序、开源 Linux 本机工具,旨在使用开放容器倡议 (OCI) 容器和容器映像轻松查找、运行、构建、共享和部署应用程序。 Podman 提供了任何使用过 Docker 容器引擎的人都熟悉的命令行界面 (CLI)。
Containerd 是一个守护进程,用于管理其主机系统的整个容器生命周期,从图像传输和存储到容器执行和监督,再到低级存储到网络附件等等。它适用于 Linux 和 Windows。
Google Kubernetes Engine (GKE) 是一个用于运行容器化应用程序的托管、生产就绪环境。
Azure Kubernetes 服务 (AKS) 是无服务器 Kubernetes,具有集成的持续集成和持续交付 (CI/CD) 体验以及企业级安全性和治理。将您的开发和运营团队联合在一个平台上,充满信心地快速构建、交付和扩展应用程序。
Amazon EKS 是一种跨多个可用区运行 Kubernetes 控制平面实例以确保高可用性的工具。
AWS Controllers for Kubernetes (ACK) 是一款新工具,可让您直接从 Kubernetes 管理 AWS 服务。 ACK 让您可以轻松构建利用 AWS 服务的可扩展且高度可用的 Kubernetes 应用程序。
Container Engine for Kubernetes (OKE) 是一种 Oracle 管理的容器编排服务,可以减少构建现代云原生应用程序的时间和成本。与大多数其他供应商不同,Oracle 云基础设施为 Kubernetes 提供容器引擎作为免费服务,在性能更高、成本更低的计算上运行。
Anthos 是一个现代应用程序管理平台,可为云和本地环境提供一致的开发和操作体验。
红帽 Openshift 是一个完全托管的 Kubernetes 平台,为本地、混合和多云部署提供基础。
OKD 是 Kubernetes 的社区发行版,针对持续应用程序开发和多租户部署进行了优化。 OKD 在 Kubernetes 之上添加了以开发人员和运营为中心的工具,以便为小型和大型团队提供快速应用程序开发、轻松部署和扩展以及长期生命周期维护。
Odo 是一款快速、迭代且简单的 CLI 工具,适合在 Kubernetes 和 OpenShift 上编写、构建和部署应用程序的开发人员。
Kata Operator 是一个在 Openshift 以及 Kubernetes 集群上执行 Kata Runtime 生命周期管理(安装/升级/卸载)的操作器。
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 是一款致力于使 Kubernetes 上的机器学习 (ML) 工作流程部署变得简单、可移植且可扩展的工具。
Etcd 是一种分布式键值存储,它提供了一种可靠的方式来存储需要由分布式系统或机器集群访问的数据。 Etcd 用作服务发现的后端,并存储 Kubernetes 的集群状态和配置。
OpenEBS 是一个基于 Kubernetes 的工具,用于使用容器附加存储创建有状态应用程序。
容器存储接口 (CSI) 是一种 API,可让 Kubernetes 等容器编排平台通过插件与存储的数据无缝通信。
MicroK8s 是一款提供完整 Kubernetes 体验的工具。在完全容器化的部署中,通过压缩的无线更新实现超可靠的操作。它在 Linux、Windows 和 MacOS 上受支持。
Charmed Kubernetes 是一个集成良好、交钥匙、一致的 Kubernetes 平台,针对 Canonical 开发的多云环境进行了优化。
Grafana Kubernetes 应用程序是一个收费工具,可让您监控 Kubernetes 集群的性能。它包括 4 个仪表板:集群、节点、Pod/容器和部署。它允许自动部署所需的 Prometheus 导出器和默认的抓取配置,以与集群中的 Prometheus 部署一起使用。
KubeEdge 是一个开源系统,用于将本机容器化应用程序编排功能扩展到 Edge 主机。它基于 kubernetes 构建,为网络、应用程序提供基础设施支持。云与边缘之间的部署和元数据同步。
对于每天需要处理 Kubernetes 集群的人们来说,Lens 是最强大的 IDE。它支持 MacOS、Windows 和 Linux 操作系统。
Flux CD 是一个工具,可以自动确保 Kubernetes 集群的状态与您在 Git 中提供的配置相匹配。它使用集群中的操作员来触发 Kubernetes 内部的部署,这意味着您不需要单独的持续交付工具。
Platform9 Managed Kubernetes (PMK) 是一种 Kubernetes 即服务,可确保在任何环境(无论是数据中心、公共云还是边缘)上实现完全自动化的 Day-2 操作,并提供 99.9% 的 SLA。
回到顶部
Jeff Geerling 的 Mac 开发 Ansible 手册
Ansible 是一个简单的 IT 自动化引擎,可自动执行云配置、配置管理、应用程序部署、服务内编排和许多其他 IT 需求。它使用一种非常简单的语言(YAML,以 Ansible Playbook 的形式),允许您以接近简单英语的方式描述您的自动化作业。 Anisble 可在 Linux(Red Hat Enterprise Linux(RHEL) 和 Ubuntu)和 Microsoft Windows 上运行。
红帽 Ansible 培训
Udemy 的热门 Ansible 在线课程
Ansible 简介:Coursera 上的基础知识
在 Pluralsight 上学习 Ansible 基础知识
红帽 Ansible 自动化平台 2.1 简介
Ansible 文档
Ansible Galaxy 用户指南
Ansible 用例
Ansible 集成
Ansible 集合概述
使用剧本
Jeff Geerling 的 Ansible for DevOps 示例
入门:编写您的第一本剧本 - Ansible
在 Ansible 中使用模块
Ansible 最佳实践:角色和模块
使用 Ansible 命令行工具
使用 Ansible Vault 加密内容
在 Playbook 中与 Ansible 一起使用 Vault
将 Ansible 与 Azure 结合使用
在 Azure VM 上配置 Ansible
如何使用 Ansible:来自 DigitalOcean 的 Ansible 备忘单指南
Linode 上的 Ansible 简介 |空间实验室
Ansible Automation Hub 是发现和下载支持的集合的官方位置,作为 Ansible 自动化平台订阅的一部分。这些内容集合包含可下载包中的模块、插件、角色和剧本。
集合是 Ansible 内容的分发格式,可以包括剧本、角色、模块和插件。当模块从核心 Ansible 存储库移至集合时,模块文档将移至集合页面。
Ansible Lint是用于覆盖剧本,角色和收藏品的命令行工具。它的主要目标是促进经过验证的实践,模式和行为,同时避免常见的陷阱,这些陷阱很容易导致错误或使代码更难维护。
Ansible CMDB是一种工具,可将Ansible事实收集的输出输出,并将其转换为包含系统配置信息的静态HTML概述页面。
Ansible库存图形在视觉上显示库存继承层次结构以及在库存中定义的变量的层次。
Ansible Playbook Grapher是一个命令行工具,可以创建代表您的Ansible Playbook任务和角色的图形。
Ansible Shell是可安置的交互式外壳,所有模块的内置选项卡都可以完成。
Ansible Silo是Docker的独立环境。
Ansigenome是一种命令行工具,旨在帮助您管理Ansible角色。
ARA是一本可录制的剧本运行,并通过与Ansible作为回调插件集成,可为用户和系统提供录制的数据。
Capistrano是一种远程服务器自动化工具。它支持任意任务的脚本和执行,并包括一组理智默认部署工作流程。
面料是一个高级Python(2.7,3.4+)库,旨在在SSH上远程执行Shell命令,从而产生有用的Python对象。它在Invoke(子过程命令执行和命令行功能)和Paramiko(SSH协议实现)之上构建,扩展其API以相互补充并提供其他功能。
Ansible-lole-WireGuard是安装Wineguard VPN的一项明显角色。支持Ubuntu,Debian,Archlinx,Fedora和Centos Stream。
WireGuard_Cloud_gateway是将Wineguard设置为云网络的网关VPN服务器的可替代角色。
Red Hat OpenShift专注于容器堆栈和整个应用程序生命周期的每个级别的安全性。它包括来自领先的Kubernetes贡献者和开源软件公司的长期企业支持。
OpenShift Hive是一家运营商,可在Kubernetes/OpenShift顶部运行。 Hive服务可用于提供和执行OpenShift 4群集的初始配置。
回到顶部
SQL是一种用于在关系数据库中存储,操纵和检索数据的标准语言。
NOSQL是一个数据库,可互换称为“非关联或“非sql”,以强调数据库可以以不同于关系(基于SQL的)数据库的方式来处理大量快速变化的非结构性数据的巨大数量。
Transact-SQL(T-SQL)是SQL的Microsoft扩展,其中所有通过发送T-SQL命令通过发送T-SQL命令通信到SQL数据库的所有工具和应用程序。
Transact-SQL简介
W3Schools的SQL教程
从Coursera在线学习SQL技能
从Udemy在线的SQL课程
LinkedIn学习的SQL在线培训课程
从Codecademy免费学习SQL
Gitlab的SQL样式指南
OracledB SQL样式指南基础知识
Tableau CRM:BI软件和工具
AWS上的数据库
AWS EC2中SQL Server聚类的最佳实践和建议。
从Google Kubernetes引擎连接到云SQL实例。
教育Microsoft Azure SQL资源
MySQL认证
SQL与NOSQL数据库:有什么区别?
什么是NoSQL?
NetData是高保真基础架构监视和故障排除,实时监视代理从系统,硬件,容器和应用程序中收集数千个指标,并以零配置为零。它可以永久运行您的所有物理/虚拟服务器,容器,云部署以及边缘/IoT设备,并且在无需任何准备的情况下完全安全地安装在系统中的系统中。
Azure Data Studio是一种开源数据管理工具,可从Windows,MacOS和Linux与SQL Server,Azure SQL DB和SQL DW合作。
RSTUDIO是R和Python的集成开发环境,它具有支持直接代码执行的控制台,语法高光编辑器,以及用于绘制,历史记录,调试和工作空间管理的工具。
MySQL是一种完全管理的数据库服务,可使用世界上最受欢迎的开源数据库部署云本地应用程序。
PostgreSQL是一个功能强大的开源对象相关数据库系统,具有超过30年的积极开发,为可靠性,功能鲁棒性和性能而赢得了良好的声誉。
Amazon DynamoDB是一个键值和文档数据库,可在任何规模上提供单位数毫秒性能。它是一个完全管理的,多局,多米米主,耐用的数据库,具有内置安全性,备份和还原,以及用于Internet规模应用程序的内存中心。
Apache Cassandra™ 是一种开源 NoSQL 分布式数据库,在不影响性能的情况下具有可扩展性和高可用性,受到数千家公司的信赖。 Cassandra 在商用硬件或云基础设施上提供线性可扩展性和经过验证的容错能力,使其成为关键任务数据的完美平台。
Apache HBase™ 是一种开源、NoSQL、分布式大数据存储。它可以实现对 PB 级数据的随机、严格一致、实时访问。 HBase 对于处理大型稀疏数据集非常有效。 HBase 充当 Hadoop 的 Apache MapReduce 框架的直接输入和输出,并与 Apache Phoenix 配合使用,以实现对 HBase 表的类似 SQL 的查询。
Hadoop 分布式文件系统 (HDFS) 是一种分布式文件系统,可处理在商用硬件上运行的大型数据集。它用于将单个 Apache Hadoop 集群扩展到数百(甚至数千)个节点。 HDFS 是 Apache Hadoop 的主要组件之一,其他组件是 MapReduce 和 YARN。
Apache Mesos 是一个集群管理器,可跨分布式应用程序或框架提供高效的资源隔离和共享。它可以在动态共享节点池上运行 Hadoop、Jenkins、Spark、Aurora 和其他框架。
Apache Spark是用于大数据处理的统一分析引擎,具有用于流,SQL,机器学习和图形处理的内置模块。
ElasticSearch是一个基于Lucene库的搜索引擎。它提供了一个分布式、支持多租户的全文搜索引擎,具有 HTTP Web 界面和无模式 JSON 文档。 Elasticsearch 是用 Java 开发的。
Logstash 是一个用于管理事件和日志的工具。一般使用时,该术语涵盖更大的日志收集、处理、存储和搜索活动系统。
Kibana 是 Elasticsearch 的开源数据可视化插件。它在 Elasticsearch 集群上索引的内容之上提供可视化功能。用户可以创建栏,