【Rancher】Rancher建立mariadb供Django使用-20230314

前言

Django自带的SQLite适合开发和测试使用,生产环境需转为正式数据库,方便后期数据维护(可以用数据库连接工具直接改数据)。

1.Racher安装mariadb

步骤1:Racher部署

  • 基本设定:3306
    在这里插入图片描述

  • 环境变量:MARIADB_ROOT_PASSWORD=123456
    在这里插入图片描述

  • 持久卷:/var/lib/mysql (一个持久卷只能同时挂一个pod,不可以同时挂多个pod)
    在这里插入图片描述

步骤2:查看端口

在这里插入图片描述

步骤3:用Ping 域名来查看IP

用Ping 域名来查看IP

步骤4:进入mariadb的pod设定密码和用户

  • 在shell中输入mysql -u root -p
    在这里插入图片描述

步骤5:用HeidiSQL建立数据库连接,并创建表

建立数据库连接
在这里插入图片描述
创建season DB
在这里插入图片描述

1.后续更新

镜像

镜像不选纬创的harbor-k8s.wzs.wistron.com.cn/base_image/mariadb
镜像要选mariadb
Service类型选:Nodeport

获取选择器

在Deployments的pod那里查看label信息。
在这里插入图片描述

获取IP地址

点击Target的端口号可以获知IP地址。
在这里插入图片描述
在这里插入图片描述

2.Django使用Rancher里面的mariadb

步骤1:Django的settings.py设定环境变量

设定数据库是否使用Mariadb

# 设定数据库是否使用Mariadb
MYSQL_OR_NOT = os.environ.get('MYSQL_OR_NOT', False)
# MYSQL_OR_NOT = True
MYSQL_IP = os.environ.get('MYSQL_IP', '10.41.****')
MYSQL_PORT = os.environ.get('MYSQL_PORT', '3****')

设定数据库配置

if MYSQL_OR_NOT:
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',   # 数据库引擎
            'NAME': 'season',  # 数据库名,先前创建的
            'USER': '***',     # 用户名,可以自己创建用户
            'PASSWORD': '****',  # 密码
            'HOST': MYSQL_IP,  # mysql服务所在的主机ip
            'PORT': MYSQL_PORT,         # mysql服务端口
        }
    }
else:
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': Path(__file__).resolve().parent /'SQL' /'db.sqlite3',
        }
    }

步骤2:可现在本机启动启用,并创建表结构。python manage.py makemigrations和python manage.py migrate,在mariadb中同步表

Operations to perform:
  Apply all migrations: PPDASH, admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying PPDASH.0001_initial... OK
  Applying PPDASH.0002_auto_20211018_1941... OK
  Applying PPDASH.0003_employee_function... OK
  Applying PPDASH.0004_alter_employee_eid... OK
  Applying PPDASH.0005_alter_employee_eid... OK
  Applying PPDASH.0006_alter_employee_function... OK
  Applying PPDASH.0007_auto_20211107_1756... OK
  Applying PPDASH.0008_delete_userprofile... OK
  Applying PPDASH.0009_auto_20220627_1820... OK
  Applying PPDASH.0010_content... OK
  Applying PPDASH.0011_auto_20220627_2253... OK
  Applying PPDASH.0012_content_home_p_3... OK
  Applying PPDASH.0013_alter_content_home_p_3... OK
  Applying PPDASH.0014_auto_20220628_1635... OK
  Applying PPDASH.0015_auto_20230310_0640... OK
  Applying PPDASH.0016_auto_20230310_0641... OK
  Applying PPDASH.0017_auto_20230310_0713... OK
  Applying PPDASH.0018_auto_20230310_0722... OK
  Applying PPDASH.0019_alter_employee_new... OK
  Applying PPDASH.0020_alter_employee_new... OK
  Applying PPDASH.0021_auto_20230310_1203... OK
  Applying PPDASH.0022_alter_employee_new... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying auth.0012_alter_user_first_name_max_length... OK
  Applying sessions.0001_initial... OK

在这里插入图片描述

步骤3:本机测试数据库ok后,启动rancher的应用替代本机应用。

步骤4:rancher的pod 加减1,测试数据库的PVC是否生效。

bug:django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.Did you install mysqlclient?

请参考https://blog.csdn.net/qq_43271194/article/details/123282950

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值