Pod:在同一主机上一起部署的一组容器。Pod 是节点上最小的可部署单元,它提供了一种挂载存储、设置环境变量以及供其他容器配置信息的方法。当 Pod 中的所有容器退出时,Pod 也会消亡。 Service:定义一组逻辑 Pod 及其访问策略的抽象。 Volume:可供 Pod 中运行的容器访问的目录。 Kubernetes 架构使用基础资源作为一组更高级资源的基本层。高级资源实现了实际生产使用场景所需的功能,这些功能利用/扩展了基础资源的功能。在图 2.1 中,你可以看到 ReplicaSet 资源控制着一个或多个 Pod 资源的创建。其他的一些高级资源的示例包括: ReplicaSet:定义相同配置 Pod 运行的期望数量。如果 ReplicaSet 中的一个 Pod 终止,则会启动一个新的 Pod,从而将运行中的 Pod 数量恢复到期望数量。 Deployment:为 Pod 和 ReplicaSet 赋予声明式更新的能力。 Job:创建一个或多个运行完即停止的 Pod。 CronJob:基于时间计划来创建 Job。 Namespace:大多数 Kubernetes 资源都属于一个(并且只有一个)命名空间。命名空间定义了名称的范围,其中特定命名空间中的资源命名必须唯一。命名空间还提供了一种通过基于角色的访问控制(RBAC)、网络策略和资源配额等将用户和应用程序相互隔离的方法。这些控制允许创建一个多租户 Kubernetes 集群,允许多个用户共享同一个集群并避免相互影响(例如,「近邻干扰」问题)。 →Read more
Caps Negotiatio## Caps Negotiation 能力协商概述 Caps negotiation is the act of finding a media format (GstCaps) between elements that they can handle. This process in GStreamer can in most cases find an optimal solution for the complete pipeline. 能力协商是指在两个元素之间寻找一个彼此可以处理的媒体格式,在 GStreamer 中多数情况下是为了整个管道寻找一个优化的方案。 Caps negotiation basics In GStreamer, negotiation of the media format always follows the following […] →Read more
overview Both elements and pads can be in different states. The states of the pads are linked to the state of the element so the design of the states is mainly focused around the element states. An element can be in 4 states. NULL, READY, PAUSED and PLAYING. When an element is initially instantiated, it […] →Read more
Display the (Logitech) webcam (/dev/video0) on screen (autovideosink ==> display on screen) gst-launch-1.0 v4l2src device=/dev/video0 ! videoconvert ! autovideosink Latency is high due to video conversion Using native MJPG stream of the Logitech Camera gst-launch-1.0 -v v4l2src device=/dev/video0 ! image/jpeg,width=1920,height=1080,framerate=30/1 ! jpegparse ! jpegdec ! videoconvert ! autovideosink Record a video gst-launch-1.0 v4l2src ! x264enc […] →Read more
在执行 pipeline 上机器上安装 gitlab runner # Download the binary for your system sudo curl -L –output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64 # Give it permission to execute sudo chmod +x /usr/local/bin/gitlab-runner # Create a GitLab Runner user sudo useradd –comment 'GitLab Runner' –create-home gitlab-runner –shell /bin/bash # Install and run as a service sudo gitlab-runner install –user=gitlab-runner –working-directory=/home/gitlab-runner […] →Read more
start EMQX docker run -d –name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:latest install paho-mqtt library pip3 install paho-mqtt start subscriber import paho.mqtt.client as mqtt # The callback function of connection def on_connect(client, userdata, flags, rc): print(f"Connected with result code {rc}") client.subscribe("$SYS/#") # The callback function for received message […] →Read more