gpt4 book ai didi

kubernetes - Kubernetes 环境中的 Mosquitto Broker

转载 作者:行者123 更新时间:2023-12-02 02:25:11 26 4
gpt4 key购买 nike

我正在努力使用以下 YAML 配置将 Eclipse mosquitto 代理 docker 镜像作为 kubernetes 容器启动。但是,我无法为该代理提供任何类型的日志记录,以启用一些调试。有没有一种方法可以传递“命令”来将此 docker 镜像询问提供的配置文件,而不是使用默认的配置文件?任何人都可以共享一个常用的 YAML 文件来启动具有持久性/卷/日志记录功能的代理吗?

 apiVersion: v1
kind: Pod
metadata:
name: infra-pod
labels:
app: infra
spec:
containers:
- name: mosquitto-broker
image: eclipse-mosquitto
ports:
- containerPort: 1883
- containerPort: 8883

最佳答案

下面您将找到一个如何为 mosquitto 部署安装卷的示例。在开始尝试之前,请先访问有关 volumes 的 kubernetes 文档进一步了解它们的使用方式以及哪一种适合您的环境。

        volumeMounts:
- name: mosquitto
mountPath: /srv/mqtt/config
- name: localtime
mountPath: /etc/localtime
- name: mosquitto-data
mountPath: /srv/mqtt/data
- name: mosquitto-log
mountPath: /srv/mqtt/log
      volumes:
- name: mosquitto
persistentVolumeClaim:
claimName: mosquitto
- name: mosquitto-data
persistentVolumeClaim:
claimName: mosquitto-data
- name: mosquitto-log
persistentVolumeClaim:
claimName: mosquitto-log
- name: localtime
hostPath:
path: /home/test

要提供一些自定义配置,您有 configure your pod to use Kubernetes configMap下面您要做的就是在 Pod 规范的 volumes 部分下添加 ConfigMap 名称。这会将 ConfigMap 数据添加到指定为 volumeMounts.mountPath 的目录。

      volumeMounts:
- name: password-file
mountPath: /.config/mosquitto/auth/password_file.txt
subPath: password_file.txt
- name: config-file
mountPath: /.config/mosquitto/mosquitto.conf
subPath: mosquitto.conf
   ----
volumes:
- name: config-file
configMap:
name: mosquitto-config
- name: password-file
configMap:
name: mosquitto-password
---

在上面的示例中,使用了另一个名为 subPath 的字段,用于将指定文件挂载到 pod 目录中。这用于避免安装卷和现有目录的顶部。您可以更多了解here .

请注意,这些 yaml 纯粹是信息性的,用作如何传递配置和安装卷的示例。您必须根据需要调整它们。

关于kubernetes - Kubernetes 环境中的 Mosquitto Broker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65787060/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com