PaaS平台部署实例(20210804)
部署SaaS过程
- 开发者中心创建
我的应用
, 应用名称,ID,git 等 - git 仓库
- 为应用创建数据库和用户名密码。
- 把开发框架 push 到 git 仓库。
- 开发者中心点击部署(先在测试环境部署成功,再在生产环境部署)
1.创建应用
2.git仓库:将代码传到码云
准备好代码(我直接在“蓝鲸智云-文档中心-下载资源-工具下载”中下载“Python 开发框架 V2”)
然后解压到当前文件夹
在该文件夹目录下打开终端/bash shell,将代码传到码云的仓库中
# 1. 初始化成仓库
git init
# 2. 添加文件
git add .
# 3. 添加 commit
git commit -m 'init'
# 4. 添加远程仓库地址
git remote add origin https://gitee.com/xxxx/xxxx.git
# 5. 推送
git push -u origin master
# 返回:
Enumerating objects: 394, done.
Counting objects: 100% (394/394), done.
Delta compression using up to 8 threads
Compressing objects: 100% (364/364), done.
Writing objects: 100% (394/394), 1.36 MiB | 1.73 MiB/s, done.
Total 394 (delta 75), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (75/75), done.
remote: Powered by GITEE.COM [GNK-6.0]
To https://gitee.com/xxx/xxx.git
* [new branch] master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.
3.创建数据库和用户
准备好一个代码工作所需要的数据库
此处将远程到mysql主机创建数据库和用户
这里注意需要在bkopsKey(一个私钥)当前目录下进行操作(在同一目录下开终端)
# 1. 登录外网跳板机
ssh -i bkopsKey username@hostname -p xxxxx
#xxxxx为端口号
# 2. 登录 bkce 后台
rsh -t bkce
# 3. 登录 mysql 主机
ssh $BK_MYSQL_IP
# 4. 登录 mysql shell
mysql \
-uroot \
-p$BK_MYSQL_ADMIN_PASSWORD \
-S /var/run/mysql/default.mysql.socket
# 其他用户登录
mysql -uxxx -pyyy -S /var/run/mysql/default.mysql.socket
# xxx是用户名 yyy是密码
-- 1. 创建数据库
CREATE DATABASE testdb;
-- 2. 创建用户(snow_2)和密码(blueking)
CREATE USER 'snow_2'@'%' IDENTIFIED BY 'blueking';
-- 3. 使用 root 用户登录,为MySQL 用户授权
GRANT ALL PRIVILEGES ON snow_2.* TO 'snow_2'@'%' IDENTIFIED BY 'blueking';
-- GRANT ALL PRIVILEGES ON 数据库名.数据库表 TO '用户名'@'登录主机IP' IDENTIFIED BY '密码';
-- 数据库名:snow_2
-- 数据库表:* (表示所有表)
-- 'snow_2'@'%': 表示登录的用户为 'snow_2', 登录的主机为 % (所有主机)。
FLUSH PRIVILEGES; -- 刷新权限
-- 4. 查看权限
SHOW GRANTS FOR 'snow_2'@'%';
+----------------------------------------------------+
| Grants for snow_2@% |
+----------------------------------------------------+
| GRANT USAGE ON *.* TO 'snow_2'@'%' |
| GRANT ALL PRIVILEGES ON `snow_2`.* TO 'snow_2'@'%' |
+----------------------------------------------------+
-- 5. 测试用户是否能登录
mysql \
-usnow_2 \
-pblueking \
-S /var/run/mysql/default.mysql.socket
创建好数据库和用户之后,配置代码(开发框架)中的数据库参数
用VSCode打开Python 开发框架 V2解压出的文件夹,修改stag.py(测试环境)和prod.py(生产环境)的参数
还有typing-extensions的问题处理:修改requirements.txt文件
4.push回git仓库
完成后再把代码传回码云
git add .
git commit -m 'add mysql'
git push
push完最好去码云检查一下有没有成功(或者留意看终端上的提示)
5.一键部署
然后来到蓝鲸平台,创建应用,将码云的地址拷贝过去,开始一键部署
部署过程中失败是正常的(可能太多人同时部署)
下面是部署成功的情况
在“我的应用”也可以看到在正式环境部署成功的信息(已上线)
“我的应用”和“基本信息”都可以进入测试地址和正式地址
进入后到如下页面
可用到后台管理对应用进行各种操作(下架,改成其他状态)
部署完之后可以选择下架,释放平台资源
部署过程中的平台操作
-
创建目录
-
从 git 拉取代码
-
构建容器
-
在容器中执行 django 应用的部署
-
完成部署后(无论成功失败),日志文件都可以被查看到
# 1. 登录外网跳板机
ssh -i bkopsKey bkops@bk-adm.canway.net -p 12345
# 2. 登录 bkce 后台
rsh -t bkce
# 3. 登录 appt 主机
ssh $BK_APPT_IP
# 4. 进入日志文件夹
#saas 日志路径 `/data/bkce/paas_agent/apps/logs/<APPID>.log
cd /data/bkce/paas_agent/apps/logs
tail <APPID>.log