Django+K8s+docker部署(windows环境)

1安装docker

docker官网下载Docker Desktop

如果Linux系统的话,用命令yum -y install docker安装docker

2安装K8s

安装好Docker Desktop以后,在设置里面安装k8s

Linux系统安装K8s可参考Kubernetes(k8s)中文教程 - OrcHome此连接教程

3环境准备

3.1将Django项目修改好配置以后复制到创建的dockerfile文件夹中

由于要自己创建docker镜像,所以需要将项目文件,与dockerfile文件放到统一目录下

编写dockerfile文件,文件的后缀必须是dockerfile

# 设置基础镜像
FROM python:3.8
 
# 设置工作目录
WORKDIR /app
 
# 复制项目文件到容器中
COPY . /app/
 
# 安装依赖包
RUN pip install -r /app/backend/requirements_linux.txt
 
# 设置环境变量
ENV PYTHONUNBUFFERED=1
 
# 运行 Django 项目
CMD python /app/backend/manage.py runserver 0.0.0.0:8000

执行进入到文件夹内执行docker build命令构建镜像

-t 指定创建的镜像名称和镜像的版本

-f 指定dockerfile文件,dockerfile文件有构建镜像的基本环境以及一些其他配置

在命令的最后面要加上一个"."

创建好镜像以后就能看到构建的镜像以及版本

linux系统用命令docker images查看所有的镜像

4编写k8syaml文件

编写deployment的yaml文件

用来创建pod运行项目

apiVersion: apps/v1 
kind: Deployment 
metadata: 
  name: mlgdzc-deploy 
  namespace: default 
spec: 
  # 指定pod数量
  replicas: 2 
  selector: 
    matchLabels: 
      app: mlgdzc 
      release: v1
  template:
    metadata: 
      labels: 
        app: mlgdzc 
        release: v1 
    spec: 
      containers: 
      - name: mlgdzc
      	# 指定镜像版本
        image: mlgdzc:v1.0
        # 使用本地镜像
        imagePullPolicy: IfNotPresent

编码service的yaml文件

用来暴露端口

apiVersion: v1 
kind: Service 
metadata: 
  name: mlgdzc-nodeport
  namespace: default
spec: 
  type: NodePort
  selector: 
    app: mlgdzc
    release: v1
  ports: 
  - name: httpd
    port: 8000
    targetPort: 8000
    # 暴露30002端口,对应pod的8000端口
    nodePort: 30002

创建好两个yaml文件以后,进入到文件目录下,执行k8s命令

kubectl apply -f [yaml文件名]

k8s会根据yaml文件创建

创建好了以后可以使用命令

kubectl get pods

kubectl get deployment

查看是否创建成功,pod的运行状态为Runing,为创建成功

pod创建成功后,执行service的yaml文件

kubectl apply -f [yaml文件名]

此文件会创建一个service服务,将8000端口暴露出来30002

可以通过本机的端口访问项目

到此,Django+k8s+docker部署项目完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值