网购盘python版本
k8s部署:
apiVersion: apps/v1
kind: Deployment
metadata:
name: pydog
namespace: test
spec:
strategy:
type: RollingUpdate
selector:
matchLabels:
app: pydog
replicas: 1
template:
metadata:
labels:
app: pydog
spec:
# nodeSelector:
# namespace: test
tolerations:
- key: namespace
value: test
effect: NoSchedule
operator: Equal
initContainers:
- name: init
image: "busybox"
volumeMounts:
- mountPath: /data # 挂接过来的磁盘路径
name: public-storage
command: [ "sh", "-c", "chown -R root:root /data && chmod 777 -R /data" ]
containers:
- name: pydog
env:
- name: dog_root_path # 挂接过来的磁盘路径,不管使用什么volume,反正这里只关心挂接过来的路径地址
value: /data
- name: dog_username # 管理员账号
value: admin
- name: dog_password # 管理员密码
value: admin.123
image: "izerui/pydog:1.1"
imagePullPolicy: Always
ports:
- name: web
containerPort: 8000 # 容器默认启动端口是8000
protocol: TCP
volumeMounts:
- mountPath: /data
name: public-storage
volumes: # 这里要改下,我这里挂接的是nfs目录(已经存在的pvc), 可以改成本地磁盘,具体参考k8s的volume挂接教程
- name: public-storage
persistentVolumeClaim:
claimName: public-storage-test-claim
---
apiVersion: v1
kind: Service
metadata:
name: pydog
namespace: test
spec:
ports:
- port: 8000
targetPort: 8000
protocol: TCP
type: ClusterIP
selector:
app: pydog
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: pydog-ingress
namespace: test
annotations:
nginx.ingress.kubernetes.io/service-upstream: 'true'
nginx.org/redirect-to-https: "true"
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
ingressClassName: nginx-lb
tls:
- secretName: xxx-secret
hosts:
- file-test.xxx.com
rules:
- host: file-test.xxx.com
http:
paths:
- path: /
pathType: ImplementationSpecific
backend:
service:
name: pydog
port:
number: 8000
- 初始化 python 虚拟环境:
python3 -m venv rag-ai/venv
- 并切换到当前环境, windows 下自行google。
cd rag-ai && source ./venv/bin/activate
- 安装依赖
pip config set global.index-url https://mirrors.cloud.tencent.com/pypi/simple/
pip install fastapi
pip install python-multipart
pip install jinja2
pip install uvicorn[standard]
- 启动应用:
uvicorn main:app --host 0.0.0.0 --timeout-keep-alive 60 --workers 8
默认系统变量:
dog_root_path: /Users/liuyuhua/Downloads
dog_username: admin
dog_password: admin.123
附:
依赖管理:
# 安装依赖
pip install -r requirements.txt
# 生成依赖描述文件
pip freeze > requirements.txt