첫 번째는 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 OS 및 기타 운영 체제를 microSD 카드에 설치하여 Raspberry Pi와 함께 사용할 수 있는 빠르고 쉬운 방법입니다.
CM4 모듈용 Raspberry Pi 라우터 보드(비용: 미화 55달러)는 Raspberry Pi 컴퓨팅 모듈 4를 기반으로 한 확장 보드입니다. Raspberry Pi CM4에 2개의 전속 기가비트 네트워크 포트를 제공하고 더 나은 성능, 더 낮은 CPU 사용량 및 더 높은 안정성을 제공합니다. USB 네트워크 카드에 비해 장시간 작업이 가능합니다. Raspberry Pi OS, Ubuntu Server 및 기타 Raspberry Pi 시스템과 호환됩니다.
CM4 모듈용 라즈베리 파이 라우터 보드
기술 사양:
맨 위로 돌아가기
WDT(Watchdog Timer)는 마이크로 컨트롤러(MCU) 프로그램을 모니터링하여 제어 불능 상태인지 또는 작동이 중지되었는지 확인하는 타이머입니다.
watchdog을 활성화하려면 nano, vim, gedit 등과 같은 텍스트 편집기를 사용하여 /boot/config.txt 에 dtparam=watchdog=on을 추가하여 부팅 매개변수를 변경해야 합니다. 또한 watchdog 패키지를 설치하고 다음 위치에서 시작할 수 있도록 활성화해야 합니다. 시작. 또한 이러한 설정을 적용하려면 Raspberry Pi를 다시 시작해야 합니다.
pi@raspberrypi:~ $ sudo apt install watchdog
pi@raspberrypi:~ $sudo systemctl enable watchdog
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의 라즈베리 파이 케이스
The Pi Hut의 라즈베리 파이 케이스
X825 확장 보드는 최신 Raspberry Pi 4 모델 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 SSD
Western Digital 1TB WD 블루 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 프로 교육 AWS | 그라파나 연구소
그라파나 튜토리얼
Udemy의 최고의 Grafana 강좌
Grafana 온라인 교육 과정 | LinkedIn 학습
Grafana 교육 과정-NobleProg
Coursera의 측정 과정을 시각화하기 위해 Grafana 설정
Grafana Cloud는 지표, 추적 및 로그를 Grafana와 통합하는 구성 가능한 관찰 플랫폼입니다. 관측 가능성 스택을 설치, 유지 관리 및 확장하는 오버헤드 없이 Prometheus, Loki, Tempo를 포함한 최고의 오픈 소스 관측 가능성 소프트웨어를 활용하세요.
Grafana 클라우드 통합. 출처: 그라파나
Grafana Enterprise는 자체 관리 환경에서 더 나은 확장성, 협업, 운영 및 거버넌스를 제공하는 기능을 포함하는 서비스입니다.
Grafana 엔터프라이즈 스택. 출처: 그라파나
Grafana Tempo는 오픈 소스 대규모 분산형 tarcing 백엔드입니다. Tempo는 비용 효율적이며 작동하는 데 개체 스토리지만 필요하며 Grafana, Loki 및 Prometheus와 긴밀하게 통합됩니다.
Grafana MetricTank는 Grafana Labs에서 개발한 Graphite용 다중 테넌트 시계열 플랫폼입니다. MetricTank는 대규모 환경을 위한 고가용성(HA)과 효율적인 장기 저장, 검색 및 처리를 제공합니다.
Grafana Tanka는 Jsonnet 언어로 구동되는 Kubernetes 클러스터를 위한 강력한 구성 유틸리티입니다.
Grafana Loki는 Prometheus에서 영감을 받아 수평 확장이 가능한 고가용성(HA) 다중 테넌트 로그 집계 시스템입니다.
Cortex는 사용자가 서버 장애로 인한 grpah의 공백 없이 한 곳에서 여러 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은 자동차, 텔레비전 세트, 라우터, 프린터, 오디오 장비, 휴대폰, 태블릿, 셋톱 박스, 미디어 플레이어에도 사용되며 100억 개가 넘는 설치에서 수천 개의 소프트웨어 애플리케이션을 위한 인터넷 전송 엔진입니다.
cURL Fuzzer는 컬 프로젝트에 대한 품질 보증 테스트입니다.
DoH는 DoH(DNS-over-HTTPS) 이름 확인 및 조회를 위한 독립 실행형 애플리케이션입니다.
Authelia는 NGINX 뒤에서 실행되는 애플리케이션에 Single Sign-On 기능과 2단계 인증을 제공하는 오픈 소스 고가용성 인증 서버입니다.
nginx(engine x)는 원래 Igor Sysoev가 작성한 HTTP 및 역방향 프록시 서버, 메일 프록시 서버 및 일반 TCP/UDP 프록시 서버입니다.
Proxmox Virtual Environment(VE)는 엔터프라이즈 가상화를 위한 완전한 오픈 소스 플랫폼입니다. 단일 솔루션에서 VM 및 컨테이너, 소프트웨어 정의 스토리지 및 네트워킹, 고가용성 클러스터링, 즉시 사용 가능한 여러 도구를 쉽게 관리할 수 있는 내장형 웹 인터페이스가 포함되어 있습니다.
Wireshark는 네트워크 문제 해결, 분석 및 통신 프로토콜 개발에 일반적으로 사용되는 매우 널리 사용되는 네트워크 프로토콜 분석기입니다. 사용 가능한 다른 유용한 Wireshark 도구에 대해 자세히 알아보세요.
HTTPie는 명령줄 HTTP 클라이언트입니다. 목표는 CLI와 웹 서비스의 상호 작용을 최대한 인간 친화적으로 만드는 것입니다. HTTPie는 테스트, 디버깅 및 일반적으로 API 및 HTTP 서버와 상호 작용하도록 설계되었습니다.
HTTPStat는 컬 통계를 간단한 레이아웃으로 시각화하는 도구입니다.
Wuzz는 HTTP 검사를 위한 대화형 CLI 도구입니다. "cURL로 복사" 기능을 사용하여 브라우저의 네트워크 검사기에서 복사된 요청을 검사/수정하는 데 사용할 수 있습니다.
Websocat은 고급 socat 유사 기능을 갖춘 ws://용 netcat(또는 컬)과 같은 WebSocket용 명령줄 클라이언트입니다.
• 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에 연결되어 있으면 일반적으로 인터넷을 통해 연결할 수 있다고 가정합니다.
• 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 모델은 더 간단하고 널리 채택된 또 다른 계층화 모델입니다. 이는 4개의 개별 계층을 정의하며 그 중 일부는 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.
인터페이스는 컴퓨터의 네트워킹 통신 지점입니다. 각 인터페이스는 물리적 또는 가상 네트워킹 장치와 연결됩니다. 일반적으로 서버에는 보유하고 있는 각 이더넷 또는 무선 인터넷 카드에 대해 구성 가능한 네트워크 인터페이스가 하나씩 있습니다. 또한 "루프백" 또는 localhost 인터페이스라고 하는 가상 네트워크 인터페이스를 정의합니다. 이는 단일 컴퓨터의 애플리케이션 및 프로세스를 다른 애플리케이션 및 프로세스에 연결하는 인터페이스로 사용됩니다. 많은 도구에서 이를 "lo" 인터페이스로 참조하는 것을 볼 수 있습니다.
네트워킹은 서로 다른 여러 프로토콜을 피기백하여 작동합니다. 이러한 방식으로 서로 캡슐화된 여러 프로토콜을 사용하여 하나의 데이터를 전송할 수 있습니다.
MAC(Media Access Control) 은 특정 장치를 구별하는 데 사용되는 통신 프로토콜입니다. 각 장치는 제조 과정에서 인터넷의 다른 모든 장치와 구별되는 고유한 MAC 주소를 얻어야 합니다. MAC 주소로 하드웨어 주소를 지정하면 상단의 소프트웨어가 작동 중에 특정 장치의 이름을 변경할 수 있는 경우에도 고유한 값으로 장치를 참조할 수 있습니다. 미디어 액세스 제어는 정기적으로 상호 작용할 가능성이 있는 링크 계층의 유일한 프로토콜 중 하나입니다.
IP 프로토콜은 인터넷이 작동할 수 있도록 하는 기본 프로토콜 중 하나입니다. IP 주소는 각 네트워크에서 고유하며 이를 통해 시스템은 네트워크를 통해 서로 주소를 지정할 수 있습니다. 이는 IP/TCP 모델의 인터넷 계층에서 구현됩니다. 네트워크는 서로 연결될 수 있지만 네트워크 경계를 넘을 때 트래픽이 라우팅되어야 합니다. 이 프로토콜은 신뢰할 수 없는 네트워크와 동적으로 변경될 수 있는 동일한 대상에 대한 여러 경로를 가정합니다. 프로토콜에는 다양한 구현이 있습니다. 오늘날 가장 일반적인 구현은 IPv4이지만, 사용 가능한 IPv4 주소가 부족하고 프로토콜 기능이 향상되어 IPv6가 대안으로 인기가 높아지고 있습니다.
ICMP: 인터넷 제어 메시지 프로토콜은 가용성 또는 오류 조건을 나타내기 위해 장치 간에 메시지를 보내는 데 사용됩니다. 이러한 패킷은 ping 및 경로 추적과 같은 다양한 네트워크 진단 도구에 사용됩니다. 일반적으로 ICMP 패킷은 다른 종류의 패킷이 어떤 종류의 문제를 만날 때 전송됩니다. 기본적으로 네트워크 통신을 위한 피드백 메커니즘으로 사용됩니다.
TCP: 전송 제어 프로토콜은 IP/TCP 모델의 전송 계층에서 구현되며 안정적인 연결을 설정하는 데 사용됩니다. TCP는 데이터를 패킷으로 캡슐화하는 프로토콜 중 하나입니다. 그런 다음 하위 계층에서 사용 가능한 방법을 사용하여 연결의 원격 끝으로 이를 전송합니다. 다른 한편으로는 오류를 확인하고, 특정 부분을 재전송하도록 요청하고, 정보를 하나의 논리적 조각으로 재조립하여 애플리케이션 계층으로 보낼 수 있습니다. 프로토콜은 3방향 핸드셰이크라는 시스템을 사용하여 데이터 전송 전에 연결을 구축합니다. 이는 통신의 양쪽 끝에서 요청을 확인하고 데이터 신뢰성을 보장하는 방법에 동의하는 방법입니다. 데이터가 전송된 후 유사한 4방향 핸드셰이크를 사용하여 연결이 끊어집니다. 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)는 웹상의 컴퓨터 시스템 간 표준을 제공하여 시스템 간 통신을 보다 쉽게 하기 위한 아키텍처 스타일입니다.
JWT(JSON Web Token)는 두 당사자 간에 전송되는 클레임을 나타내는 컴팩트한 URL 안전 수단입니다. JWT의 클레임은 JWS(JSON 웹 서명)를 사용하여 디지털 서명된 JSON 개체로 인코딩됩니다.
OAuth 2.0은 애플리케이션이 Amazon, Google, Facebook, Microsoft, Twitter GitHub 및 DigitalOcean과 같은 HTTP 서비스의 사용자 계정에 제한적으로 액세스할 수 있도록 하는 오픈 소스 인증 프레임워크입니다. 이는 사용자 계정을 호스팅하는 서비스에 사용자 인증을 위임하고 타사 애플리케이션에 사용자 계정에 액세스할 수 있는 권한을 부여하는 방식으로 작동합니다.
맨 위로 돌아가기
컨테이너 아키텍처. 출처: Containerd.io
도커 교육 프로그램
Docker Certified Associate(DCA) 자격증
도커 문서 | 도커 문서
도커 워크숍
Udemy의 Docker 강좌
Coursera의 Docker 강좌
edX의 Docker 강좌
Linkedin 학습에 대한 Docker 코스
Docker는 애플리케이션을 개발, 제공 및 실행하기 위한 개방형 플랫폼입니다. Docker를 사용하면 인프라에서 애플리케이션을 분리할 수 있으므로 Microsoft를 포함한 클라우드, Linux 및 Windows 공급업체와 협력하여 신속하게 소프트웨어를 제공할 수 있습니다.
Docker Enterprise는 CentOS, Red Hat Enterprise Linux(RHEL), Ubuntu, SUSE Linux Enterprise Server(SLES), Oracle Linux 및 Windows Server 2016은 물론 클라우드 제공업체인 AWS 및 Windows Server 2016에 대한 소프트웨어, 지원 및 인증된 컨테이너 플랫폼을 포함하는 구독입니다. 하늘빛. 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 빌드를 사용하면 사용자는 여러 명령줄 지침을 연속적으로 실행하는 자동화된 빌드를 만들 수 있습니다.
Docker 컨테이너는 애플리케이션이 한 컴퓨팅 환경에서 다른 컴퓨팅 환경으로 빠르고 안정적으로 실행될 수 있도록 코드와 모든 종속성을 패키지화하는 소프트웨어의 표준 단위입니다.
Docker 엔진은 다양한 Linux(CentOS, Debian, Fedora, Oracle Linux, RHEL, SUSE 및 Ubuntu) 및 Windows Server 운영 체제에서 실행되는 컨테이너 런타임입니다. Docker는 Docker 엔진에서 실행되는 컨테이너 내부에 모든 애플리케이션 종속성을 묶는 간단한 도구와 범용 패키징 접근 방식을 만듭니다.
Docker 이미지는 코드, 런타임, 시스템 도구, 시스템 라이브러리 및 설정 등 애플리케이션을 실행하는 데 필요한 모든 것을 포함하는 경량의 독립형 실행 가능 소프트웨어 패키지입니다. 이미지에는 재사용성을 높이고, 디스크 사용량을 줄이고, 각 단계를 캐시할 수 있도록 하여 Docker 빌드 속도를 높이는 중간 레이어가 있습니다. 이러한 중간 레이어는 기본적으로 표시되지 않습니다. SIZE는 이미지와 모든 상위 이미지가 차지하는 누적 공간입니다.
Docker Network는 하나 이상의 네트워크에 대한 자세한 정보를 표시하는 네트워크입니다.
Docker Daemon은 사용자가 수동으로 시작하는 서비스가 아닌 시스템 유틸리티에 의해 시작되는 서비스입니다. 이렇게 하면 머신이 재부팅될 때 Docker를 자동으로 시작하는 것이 더 쉬워집니다. Docker를 시작하는 명령은 운영 체제에 따라 다릅니다. 현재는 다양한 Linux 커널 기능에 의존하기 때문에 Linux에서만 실행되지만 운영 체제 유틸리티를 구성하여 MacOS 및 Windows에서도 Docker를 실행할 수 있는 몇 가지 방법이 있습니다.
Docker Storage는 Docker 호스트에서 이미지와 컨테이너가 저장되고 관리되는 방식을 제어하는 드라이버입니다.
Kitematic은 Mac, Linux 및 Windows에서 Docker 컨테이너를 관리하기 위한 간단한 애플리케이션으로, 그래픽 사용자 인터페이스(GUI)에서 앱 컨테이너를 제어할 수 있습니다.
개방형 컨테이너 이니셔티브(Open Container Initiative)는 컨테이너 형식 및 런타임에 대한 개방형 산업 표준을 만들기 위한 명시적인 목적을 위한 개방형 거버넌스 구조입니다.
Buildah는 OCI(Open Container Initiative) 이미지를 빌드하는 명령줄 도구입니다. Docker, Podman, Kubernetes와 함께 사용할 수 있습니다.
Podman은 OCI(Open Containers Initiative) 컨테이너 및 컨테이너 이미지를 사용하여 애플리케이션을 쉽게 검색, 실행, 구축, 공유 및 배포할 수 있도록 설계된 데몬이 없는 오픈 소스 Linux 기본 도구입니다. Podman은 Docker 컨테이너 엔진을 사용해 본 사람이라면 누구에게나 친숙한 명령줄 인터페이스(CLI)를 제공합니다.
Containerd는 이미지 전송 및 저장부터 컨테이너 실행 및 감독, 하위 수준 저장, 네트워크 연결 및 그 이상에 이르기까지 호스트 시스템의 전체 컨테이너 수명주기를 관리하는 데몬입니다. Linux와 Windows에서 사용할 수 있습니다.
맨 위로 돌아가기
Kubernetes(K8s)는 컨테이너화된 애플리케이션의 배포, 확장 및 관리를 자동화하기 위한 오픈 소스 시스템입니다.
Kubernetes 인증 받기
AWS에서 Kubernetes 시작하기
Microsoft Azure의 Kubernetes
Azure Kubernetes 서비스 소개
Azure 레드햇 오픈시프트
Google Cloud 시작하기
Red Hat에서 Kubernetes 시작하기
IBM에서 Kubernetes 시작하기
IBM Cloud 기반 Red Hat OpenShift
Red Hat OpenShift에서 OpenShift 가상화 활성화
Kubernetes의 YAML 기본 사항
Kubernetes의 Elastic Cloud
도커와 쿠버네티스
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 실행
쿠버네티스 플루언트
새로운 GitLab Kubernetes 에이전트 이해
Visual Studio 2019용 Kubernetes를 사용한 로컬 프로세스 소개
Kubernetes 기여자
VMware의 KubeAcademy
Pulumi의 Kubernetes 튜토리얼
Katacoda의 Kubernetes 놀이터
Udacity의 Kubernetes 과정을 통한 확장 가능한 마이크로서비스
개방형 컨테이너 이니셔티브(Open Container Initiative)는 컨테이너 형식 및 런타임에 대한 개방형 산업 표준을 만들기 위한 명시적인 목적을 위한 개방형 거버넌스 구조입니다.
Buildah는 OCI(Open Container Initiative) 이미지를 빌드하는 명령줄 도구입니다. Docker, Podman, Kubernetes와 함께 사용할 수 있습니다.
Podman은 OCI(Open Containers Initiative) 컨테이너 및 컨테이너 이미지를 사용하여 애플리케이션을 쉽게 검색, 실행, 구축, 공유 및 배포할 수 있도록 설계된 데몬이 없는 오픈 소스 Linux 기본 도구입니다. Podman은 Docker 컨테이너 엔진을 사용해 본 사람이라면 누구에게나 친숙한 명령줄 인터페이스(CLI)를 제공합니다.
Containerd는 이미지 전송 및 저장부터 컨테이너 실행 및 감독, 하위 수준 저장, 네트워크 연결 및 그 이상에 이르기까지 호스트 시스템의 전체 컨테이너 수명주기를 관리하는 데몬입니다. Linux와 Windows에서 사용할 수 있습니다.
Google Kubernetes Engine(GKE)은 컨테이너화된 애플리케이션을 실행하기 위해 프로덕션에 바로 사용 가능한 관리형 환경입니다.
AKS(Azure Kubernetes Service)는 통합 CI/CD(지속적인 통합 및 지속적인 업데이트) 환경과 엔터프라이즈급 보안 및 거버넌스를 갖춘 서버리스 Kubernetes입니다. 개발팀과 운영팀을 단일 플랫폼에 통합하여 자신 있게 애플리케이션을 신속하게 구축, 제공, 확장하세요.
Amazon EKS는 고가용성을 보장하기 위해 여러 가용 영역에서 Kubernetes 제어 플레인 인스턴스를 실행하는 도구입니다.
Kubernetes용 AWS 컨트롤러(ACK)는 Kubernetes에서 AWS 서비스를 직접 관리할 수 있는 새로운 도구입니다. ACK를 사용하면 AWS 서비스를 활용하는 확장 가능하고 가용성이 높은 Kubernetes 애플리케이션을 간단하게 구축할 수 있습니다.
OKE(Container Engine for Kubernetes)는 최신 클라우드 네이티브 애플리케이션을 구축하는 데 드는 시간과 비용을 줄일 수 있는 Oracle 관리형 컨테이너 오케스트레이션 서비스입니다. 대부분의 다른 공급업체와 달리 Oracle Cloud Infrastructure는 더 높은 성능, 더 저렴한 컴퓨팅에서 실행되는 무료 서비스로 Kubernetes용 Container Engine을 제공합니다.
Anthos는 클라우드 및 온프레미스 환경에 일관된 개발 및 운영 환경을 제공하는 최신 애플리케이션 관리 플랫폼입니다.
Red Hat Openshift는 온프레미스, 하이브리드, 멀티클라우드 배포를 위한 기반을 제공하는 완전 관리형 Kubernetes 플랫폼입니다.
OKD는 지속적인 애플리케이션 개발 및 멀티 테넌트 배포에 최적화된 Kubernetes의 커뮤니티 배포판입니다. OKD는 Kubernetes 위에 개발자 및 운영 중심 도구를 추가하여 소규모 및 대규모 팀을 위한 신속한 애플리케이션 개발, 손쉬운 배포 및 확장, 장기적인 수명 주기 유지 관리를 지원합니다.
Odo는 Kubernetes 및 OpenShift에서 애플리케이션을 작성, 구축 및 배포하는 개발자를 위한 빠르고 반복적이며 간단한 CLI 도구입니다.
Kata Operator는 Openshift 및 Kubernetes 클러스터에서 Kata Runtime의 라이프사이클 관리(설치/업그레이드/제거)를 수행하는 운영자입니다.
Thanos는 기존 Prometheus 배포 위에 원활하게 추가할 수 있는 무제한 저장 용량을 갖춘 고가용성 측정 시스템으로 구성할 수 있는 구성 요소 집합입니다.
OpenShift Hive는 Kubernetes/OpenShift 위에서 서비스로 실행되는 연산자입니다. Hive 서비스를 사용하여 OpenShift 4 클러스터의 초기 구성을 프로비저닝하고 수행할 수 있습니다.
Rook은 분산 스토리지 시스템을 자가 관리, 자가 확장, 자가 치유 스토리지 서비스로 전환하는 도구입니다. 배포, 부트스트래핑, 구성, 프로비저닝, 확장, 업그레이드, 마이그레이션, 재해 복구, 모니터링, 리소스 관리 등 스토리지 관리자의 작업을 자동화합니다.
VMware Tanzu는 여러 팀과 프라이빗/퍼블릭 클라우드 전반에서 Kubernetes 인프라와 최신 애플리케이션을 일관되게 운영하고 보호하기 위한 중앙 집중식 관리 플랫폼입니다.
Kubespray는 Kubernetes와 Ansible을 결합하여 AWS, GCE, Azure, OpenStack, vSphere, Packet(베어 메탈), Oracle Cloud 인프라(실험) 또는 Baremetal에 배포할 수 있는 Kubernetes 클러스터를 쉽게 설치하는 도구입니다.
KubeInit은 여러 Kubernetes 배포판의 배포 및 구성을 위한 Ansible 플레이북과 역할을 제공합니다.
Rancher는 컨테이너를 채택하는 팀을 위한 완벽한 소프트웨어 스택입니다. 여러 Kubernetes 클러스터를 관리하는 데 따른 운영 및 보안 문제를 해결하는 동시에 DevOps 팀에 컨테이너화된 워크로드를 실행하기 위한 통합 도구를 제공합니다.
K3s는 무인, 리소스 제한, 원격 위치 또는 IoT 어플라이언스 내부의 프로덕션 워크로드를 위해 설계된 고가용성 인증 Kubernetes 배포판입니다.
Helm은 Kubernetes 애플리케이션을 더 쉽게 설치하고 관리할 수 있게 해주는 Kubernetes 패키지 관리자 도구입니다.
Knative는 최신 서버리스 워크로드를 구축, 배포, 관리하기 위한 Kubernetes 기반 플랫폼입니다. Knative는 네트워킹, 자동 스케일링(0까지) 및 개정 추적의 운영 오버헤드 세부사항을 처리합니다.
KubeFlow는 Kubernetes에서 기계 학습(ML) 워크플로를 간단하고 이식 가능하며 확장 가능하게 배포하기 위한 전용 도구입니다.
Etcd는 분산 시스템이나 머신 클러스터에서 액세스해야 하는 데이터를 저장하는 안정적인 방법을 제공하는 분산 키-값 저장소입니다. Etcd는 서비스 검색을 위한 백엔드로 사용되며 Kubernetes의 클러스터 상태 및 구성을 저장합니다.
OpenEBS는 컨테이너 연결 스토리지를 사용하여 상태 저장 애플리케이션을 생성하는 Kubernetes 기반 도구입니다.
CSI(컨테이너 스토리지 인터페이스)는 Kubernetes와 같은 컨테이너 오케스트레이션 플랫폼이 플러그인을 통해 저장된 데이터와 원활하게 통신할 수 있게 해주는 API입니다.
MicroK8s는 완전한 Kubernetes 경험을 제공하는 도구입니다. 매우 안정적인 운영을 위해 압축된 무선 업데이트를 갖춘 완전히 컨테이너화된 배포입니다. Linux, Windows 및 MacOS에서 지원됩니다.
Charmed Kubernetes는 Canonical에서 개발한 멀티 클라우드 환경에 최적화된 잘 통합된 턴키 방식의 준수 Kubernetes 플랫폼입니다.
Grafana Kubernetes App은 Kubernetes 클러스터의 성능을 모니터링할 수 있는 유료 앱입니다. 여기에는 4개의 대시보드, 클러스터, 노드, 포드/컨테이너 및 배포가 포함됩니다. 이를 통해 필수 Prometheus 내보내기 도구의 자동 배포와 클러스터 내 Prometheus 배포와 함께 사용할 기본 스크레이프 구성이 가능합니다.
KubeEdge는 기본 컨테이너화된 애플리케이션 오케스트레이션 기능을 Edge의 호스트로 확장하기 위한 오픈 소스 시스템입니다. Kubernetes를 기반으로 구축되었으며 네트워크, 앱에 대한 기본 인프라 지원을 제공합니다. 클라우드와 엣지 간의 배포 및 메타데이터 동기화.
Lens는 매일 Kubernetes 클러스터를 처리해야 하는 사람들을 위한 가장 강력한 IDE입니다. MacOS, Windows 및 Linux 운영 체제를 지원합니다.
Flux CD는 Kubernetes 클러스터의 상태가 Git에 제공한 구성과 일치하는지 자동으로 확인하는 도구입니다. 클러스터의 연산자를 사용하여 Kubernetes 내부 배포를 트리거합니다. 즉, 별도의 지속적인 배포 도구가 필요하지 않습니다.
Platform9 Managed Kubernetes(PMK)는 데이터 센터, 퍼블릭 클라우드 또는 엣지 등 모든 환경에서 99.9% SLA로 완전히 자동화된 2일차 운영을 보장하는 서비스형 Kubernetes입니다.
맨 위로 돌아가기
Jeff Geerling의 Mac 개발 Ansible 플레이북
Ansible은 클라우드 프로비저닝, 구성 관리, 애플리케이션 배포, 서비스 내 오케스트레이션 및 기타 여러 IT 요구 사항을 자동화하는 간단한 IT 자동화 엔진입니다. 이는 일반 영어에 접근하는 방식으로 자동화 작업을 설명할 수 있는 매우 간단한 언어(YAML, Ansible Playbooks 형식)를 사용합니다. Anisble은 Linux(Red Hat EnterPrise Linux(RHEL) 및 Ubuntu) 및 Microsoft Windows에서 작동합니다.
Ansible을 위한 Red Hat 교육
Udemy의 최고의 온라인 Ansible 강좌
Ansible 소개: Coursera의 기초
Pluralsight에서 Ansible 기본 학습
Red Hat Ansible Automation Platform 2.1 소개
앤서블 문서
Ansible Galaxy 사용자 가이드
Ansible 사용 사례
Ansible 통합
Ansible 컬렉션 개요
플레이북 작업
DevOps용 Ansible 예제 작성자: Jeff Geerling
시작하기: 첫 번째 플레이북 작성 - Ansible
Ansible의 모듈 작업
Ansible 모범 사례: 역할 및 모듈
Ansible용 명령줄 도구 작업
Ansible Vault로 콘텐츠 암호화
Ansible과 함께 플레이북에서 Vault 사용
Azure에서 Ansible 사용
Azure VM에서 Ansible 구성
Ansible 사용 방법: DigitalOcean의 Ansible 치트 시트 가이드
Linode의 Ansible 소개 | 공간 연구소
Ansible Automation Hub는 Ansible Automation Platform 구독의 일부로 포함된 지원 컬렉션을 검색하고 다운로드할 수 있는 공식 위치입니다. 이러한 컨텐츠 컬렉션에는 다운로드 가능한 패키지의 모듈, 플러그인, 역할 및 플레이 북이 포함되어 있습니다.
컬렉션은 플레이 북, 역할, 모듈 및 플러그인을 포함 할 수있는 Ansible 컨텐츠의 배포 형식입니다. 모듈이 핵심 Ansible 저장소에서 컬렉션으로 이동함에 따라 모듈 문서는 컬렉션 페이지로 이동합니다.
Ansible Lint는 Ansible 사용자를 대상으로 한 플레이 북, 역할 및 컬렉션을 줄이기위한 명령 줄 도구입니다. 주요 목표는 입증 된 관행, 패턴 및 행동을 촉진하는 동시에 버그를 쉽게 이끌어 내거나 코드를 유지하기가 더 어려워 질 수있는 일반적인 함정을 피하는 것입니다.
Ansible CMDB는 Ansible의 사실 수집을 출력하여 시스템 구성 정보가 포함 된 정적 HTML 개요 페이지로 변환하는 도구입니다.
Ansible Inventory Grapher는 인벤토리 상속 계층을 시각적으로 표시하며 인벤토리에 변수가 정의되는 수준에 표시됩니다.
Ansible Playbook Grapher는 Ansible Playbook 작업 및 역할을 나타내는 그래프를 만드는 명령 줄 도구입니다.
Ansible Shell은 모든 모듈에 대한 내장 탭 완료를 사용하여 Ansible을위한 대화식 쉘입니다.
Ansible Silo는 Docker의 독립적 인 환경입니다.
Ansigenome은 Ansible 역할을 관리하는 데 도움이되는 명령 줄 도구입니다.
ARA는 Ansible과 통합하여 콜백 플러그인으로 통합하여 기록 된 Playbook Runs의 레코드로, 녹음 된 데이터를 사용자 및 시스템에 사용할 수 있고 직관적으로 만듭니다.
Capistrano는 원격 서버 자동화 도구입니다. 임의의 작업의 스크립팅 및 실행을 지원하며 Sane-Default 배포 워크 플로 세트가 포함됩니다.
패브릭은 SSH를 통해 원격으로 쉘 명령을 실행하도록 설계된 고급 파이썬 (2.7, 3.4+) 라이브러리입니다. Invoke (하위 프로세스 명령 실행 및 명령 줄 기능) 및 Paramiko (SSH 프로토콜 구현)를 바탕으로 API를 확장하여 서로를 보완하고 추가 기능을 제공합니다.
Ansible-Role-Wireguard는 Wireguard VPN을 설치하는 데 실용적인 역할입니다. Ubuntu, Debian, Archlinx, Fedora 및 Centos 스트림을 지원합니다.
WireGuard_Cloud_gateway는 클라우드 네트워크 용 게이트웨이 VPN 서버로 와이어 가드를 설정하는 데 실용적인 역할입니다.
Red Hat Openshift는 컨테이너 스택의 모든 수준과 응용 프로그램 라이프 사이클 전체의 보안에 중점을 둡니다. 여기에는 주요 Kubernetes 기고자 및 오픈 소스 소프트웨어 회사 중 하나의 장기적인 엔터프라이즈 지원이 포함됩니다.
OpenShift Hive는 Kubernetes/OpenShift 위에서 서비스로 실행되는 연산자입니다. Hive 서비스는 OpenShift 4 클러스터의 초기 구성을 프로비저닝하고 수행하는 데 사용될 수 있습니다.
맨 위로 돌아가기
SQL은 관계형 데이터베이스에 데이터를 저장, 조작 및 검색하는 표준 언어입니다.
NOSQL은 데이터베이스가 행 및 테이블이있는 관계형 (SQL 기반) 데이터베이스와 다른 방식으로 다양한 방식으로 다양한 양의 구조화되지 않은 데이터를 처리 할 수 있음을 강조하기 위해 "비 관련이 없거나"비 SQL "이라고하는 데이터베이스입니다. .
Transact-SQL (T-SQL)은 T-SQL 명령을 보내서 SQL 데이터베이스에 통신하는 모든 도구 및 응용 프로그램과 함께 SQL의 Microsoft 확장입니다.
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 vs. NOSQL 데이터베이스 : 차이점은 무엇입니까?
NOSQL은 무엇입니까?
NetData는 고 충실도 인프라 모니터링 및 문제 해결이며 실시간 모니터링 에이전트는 시스템, 하드웨어, 컨테이너 및 구성이없는 응용 프로그램에서 수천 개의 메트릭을 수집합니다. 모든 실제/가상 서버, 컨테이너, 클라우드 배포 및 Edge/IoT 장치에서 영구적으로 실행되며 준비없이 실행 중에 시스템 중반에 설치할 수 있습니다.
Azure Data Studio는 Windows, MacOS 및 Linux에서 SQL Server, Azure SQL DB 및 SQL DW와 협력 할 수있는 오픈 소스 데이터 관리 도구입니다.
Rstudio는 R과 Python의 통합 개발 환경으로, 직접 코드 실행을 지원하는 콘솔, 구문 높이 조명 편집기 및 플롯, 히스토리, 디버깅 및 작업 공간 관리를위한 도구를 갖춘 통합 개발 환경입니다.
MySQL은 세계에서 가장 인기있는 오픈 소스 데이터베이스를 사용하여 클라우드 네이티브 애플리케이션을 배포하기위한 완전히 관리되는 데이터베이스 서비스입니다.
PostgreSQL은 30 년이 넘는 활성 개발을 가진 강력한 오픈 소스 객체 관계 데이터베이스 시스템으로 신뢰성, 기능 견고성 및 성능으로 강력한 명성을 얻었습니다.
Amazon DynamoDB는 모든 규모로 단일 수하수 밀리 초 성능을 제공하는 키 가치 및 문서 데이터베이스입니다. 인터넷 규모 애플리케이션을위한 완벽한 보안, 백업 및 복원 및 메모리 내 캐싱을 갖춘 완전 관리, 다중 레지온, 멀티 마스터, 내구성 데이터베이스입니다.
Apache Cassandra ™는 성능을 손상시키지 않고 확장 성 및 고 가용성을 위해 수천 개의 회사가 신뢰하는 오픈 소스 NOSQL 분산 데이터베이스입니다. Cassandra는 상품 하드웨어 또는 클라우드 인프라에서 선형 확장 성을 제공하고 입증 된 오류가 발생하여 미션 크리티컬 데이터를위한 완벽한 플랫폼입니다.
Apache HBase ™는 오픈 소스, NOSQL, 분산 빅 데이터 스토어입니다. 페타 바이트의 데이터에 대한 무작위, 엄격하게 일관된 실시간 액세스를 가능하게합니다. HBase는 크고 드문 드문 데이터 세트를 처리하는 데 매우 효과적입니다. HBase는 Hadoop의 Apache Mapreduce 프레임 워크에 대한 직접 입력 및 출력 역할을하며 Apache Phoenix와 협력하여 HBase 테이블을 통해 SQL 유사 쿼리를 가능하게합니다.
HADOOP 분산 파일 시스템 (HDFS)은 분산 파일 시스템으로 상품 하드웨어에서 실행되는 대형 데이터 세트를 처리합니다. 단일 Apache Hadoop 클러스터를 수백 (수천 개)의 노드로 확장하는 데 사용됩니다. HDFS는 Apache Hadoop의 주요 구성 요소 중 하나이며, 다른 하나는 Mapreduce와 원사입니다.
Apache Mesos는 분산 응용 프로그램 또는 프레임 워크에서 효율적인 리소스 격리 및 공유를 제공하는 클러스터 관리자입니다. 동적 공유 노드 풀에서 Hadoop, Jenkins, Spark, Aurora 및 기타 프레임 워크를 실행할 수 있습니다.
Apache Spark는 스트리밍, SQL, 머신 러닝 및 그래프 처리를위한 내장 모듈이있는 빅 데이터 처리를위한 통합 분석 엔진입니다.
Elasticsearch는 Lucene 라이브러리를 기반으로하는 검색 엔진입니다. HTTP 웹 인터페이스와 스키마 프리 JSON 문서가있는 분산 된 멀티 테넌트 캡슐형 풀 텍스트 검색 엔진을 제공합니다. Elasticsearch는 Java에서 개발되었습니다.
Logstash는 이벤트 및 로그 관리를위한 도구입니다. 일반적으로 사용될 때이 용어는 더 큰 로그 수집 시스템, 처리, 저장 및 검색 활동 시스템을 포함합니다.
Kibana는 Elasticsearch를위한 오픈 소스 데이터 시각화 플러그인입니다. Elasticsearch 클러스터에서 인덱싱 된 컨텐츠 위에 시각화 기능을 제공합니다. 사용자는 막대를 만들 수 있습니다.