k8s-job
约 298 字小于 1 分钟
# job
apiVersion: v1
kind: ConfigMap
metadata:
name: job-config
data:
spring.datasource.url: 'jdbc:mysql://mysql:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&serverTimezone=UTC'
spring.datasource.username: 'root'
spring.datasource.password: '123456'
dubbo.registry.address: 'nacos://nacos:8848?username=nacos&password=nacos'
spring.kafka.producer.bootstrap-servers: 'kafka:9092'
spring.kafka.consumer.bootstrap-servers: 'kafka:9092'
---
apiVersion: v1
kind: Service
metadata:
name: job
namespace: demo
labels:
app: job
environment: dev
spec:
type: NodePort
selector:
app: job
environment: dev
ports:
- name: server
protocol: TCP
port: 9003
targetPort: 9003
nodePort: 31903
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: job
namespace: demo
labels:
app: job
environment: dev
spec:
replicas: 1
selector:
matchLabels:
app: job
environment: dev
template:
metadata:
labels:
app: job
environment: dev
spec:
imagePullSecrets:
- name: registrysecret
containers:
- name: job
image: job:0.3.4
imagePullPolicy: IfNotPresent
ports:
- containerPort: 9003
protocol: TCP
resources:
requests:
cpu: 200m
memory: 200Mi
limits:
cpu: 400m
memory: 350m
env:
- name: spring.profiles.active
value: dev
- name: dubbo.registry.address
value: nacos://nacos:8848?username=nacos&password=nacos
- name: dubbo.registry.check
value: "true"
- name: spring.datasource.url
value: 'jdbc:mysql://mysql:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai'
- name: spring.datasource.username
value: root
- name: spring.datasource.password
value: 123456
- name: JAVA_TOOL_OPTIONS
value: -Xmx256m -Xms256m -XX:MaxMetaspaceSize=128m
- name: SW_AGENT_NAME
value: job
volumeMounts:
- mountPath: /etc/localtime
name: time-localtime
readOnly: true
- mountPath: /opt/job/logs
name: log-volume
initContainers:
- name: init-mysql
image: yauritux/busybox-curl:latest
imagePullPolicy: IfNotPresent
command: [ 'sh', '-c', "until curl --http0.9 mysql:3306; do echo waiting for mysql; sleep 2; done" ]
- name: init-kafka
image: busybox:1.28
imagePullPolicy: IfNotPresent
command: [ 'sh', '-c', "until nslookup kafka.$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace).svc.cluster.local; do echo waiting for kafka; sleep 1; done" ]
volumes:
- name: time-localtime
hostPath:
path: /etc/localtime
- name: log-volume
hostPath:
path: /opt/software/data/job/logs
type: DirectoryOrCreate