社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  MQ

无法从kubernetes cron jobs连接rabbitmq

zero • 5 年前 • 1862 次点击  

我正在远程(cloudamqp.com)使用rabbitmq,并在kubernetes上创建cron作业。在我的本地计算机上,我的作业运行良好,kubernetes cronjob的调度非常好,但是作业将rabbitmq连接url重定向到 127.0.0.1:5672 我得到一个错误。

pika.exceptions.ConnectionClosed: Connection to 127.0.0.1:5672 failed: [Errno 111] Connection refused

我检查cron作业的日志,我的连接url很好,但是当pika试图连接到主机时,它会自动重定向到 127.0.0.1:5672 我们知道cron pod没有运行任何rabbitmq服务器,因此它拒绝连接。

克朗普

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: scrape-news
spec:
  concurrencyPolicy: Forbid
  jobTemplate:
    spec:
      template:
        metadata:
          labels:
            app: scrape-news
        spec:
          containers:
          - name: scrape-news
            image: SCRAPER_IMAGE
            imagePullPolicy: Always
          restartPolicy: Never
  schedule: '* * * * *'
  successfulJobsHistoryLimit: 3

RabbitMQ连接

    print(env.RABBIT_URL)
    self.params = pika.URLParameters(env.RABBIT_URL)
    self.connection = pika.BlockingConnection(parameters=self.params)
    self.channel = self.connection.channel() # start a channel

连接URL完全相同,可用于本地设置。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/40349
 
1862 次点击  
文章 [ 1 ]  |  最新文章 5 年前
yomateo
Reply   •   1 楼
yomateo    6 年前

基于你的 CronJob spec不传递环境变量 RABBIT_URL .

您的代码看起来好像希望设置此变量,但实际上不是,这可能是它默认为 localhost .

self.params = pika.URLParameters(env.RABBIT_URL)

你可能想要这样的东西:

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: scrape-news
spec:
  concurrencyPolicy: Forbid
  jobTemplate:
    spec:
      template:
        metadata:
          labels:
            app: scrape-news
        spec:
          containers:
          - name: scrape-news
            image: SCRAPER_IMAGE
            imagePullPolicy: Always
            env:
              - name: RABBIT_URL
                value: cloudamqp.com
          restartPolicy: Never
  schedule: '* * * * *'
  successfulJobsHistoryLimit: 3