可遇不可求的自动化运维工具 | 2 | 实施阶段一:基础准备
文章目录
- 一、安装所需环境和工具
- 1.1 安装 Visual Studio Code (VSCode)
- 1.2 安装 Git
- 1.3 安装 Python
- 1.4 安装 Node.js
- 二、获取云平台的API密钥并授权
- 2.1 核心原则
- 2.2 阿里云 (Alibaba Cloud) 操作指南
- 步骤一:创建RAM用户
- 步骤二:为RAM用户授权
- 2.3 密钥的使用与安全
- 如何在项目中使用?
- 三、创建项目基础结构
- 3.1 创建项目根文件夹
- 3.2 创建项目结构
- 3.3 初始化前端项目(使用命令)
- 3.4 写入最基础的初始文件
- 3.5 安装后端Python依赖
- 3.6 验证 setup 是否成功
免费个人运维知识库,欢迎您的订阅:literator_ray.flowus.cn
宗旨:构建一个本地化、个人使用的运维自动化工具,旨在提高个人运维效率,而非企业级大规模部署
一、安装所需环境和工具
需要安装以下四个核心工具,请按顺序操作。
1.1 安装 Visual Studio Code (VSCode)
这是你的核心开发编辑器。
-
下载地址: https://code.visualstudio.com/
-
安装步骤
-
访问官网,下载对应你操作系统(Windows/macOS)的安装包。
-
运行安装程序,所有选项保持默认设置即可(一直点击“下一步”)。
-
- 验证安装: 安装完成后,在开始菜单或应用程序中找到并打开 VSCode。
1.2 安装 Git
Git 用于版本控制,管理你的代码变更,同时也是后续安装某些依赖所必需的。
-
下载地址: https://git-scm.com/
-
安装步骤:
-
下载对应系统的安装包。
-
运行安装程序。对于Windows用户,在“Select Components”页面,请务必勾选“Add to PATH”选项,其他选项保持默认。
-
-
验证安装:
-
打开系统命令行(Windows: 按
Win + R
,输入cmd
并回车;macOS: 打开“终端”)。 -
输入命令:
git --version
-
如果显示版本号(如
git version 2.51.0
),说明安装成功。
-
1.3 安装 Python
这是后端的主要语言环境。
-
下载地址: https://www.python.org/downloads/
-
安装步骤:
-
下载 Python 3.10 或更高版本的安装包(推荐3.10或3.11,稳定性好)。
-
极其重要:运行安装程序时,在第一个安装界面最下方,一定要勾选 “Add python.exe to PATH” 这个选项,然后点击“Install Now”进行安装。
-
-
验证安装:
-
重新打开命令行窗口(关闭再打开一次,以确保环境变量生效)。
-
输入命令:
python --version
或python3 --version
-
如果显示对应的Python版本号(如
Python 3.13.2
),说明安装成功。
-
1.4 安装 Node.js
Node.js 主要用来构建(打包)你的前端界面,之后的前端开发命令需要它。
-
下载地址: https://nodejs.org/
-
安装步骤:
-
下载 LTS(长期支持版) 的安装包。
-
运行安装程序,所有选项保持默认设置即可。
-
-
验证安装:
-
打开命令行。
-
输入命令:
node --version
和npm --version
-
如果两者都显示出版本号(如
v22.18.0
和10.9.3
),说明安装成功。
-
二、获取云平台的API密钥并授权
安全地创建和管理云平台的API密钥(Access Key)是项目成功的基础。我将以阿里云和腾讯云为例,详细说明如何获取API密钥并为其授予所需的最小权限。
2.1 核心原则
-
最小权限原则:只授予执行特定操作所必需的权限,不要直接使用主账户的密钥。
-
使用子用户(RAM用户):创建一个专门的子用户来运行你的程序,即使密钥泄露,影响范围也仅限于该子用户被授予的权限。
-
妥善保管:API SecretKey 只会在创建时显示一次,务必立即妥善保存(例如使用密码管理器)。
2.2 阿里云 (Alibaba Cloud) 操作指南
步骤一:创建RAM用户
-
登录阿里云控制台。
-
在顶部菜单栏,将鼠标悬停在你的账号名上,点击 【访问控制RAM】,进入RAM管理控制台。
-
在左侧导航栏,选择 【身份管理】->【用户】。
-
点击 【创建用户】。
-
登录名称 和 显示名称:填写一个易于识别的名字,例如
script-bot
。 -
访问方式:务必勾选【使用永久 AccessKey 访问】。这将自动生成API访问密钥。
-
点击 【确定】。
-
步骤二:为RAM用户授权
创建用户后,系统会弹出对话框,显示 AccessKey ID 和 AccessKey Secret。立即复制并保存到安全的地方(如本地的 .env
文件或密码管理器)。
-
在用户列表中,找到你刚创建的用户
script-bot
,点击其名称进入详情页。 -
点击 【权限管理】->【新增授权】。
-
在 “资源范围” 选择 【账号级别】。
-
在 “权限策略” 区域,根据你的脚本需求,搜索并添加对应的系统策略。例如:
-
封禁IP:搜索并添加
AliyunCloudFWFullAccess
(云防火墙管理权限) 或更细粒度的策略(如果找到)。 -
操作DNS:搜索并添加
AliyunDNSFullAccess
(DNS管理权限)。 -
操作安全组/ECS:搜索并添加
AliyunECSFullAccess
(弹性计算管理权限)。
-
-
(重要) 尽量遵循最小权限原则。如果你的脚本只封禁IP,就不要授予它DNS管理的权限。
-
点击 【确定新增授权】,完成授权。
2.3 密钥的使用与安全
如何在项目中使用?
在你的Python后端项目中,绝对不要将密钥直接硬编码在代码里。而是使用环境变量。
-
在你的项目根目录或
backend
目录下创建一个.env
文件。 -
将密钥填入该文件:
# 阿里云
ALIYUN_ACCESS_KEY_ID = YOUR_ALIYUN_ACCESS_KEY_ID_HERE
ALIYUN_ACCESS_KEY_SECRET = YOUR_ALIYUN_ACCESS_KEY_SECRET_HERE# 腾讯云
TENCENT_CLOUD_SECRET_ID = YOUR_TENCENT_CLOUD_SECRET_ID_HERE
TENCENT_CLOUD_SECRET_KEY = YOUR_TENCENT_CLOUD_SECRET_KEY_HERE
3.在你的Python代码(app.py
)中,通过 os.getenv()
来读取:
import os
from dotenv import load_dotenvload_dotenv() # 加载 .env 文件中的环境变量aliyun_access_key_id = os.getenv('ALIYUN_ACCESS_KEY_ID')
aliyun_access_key_secret = os.getenv('ALIYUN_ACCESS_KEY_SECRET')
安全建议
1. **将 `.env`文件加入 `.gitignore`**:确保这个包含密钥的文件不会被意外提交到Git等版本控制系统上。2. **定期轮换密钥**:云平台都支持禁用旧密钥并生成新密钥。建议每隔一段时间(如3-6个月)进行一次轮换。3. **离线备份**:将密钥保存在可靠的密码管理器或离线存储中。完成以上步骤后,你的程序就获得了安全、受控的权限来调用云平台的API,从而执行你想要的自动化操作了。
三、创建项目基础结构
3.1 创建项目根文件夹
-
在你喜欢的位置(例如桌面或文档文件夹),新建一个文件夹,命名为
cloud-script-manager
(或其他你喜欢的名字)。 -
右键点击这个文件夹,选择 “通过 Code 打开” (如果你安装了VSCode,会出现这个选项)。这会在VSCode中打开整个项目文件夹。
(也可以在VSCode中点击 File
-> Open Folder
来打开它)
3.2 创建项目结构
在VSCode左侧的资源管理器中,按照下图所示的结构创建文件夹和文件。你可以在资源管理器右键点击来创建。
项目结构如下:
cloud-script-manager/ # 项目根目录
├── backend/ # Python后端目录
│ ├── app.py # Flask应用主文件
│ ├── requirements.txt # Python依赖库列表
│ └── scripts/ # 存放各种脚本模块
│ └── aliyun_firewall.py (等以后添加)
├── frontend/ # React前端目录 (等下用命令自动生成)
└── .gitignore # Git忽略文件 (可选,建议有)
手动创建方法:
-
在VSCode中,右键点击项目根目录
cloud-script-manager
->New Folder
,输入backend
。 -
右键点击
backend
文件夹 ->New Folder
,输入scripts
。 -
右键点击
backend
文件夹 ->New File
,输入app.py
。 -
右键点击
backend
文件夹 ->New File
,输入requirements.txt
。 -
在根目录下创建文件
.gitignore
。
不要手动创建frontend
3.3 初始化前端项目(使用命令)
我们将使用 create-react-app
这个工具来自动生成前端项目所需的所有基础文件。
-
在VSCode中,点击顶部菜单
Terminal
->New Terminal
。这会打开一个终端窗口,其当前路径应该是你的项目根目录。 -
在终端中输入以下命令并回车:
npx create-react-app frontend
这个命令会自动创建一个名为 frontend
的文件夹,并在里面生成所有React需要的启动文件。这个过程需要几分钟,请耐心等待。
- 完成后,你的项目结构就会变成上面所示的样子。
3.4 写入最基础的初始文件
为了让项目有一个起点,我们需要在几个核心文件中写入最基础的代码。
-
后端依赖文件 (
backend/requirements.txt
)双击打开这个文件,将以下内容复制进去并保存。这列出了项目最初需要的Python库。
Flask==2.3.3
Flask-CORS==4.0.0
python-dotenv==1.0.0
-
后端主程序 (
backend/app.py
)双击打开
app.py
,复制以下最基础的代码并保存。这是一个最简单的Flask服务器。
from flask import Flask
from flask_cors import CORSapp = Flask(__name__)
CORS(app) # 允许前端连接@app.route('/api/health')
def health_check():return {"status": "OK", "message": "后端服务已启动!"}if __name__ == '__main__':app.run(debug=True, port=3001) # 在3001端口运行
-
Git忽略文件 (
.gitignore
)这个文件告诉Git哪些文件不需要纳入版本管理(比如临时文件、依赖库等)。
打开
.gitignore
文件,输入以下内容:
# Python
__pycache__/
*.pyc
.env
venv/# Node.js
frontend/node_modules/
frontend/.env# Database
*.db
*.sqlite3
3.5 安装后端Python依赖
-
在VSCode的终端里,确保当前路径是项目的
backend
文件夹。你可以通过cd backend
命令进入。 -
输入以下命令来安装
requirements.txt
里列出的库:
pip install -r requirements.txt
如果安装成功,终端会显示所有库安装完毕的信息。
3.6 验证 setup 是否成功
现在,让我们测试一下环境是否全部搭建成功。
-
启动后端服务器:
-
在终端中(确保路径在
backend
下),输入命令:python app.py
-
如果成功,你会看到类似
* Running on http://127.0.0.1:3001/
的输出。
-
-
测试API:
-
打开你的浏览器,访问地址:
http://localhost:3001/api/health
-
如果页面显示
{"status":"OK","message":"后端服务已启动!"}
,恭喜!你的Python后端环境已就绪。
-
-
停止服务器:回到终端,按快捷键
Ctrl + C
停止后端服务器。 -
测试前端构建环境:
-
在终端中输入
cd ../frontend
切换到前端目录。 -
输入命令
npm start
。 -
如果成功,它会自动打开浏览器并显示一个React的欢迎页面(之后同样用
Ctrl + C
停止它)。
运行的可能比较慢,耐心等待
-
如果以上步骤全部成功,说明你的开发环境和项目基础结构已经100%搭建完成。你已经完成了从0到1最关键的一步!
接下来,我们就可以开始编写具体的功能了,比如连接阿里云SDK、制作第一个IP封禁界面等。
请不要以此视为定论,这只是我的个人经验