gpt4 book ai didi

kubernetes - Mosquitto 无法在我的 Kubernetes 集群中分配请求的地址

转载 作者:行者123 更新时间:2023-12-03 10:03:52 25 4
gpt4 key购买 nike

我正在尝试在 Kubernetes 集群中设置我的 mosquitto 服务器,但不知何故我收到了以下错误,我无法弄清楚原因。有人可以帮助我吗?

错误:

1551171948: mosquitto version 1.4.10 (build date Wed, 13 Feb 2019 00:45:38 +0000) starting
1551171948: Config loaded from /etc/mosquitto/mosquitto.conf.
1551171948: |-- *** auth-plug: startup
1551171948: |-- ** Configured order: http

1551171948: |-- with_tls=false
1551171948: |-- getuser_uri=/api/mosquitto/users
1551171948: |-- superuser_uri=/api/mosquitto/admins
1551171948: |-- aclcheck_uri=/api/mosquitto/permissions
1551171948: |-- getuser_params=(null)
1551171948: |-- superuser_params=(null)
1551171948: |-- aclcheck_paramsi=(null)
1551171948: Opening ipv4 listen socket on port 1883.
1551171948: Error: Cannot assign requested address

Mosquitto.conf:

allow_duplicate_messages false

connection_messages true

log_dest stdout stderr
log_timestamp true
log_type all

persistence false



listener 1883 mosquitto

allow_anonymous true

# Public

# listener 8883 0.0.0.0

listener 9001 0.0.0.0
protocol websockets

allow_anonymous false

auth_plugin /usr/lib/mosquitto-auth-plugin/auth-plugin.so
auth_opt_backends http
auth_opt_http_ip 127.0.0.1
auth_opt_http_getuser_uri /api/mosquitto/users
auth_opt_http_superuser_uri /api/mosquitto/admins
auth_opt_http_aclcheck_uri /api/mosquitto/permissions
auth_opt_acl_cacheseconds 1
auth_opt_auth_cacheseconds 0

Kubernetes.yaml:

apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: mosquitto
spec:
replicas: 1
template:
metadata:
labels:
app: mosquitto
spec:
imagePullSecrets:
- name: abb-login
containers:
- name: mosquitto
image: ****mosquitto:develop
imagePullPolicy: Always
ports:
- containerPort: 9001
protocol: TCP
- containerPort: 1883
protocol: TCP
- containerPort: 8883
protocol: TCP

resources: {}

---
apiVersion: v1
kind: Service
metadata:
name: mosquitto
spec:
ports:
- name: "9001"
port: 9001
targetPort: 9001
protocol: TCP
- name: "1883"
port: 1883
targetPort: 1883
protocol: TCP
- name: "8883"
port: 8883
targetPort: 8883
protocol: TCP
selector:
app: mosquitto

最佳答案

问题出在1883端口的监听器上,这可以确定,因为日志还没有到达9001监听器。

问题很可能是因为 mosquitto 无法解析主机名 mosquitto 的 IP 地址。传递主机名时,名称必须解析为有效的 IP 地址。 this 中讨论了同样的问题最近的答案。也可能是 mosquitto 正在解析一个未绑定(bind)到实际机器上任何接口(interface)的地址(例如,如果正在使用地址转换)。

同样对于 9001 监听器而不是传递 0.0.0.0 你可以不包含绑定(bind)地址,默认是监听所有接口(interface)。

关于kubernetes - Mosquitto 无法在我的 Kubernetes 集群中分配请求的地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54881939/

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