关于tutorial:k8s下php定时任务接入阿里云SchedulerX

7次阅读

共计 1449 个字符,预计需要花费 4 分钟才能阅读完成。

背景

php 上阿里云 ack(k8s)后,想保留原来定时工作,然而又须要放弃单点运行,所以思考应用阿里云 SchedulerX 来方便管理。
官网文档如下:

尽管官网文档显示能够用 Sidecar 形式接入,然而理论并非进入到指标容器执行,仅能执行 http 申请到指标容器。

实现

应用 agent 形式接入,间接打包入 php 镜像,毛病就是须要 java 运行环境,镜像会很大并且占用运行内存。倡议有定时工作需要才应用此镜像。
链接地址:https://help.aliyun.com/document_detail/149969.html
而后在 Deployment 配置文件上减少 env

# spec > template > spec > containers
  - name: php-fpm
    env:
        - name: "SCHEDULERX_ENDPOINT"
        value: "${SCHEDULERX_ENDPOINT}"
        - name: "SCHEDULERX_NAMESPACE"
        value: "${SCHEDULERX_NAMESPACE}"
        - name: "SCHEDULERX_GROUPID"
        value: "${SCHEDULERX_GROUPID}"
        - name: "SCHEDULERX_APPKEY"
        value: "${SCHEDULERX_APPKEY}"
        - name: "SCHEDULERX_STARTER_MODE"
        value: "sidecar"

局部 dockerfile

php5.6-fpm

FROM php:5.6-fpm

# SchedulerX Agent
RUN mkdir -p /usr/share/man/man1 \
  && apt-get install -y openjdk-8-jdk wget \
  && cd /opt \
  && wget https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.4.2.tar.gz \
  && tar -xf schedulerxAgent-1.4.2.tar.gz \
  && rm schedulerxAgent-1.4.2.tar.gz \
  && mkdir -p /root/logs/schedulerx \
  && sed -i '45c \ \ \ \ \ \ \ \ sed -i"4c appKey=${SCHEDULERX_APPKEY}"${WORKER_CONF_DIR}/agent.properties' /opt/schedulerxAgent/bin/start-200m.sh 

php7.4-fpm

FROM php7.4-fpm

# SchedulerX Agent
RUN apt-get install -y openjdk-11-jdk wget \
  && cd /opt \
  && wget https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.4.2.tar.gz \
  && tar -xf schedulerxAgent-1.4.2.tar.gz \
  && rm schedulerxAgent-1.4.2.tar.gz \
  && mkdir -p /root/logs/schedulerx \
  && sed -i '45c \ \ \ \ \ \ \ \ sed -i"4c appKey=${SCHEDULERX_APPKEY}"${WORKER_CONF_DIR}/agent.properties' /opt/schedulerxAgent/bin/start-200m.sh
正文完
 0