跳至主要內容

k8s-job

soulballad环境配置KubernetesKubernetes约 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
上次编辑于:
贡献者: soulballad