最近在B站学完一套Django视频课程,整理了一份Django Session思维导图,整理如下:
使用Docker-compose部署一个Airflow项目
之前一直在本机使用Kubernetes部署Airflow项目,K8S很好,但对于小项目来说,不需要”杀鸡用牛刀”,一般使用Docker-compose就行,这几天将一个Airflow项目改造适配后,使用Docker-compose部署到了腾讯云服务器。
Fork了一份puckel/docker-airflow的Airflow Dockerfile镜像文件,做了很多调整和修改,比如将Debian apt源换成清华的apt源,将PyPI官方PIP源换成豆瓣的PIP源等等,修改完后的Dockerfile放在benbendemo/docker-airflow仓库的develop
分支下面。
主要修改内容如下,详细介绍请见develop
分支README.md文件。
|
|
清华和豆瓣的pip源哪个好?
(Photo by Iker Urteaga on Unsplash)
今天使用puckel提供的Airflow Dockerfile镜像文件build镜像时遇到prison这个包提示如下报错。
Docker build过程中,安装flask-appbuilder包时候由于它需要依赖prison包,但pip源里prison包的版本不对,因此报错,镜像打不成功。
我用的是清华的pip源。
单节点K8S网络访问超时报错
这几天将一个Python Airflow Project部署到了本机K8S环境,前天一切都很正常。昨天开始出现了这样一个异常情况。
一般情况下,在Airflow里打开Dag的开关后,调度器会自动trigger一次Dag Run,但昨天开始Airflow的调度器自动trigger一直不成功。
(图1)
使用kubectl proxy
和kubectl -n kube-system describe secret default| awk '$1=="token:"{print $2}'
进入K8S Dashboard,查看容器组(也就是Pod)airflow-79885d4bf5-464g5里shceduler这个容器日志,发现如下报错信息。
websocket打造资源监控器
最近在学习Go语言。
发现很多优秀的软件服务其后台程序都是基于Go来实现,今天补缺websocket这一块内容时看到阮一峰老师文章《WebSocket 教程》提到WebSocketd
,点进去一看,又是一个使用Go语言实现的web服务。
我来了兴趣,决定实现它。
在macOS里实现它非常简单,安装Go语言环境后,直接brew install websocketd
即可安装成功,参照官方实例开箱即用;但监控Linux CPU/IO/Mem stats的那个example只能在Linux上跑,我想着在Docker Linux上实现。