在 GKE 中使用 sendgrid 和 kubernetes cron 作业发送邮件
send mails using sendgrid and kubernates cronjob in GKE
我正在尝试在 k8s 中使用 sendgrid api 和 cronjob 发送邮件,我在云函数中尝试了我的 python 代码,它是预期的 运行 但是当我使用我的创建 GCR 映像并将其部署在 k8s cronjob 中的代码我得到了一个urllib.error.URLError: <urlopen error [Errno 104] Connection reset by peer>
错误
好吧,我创建了一个用于调试的 pod,这是使用我的 linux 图像的 pod 定义:
apiVersion: v1
kind: Pod
metadata:
name: notifier
spec:
serviceAccountName: xxxxxxxxxxx
containers:
- name: test
image: eu.gcr.io/xxxxxxxxxxxxxxxxxxxxxx:v1.4
command: [ "/bin/bash", "-c", "--" ]
args: [ "while true; do sleep 30; done;" ]
我知道我需要允许流量(出口和入口)以便我的 pod 可以从 api 获取流量但是我不知道该怎么做,这是我的 cronjob 定义:
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: zzzzzzzzzzzzzzz
spec:
schedule: "00 7 * * *"
concurrencyPolicy: Forbid
successfulJobsHistoryLimit: 5
failedJobsHistoryLimit: 3
jobTemplate:
spec:
parallelism: 1
backoffLimit: 0
template:
spec:
restartPolicy: Never
serviceAccountName: xxxxxxxxxx
containers:
- name: yyyyyyyyyyyyy
image: eu.gcr.io/xxxxxxxxxxxxxxxxxxxxxxxx:v1.4
resources:
requests:
memory: "512Mi"
cpu: 1
limits:
memory: "1024Mi"
cpu: 2
我正在使用 kustomize k8s、GKE、python sendgrid api
感谢您的支持
为了与from/to sendgrid通信,你需要添加dns confs以便sendgrid api被识别,你需要打开端口(pod级别),我放弃了sendgrid,我使用了公司的smtp服务器。
我正在尝试在 k8s 中使用 sendgrid api 和 cronjob 发送邮件,我在云函数中尝试了我的 python 代码,它是预期的 运行 但是当我使用我的创建 GCR 映像并将其部署在 k8s cronjob 中的代码我得到了一个urllib.error.URLError: <urlopen error [Errno 104] Connection reset by peer>
错误
好吧,我创建了一个用于调试的 pod,这是使用我的 linux 图像的 pod 定义:
apiVersion: v1
kind: Pod
metadata:
name: notifier
spec:
serviceAccountName: xxxxxxxxxxx
containers:
- name: test
image: eu.gcr.io/xxxxxxxxxxxxxxxxxxxxxx:v1.4
command: [ "/bin/bash", "-c", "--" ]
args: [ "while true; do sleep 30; done;" ]
我知道我需要允许流量(出口和入口)以便我的 pod 可以从 api 获取流量但是我不知道该怎么做,这是我的 cronjob 定义:
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: zzzzzzzzzzzzzzz
spec:
schedule: "00 7 * * *"
concurrencyPolicy: Forbid
successfulJobsHistoryLimit: 5
failedJobsHistoryLimit: 3
jobTemplate:
spec:
parallelism: 1
backoffLimit: 0
template:
spec:
restartPolicy: Never
serviceAccountName: xxxxxxxxxx
containers:
- name: yyyyyyyyyyyyy
image: eu.gcr.io/xxxxxxxxxxxxxxxxxxxxxxxx:v1.4
resources:
requests:
memory: "512Mi"
cpu: 1
limits:
memory: "1024Mi"
cpu: 2
我正在使用 kustomize k8s、GKE、python sendgrid api
感谢您的支持
为了与from/to sendgrid通信,你需要添加dns confs以便sendgrid api被识别,你需要打开端口(pod级别),我放弃了sendgrid,我使用了公司的smtp服务器。