gocron的知识点

k8s持久化

gocron是很好用的任务管理器,它的配置文件在k8s的docker重启后就被重置,需要将gocron的配置文件持久化。

  1. 先将gocron启动并配置mysql的链接
  2. 进入shell环境,将已经配置好gocron复制到k8s的nfs文件夹中
  3. 再次进入kuboard面板配置gocron的挂载文件夹,并设置为gocron的路径(这个会覆盖gocron的路径,所以持久化了)

备注:使用kubard来管理k8s很方便

gocron dockerfile python3.10环境封装docker包

为什么构建这个镜像

因为需要部署gocron到k8s环境中,让gocron按照时间计划定期执行python脚本,让测试环境和线上环境保持一致

dockerfile


FROM python:3.10

RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list

# 安装 gocron
RUN apt-get update && \
    apt-get install -y wget && \
    wget https://github.com/ouqiang/gocron/releases/download/v1.5.3/gocron-v1.5.3-linux-amd64.tar.gz && \
    wget https://github.com/ouqiang/gocron/releases/download/v1.5.3/gocron-node-v1.5.3-linux-amd64.tar.gz && \
    tar zxvf gocron-v1.5.3-linux-amd64.tar.gz && \
    tar zxvf gocron-node-v1.5.3-linux-amd64.tar.gz && \
    mkdir /app && \
    mkdir /nodeapp && \
    cp -rf gocron-linux-amd64/* /app  && \
    cp -rf gocron-node-linux-amd64/* /nodeapp  && \
    rm gocron-v1.5.3-linux-amd64.tar.gz && \
    rm gocron-node-v1.5.3-linux-amd64.tar.gz 

COPY requirements.txt /app/requirements.txt 

EXPOSE 5920/tcp
EXPOSE 5921/tcp

# 设置工作目录
WORKDIR /app

RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

# 容器启动时运行 gocron web 命令

CMD ["/bin/sh", "-c", "/nodeapp/gocron-node -allow-root & /app/gocron web"]

requirements.txt文件放到与这个Dockerfile同级的目录下

生成docker image


# 构建
docker build -t xxx.com/net/mygocron:0.0.10 .

# 推送
docker push xxx.com/net/mygocron:0.0.10

其他

windows下的go封装成services运行 无法运行git命令 报错 Host key verification failed.

因为服务的账户和本机的账户不一样,将C:\Users\spike.ssh复制到C:\Windows\System32\config\systemprofile.ssh就可以了


作者:spike

分类: Tool

创作时间:2023-06-25

更新时间:2024-12-09

联系方式放在中括号之中例如[[email protected]],回复评论在开头加上标号例如:#1