kubernetes - Kubernetes cronjob 无法访问数据库服务
问题描述
我正在尝试在需要访问数据库的 kubernetes 中运行 cron 作业。这是数据库yaml:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
component: db
name: db
spec:
selector:
matchLabels:
component: db
replicas: 1
strategy:
type: Recreate
template:
metadata:
labels:
component: db
spec:
containers:
- name: db
image: mysql:5.7
ports:
- containerPort: 3306
args:
- --transaction-isolation=READ-COMMITTED
- --binlog-format=ROW
- --max-connections=1000
- --bind-address=0.0.0.0
env:
- name: MYSQL_DATABASE
valueFrom:
secretKeyRef:
key: MYSQL_DATABASE
name: db-secrets
- name: MYSQL_PASSWORD
valueFrom:
secretKeyRef:
key: MYSQL_PASSWORD
name: db-secrets
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
key: MYSQL_ROOT_PASSWORD
name: db-secrets
- name: MYSQL_USER
valueFrom:
secretKeyRef:
key: MYSQL_USER
name: db-secrets
volumeMounts:
- mountPath: /var/lib/mysql
name: db-persistent-storage
restartPolicy: Always
volumes:
- name: db-persistent-storage
persistentVolumeClaim:
claimName: db-pvc
这是 cronjob 的 yaml:
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: cron
spec:
schedule: "0 0 * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: cron
image: iulbricht/shopware-status-tool:1.0.0
env:
- name: USERNAME
valueFrom:
secretKeyRef:
key: USERNAME
name: cron-secrets
- name: PASSWORD
valueFrom:
secretKeyRef:
key: PASSWORD
name: cron-secrets
- name: DATABASE_DSN
valueFrom:
secretKeyRef:
key: DATABASE_DSN
name: cron-secrets
- name: DHL_API_KEY
valueFrom:
secretKeyRef:
key: DHL_API_KEY
name: cron-secrets
- name: SHOP_API
valueFrom:
secretKeyRef:
key: SHOP_API
name: cron-secrets
restartPolicy: OnFailure
当 cronjob 运行时,我总是收到以下消息:default addr for network 'db:3306' unknown
. mysql连接字符串如下:mysql://username:password@db:3306/shopware
我正在使用 Kustomization,并且 db 和 cron 在保存命名空间中。
谁能帮我找到解决这个问题的方法?
解决方案
你能试试这个连接字符串吗
username:password@tcp(db:3306)/shopware
推荐阅读
- css - Angular:group() 函数不会并行运行动画,会破坏动画流程
- javascript - jQuery如何在选择器上加载图像后执行功能?
- powershell - 如何运行包含在 Powershell 脚本中的变量中的批处理脚本?
- hadoop - 在 HBase 1.4.9 中创建表失败
- ssl - XAMPP 中跨 LAN 的 localhost 自签名证书
- python - 如何将python回调添加到pointdrawtool
- delphi - 如何将组件放在 TMainMenu 上方?
- c# - 在异步回调中从 NetworkStream 读取缓冲区
- kubernetes - 从 CLI 使用 Gitlab 安装的 Helm。找不到分蘖
- r - 如何将 rpivotTable 动态插入 Shiny UI