大道至简

学必求其心得,业必贵于专精。

0%

该自动化测试平台,它能够支持接口自动化测试、APP自动化测试和网页自动化测试,涉及到多个关键组成部分和功能。

设计概念

  1. 核心架构:

    中央控制服务器: 负责管理测试任务,调度测试资源,存储测试结果。

    数据库: 存储测试脚本、测试数据、历史测试结果等。

    用户界面(UI): 提供一个友好的用户界面供测试人员配置测试、触发测试、查看测试结果。

  2. 测试模块:

    接口自动化测试模块: 支持RESTful API、SOAP等接口测试,能够配置请求参数、请求头、断言等。

    APP自动化测试模块: 支持iOS和Android平台,能够进行界面元素识别、手势操作、环境模拟等。

    网页自动化测试模块: 支持主流浏览器,进行页面元素操作、页面跳转、表单提交等测试。

  3. 测试脚本开发:

    脚本编辑器: 提供一个用于编写和修改测试脚本的环境。

    脚本语言支持: 支持如Python、JavaScript等主流自动化测试语言。

  4. 集成与部署:

    持续集成(CI)系统集成: 能够与Jenkins、GitLab CI等持续集成工具集成。

    云服务支持: 可以部署在云平台上,如AWS、Azure等,以便于扩展和管理。

  5. 测试数据管理:

    测试数据生成: 提供工具生成或导入测试数据。

    测试结果分析: 结果展示、日志记录、性能分析等。

  6. 安全与权限管理:

    用户认证和授权: 确保只有授权用户可以访问和操作测试平台。

    数据加密和备份: 确保测试数据的安全和完整性。

  7. 报告与通知:

    测试报告: 生成详细的测试报告,包括测试结果、覆盖率、发现的问题等。

    通知系统: 测试完成或发现重大问题时,能够通过邮件、短信等方式通知相关人员。

具体实现时还需要考虑更多细节,如技术选型、性能优化、用户体验设计等。

代码框架

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
 /NexTest
├── /api # 后端API (使用Gin框架)
│ ├── /handlers # 请求处理器
│ │ ├── app_testing.go # 处理APP测试相关的API请求
│ │ ├── web_testing.go # 处理网页测试相关的API请求
│ │ ├── api_testing.go # 处理API接口自动化测试相关的API请求
│ │ ├── auth.go # 处理认证相关的API请求
│ │ ├── user.go # 处理用户资源的API请求
│ │ ├── project.go # 处理项目资源的API请求
│ │ ├── testcase.go # 处理测试用例的API请求
│ │ ├── testresult.go # 处理测试结果的API请求
│ │ ├── dashboard.go # 处理控制面板相关的API请求
│ │ ├── report.go # 处理测试报告的API请求
│ │ ├── settings.go # 处理平台设置相关的API请求
│ │ ├── integration.go # 处理第三方工具集成的API请求
│ │ ├── health.go # 处理健康检查的API请求
│ │ ├── notification.go # 处理通知相关的API请求
│ │ └── data_management.go # 处理测试数据管理的API请求
├── /api # 后端API (使用Gin框架)
│ ├── /middlewares # 中间件
│ │ ├── cors.go # CORS处理中间件
│ │ ├── auth.go # 认证中间件
│ │ ├── logging.go # 日志记录中间件
│ │ ├── recovery.go # 错误恢复中间件
│ │ ├── rate_limit.go # 速率限制中间件
│ │ ├── metrics.go # 性能指标中间件
│ │ ├── trace.go # 请求跟踪中间件
│ │ ├── session.go # 会话管理中间件
│ │ ├── content_type.go # 内容类型检查中间件
│ │ ├── security_headers.go # 安全头中间件
│ │ ├── request_validation.go# 请求验证中间件
│ │ └── cache.go # 缓存中间件
├── /cmd # 应用程序的启动入口
│ ├── /api # API服务的启动入口
│ │ └── main.go # API服务的主程序
│ ├── /worker # 后台工作进程的启动入口
│ │ └── main.go # 后台工作进程的主程序
│ ├── /cli # 命令行工具的启动入口
│ │ └── main.go # 命令行工具的主程序
│ ├── server.go # 启动API服务器的程序
│ ├── worker.go # 启动后台工作进程的程序
│ ├── migrate.go # 数据库迁移工具的程序
│ ├── cli.go # 命令行接口启动和管理程序
│ ├── setup.go # 初次设置或安装应用程序的程序
│ ├── dev.go # 开发环境特定配置或工具的程序
│ └── test.go # 复杂测试编译执行的程序
├── /config
│ ├── config.json #这些文件包含了静态配置信息,例如数据库连接信息、第三方API密钥、应用程序设置等
│ ├── environment.go #用于加载和处理环境变量的代码
│ ├── secrets.json #包含敏感信息,如API密钥、密码等,这些信息通常不会提交到版本控制系统中
│ ├── database.json # 包含数据库配置信息,如连接字符串、数据库类型、迁移设置等
│ ├── logging.json #定义日志记录的配置,例如日志级别、格式和输出目标。
│ ├── server.json #包含服务器配置信息,如端口号、超时设置、TLS/SSL配置等。
│ ├── feature_flags.json #用于控制功能开关的配置,可以在不更改代码的情况下启用或禁用特定功能
│ ├── econstants.go #定义了整个应用程序中使用的常量
│ ├── locales.go #如果您的应用程序支持国际化,则可能有包含翻译字符串的配置文件
│ ├── prod.json # 包含生产环境特有的配置
│ ├── dev.json #包含开发环境特有的配置
│ ├── docker-compose.yml #使用容器化或编排工具,可能会有用于定义服务、卷、网络等的配置文件
│ ├── config_test.go #测试配置加载逻辑的测试代码
│ ├── Dockerfile
├── /internal # 内部业务逻辑
│ ├── /reporting # 测试报告生成和管理
│ │ ├── generator.go # 报告生成逻辑
│ │ └── templates.go # 报告模板定义
│ ├── /notification # 通知和警报系统
│ │ ├── sender.go # 通知发送逻辑
│ │ └── service.go # 通知服务接口
│ ├── /scheduler # 定时任务和测试计划调度
│ │ ├── scheduler.go # 调度器逻辑
│ │ └── cron_jobs.go # 定时任务定义
│ ├── /analytics # 测试数据统计和分析
│ │ └── analytics.go # 分析服务逻辑
│ ├── /user_management # 用户账户管理
│ │ ├── user_service.go # 用户服务逻辑
│ │ └── profile_management.go# 用户资料管理
│ ├── /access_control # 用户权限和角色访问控制
│ │ ├── permissions.go # 权限定义和检查
│ │ └── roles.go # 角色管理
│ ├── /environment # 测试环境配置管理
│ │ ├── environment_service.go# 环境配置服务
│ │ └── virtualization.go # 虚拟化环境管理
│ ├── /asset_management # 资产管理
│ │ ├── asset_service.go # 资产管理服务
│ │ └── repository.go # 资产仓库接口
│ ├── /audit # 操作审计日志
│ │ └── audit_log.go # 审计日志记录
│ ├── /metrics # 度量指标收集和导出
│ │ ├── collector.go # 度量收集器
│ │ └── exporter.go # 度量导出器
│ ├── /third_party_integration # 第三方服务集成
│ │ ├── integration_service.go# 集成服务逻辑
│ │ └── webhook.go # Webhook处理
│ └── /security # 安全性相关功能
│ ├── encryption_service.go# 加密服务
│ └── secrets_manager.go # 秘密管理
├── /model # 数据模型定义
│ ├── user.go # 用户实体定义
│ ├── project.go # 项目实体定义
│ ├── testcase.go # 测试用例实体定义
│ ├── testresult.go # 测试结果实体定义
│ ├── testenvironment.go # 测试环境实体定义
│ ├── testsuite.go # 测试套件实体定义
│ ├── testrun.go # 测试运行实体定义
│ ├── role.go # 角色实体定义
│ ├── permission.go # 权限实体定义
│ ├── auditlog.go # 审计日志实体定义
│ ├── config.go # 配置实体定义
│ ├── notification.go # 通知实体定义
│ ├── asset.go # 资产实体定义
│ └── integration.go # 第三方集成实体定义
├── /pkg # 公共库和工具
│ ├── /logger # 日志工具
│ │ └── logger.go # 日志库初始化和配置
│ ├── /ci # 持续集成工具库
│ │ ├── jenkins.go # Jenkins集成工具
│ │ ├── gitlab.go # GitLab CI集成工具
│ │ └── circleci.go # CircleCI集成工具
│ ├── /utils # 工具函数
│ │ ├── string_helpers.go # 字符串操作辅助函数
│ │ ├── file_helpers.go # 文件操作辅助函数
│ │ ├── date_helpers.go # 日期和时间辅助函数
│ │ ├── slice_helpers.go # 切片操作辅助函数
│ │ └── conversion_helpers.go# 数据类型转换辅助函数
│ ├── /http # HTTP相关工具
│ │ ├── client.go # HTTP客户端配置
│ │ └── server.go # HTTP服务器配置
│ ├── /db # 数据库工具
│ │ ├── connection.go # 数据库连接和配置
│ │ └── migration.go # 数据库迁移逻辑
│ ├── /encryption # 加密工具
│ │ ├── aes.go # AES加密封装
│ │ └── rsa.go # RSA加密封装
│ ├── /validator # 验证工具
│ │ └── validator.go # 数据验证逻辑
│ ├── /queue # 队列工具
│ │ ├── rabbitmq.go # RabbitMQ消息队列封装
│ │ └── kafka.go # Kafka消息队列封装
│ ├── /cache # 缓存工具
│ │ ├── memory.go # 内存缓存实现
│ │ └── redis.go # Redis缓存封装
│ ├── /metrics # 监控工具
│ │ └── prometheus.go # Prometheus监控集成
│ ├── /retry # 重试逻辑
│ │ └── retry.go # 重试逻辑实现
│ ├── /convert # 类型转换工具
│ │ └── type_conversion.go # 数据类型转换函数
│ ├── /testutils # 测试工具
│ │ ├── mocks.go # 模拟对象和函数
│ │ └── assertions.go # 测试断言封装
│ ├── /middleware # 中间件工具
│ │ ├── cors.go # CORS处理中间件
│ │ └── auth.go # 认证处理中间件
│ ├── /response # 响应工具
│ │ └── response.go # API响应构造器
│ ├── /config # 配置工具
│ │ └── config_loader.go # 配置加载和解析
│ ├── /serializer # 序列化工具
│ │ ├── json.go # JSON序列化和反序列化
│ │ └── xml.go # XML处理函数
│ └── /i18n # 国际化工具
│ └── locales.go # 国际化和本地化逻辑
├── /scripts # 脚本和工具
│ ├── /setup # 设置脚本
│ │ └── setup.go # 配置环境的脚本
│ ├── /build # 构建脚本
│ │ └── build.go # 构建应用程序的脚本
│ ├── /ci # 持续集成脚本
│ │ └── ci.go # CI流程的脚本
│ ├── /monitoring # 监控脚本
│ │ └── monitoring.go # 设置监控的脚本
│ ├── /security # 安全脚本
│ │ └── security_checks.go # 安全检查脚本
│ ├── /utilities # 实用工具脚本
│ │ ├── data_cleanup.go # 清理数据的脚本
│ │ └── setup_dev_env.go # 设置开发环境的脚本
│ ├── /docs # 文档生成脚本
│ │ └── generate_docs.go # 自动生成文档的脚本
│ ├── /lint # 代码静态分析脚本
│ │ └── linter.go # 静态分析和格式化的脚本
│ ├── /migration # 数据迁移脚本
│ │ └── data_migration.go # 数据迁移脚本
│ ├── /release # 发布脚本
│ │ ├── tag_release.go # 标记发布的脚本
│ │ └── changelog.go # 生成变更日志的脚本
│ ├── /environment # 环境配置脚本
│ │ └── env_setup.go # 环境设置的脚本
│ ├── /validation # 配置验证脚本
│ │ └── validate_configs.go # 配置验证的脚本
│ ├── /deployment # 部署脚本
│ │ ├── deploy_app.go # 部署应用程序的脚本
│ │ ├── rollback.go # 版本回滚的脚本
│ │ └── health_check.go # 健康检查的脚本
│ ├── /test_data # 测试数据脚本
│ │ ├── generate_test_data.go# 生成测试数据的脚本
│ │ ├── load_test_data.go # 加载测试数据的脚本
│ │ └── clean_test_data.go # 清理测试数据的脚本
│ ├── /documentation # 更多文档脚本
│ │ ├── generate_api_docs.go # 自动生成API文档的脚本
│ │ └── update_wiki.go # 更新Wiki或文档资源的脚本
│ ├── /analytics # 分析脚本
│ │ └── analyze_logs.go # 日志分析脚本
│ ├── /maintenance # 维护脚本
│ │ └── db_maintenance.go # 数据库维护脚本
│ ├── /backup_restore # 备份和恢复脚本
│ │ ├── backup_databases.go # 数据库备份脚本
│ │ └── restore_databases.go # 数据库恢复脚本
│ └── /performance # 性能测试脚本
│ └── performance_testing.go # 性能测试脚本
├── /tests # 测试文件
│ ├── /api_testing # API测试模块的测试文件
│ │ ├── api_endpoints_test.go# 测试API端点
│ │ ├── api_integration_test.go # 集成测试API功能
│ │ └── api_contract_test.go # API契约测试
│ ├── /app_testing # APP测试模块的测试文件
│ │ ├── app_functionality_test.go # 测试APP功能
│ │ ├── app_navigation_test.go # 测试APP导航
│ │ └── app_performance_test.go # APP性能测试
│ ├── /web_testing # 网页测试模块的测试文件
│ │ ├── web_ui_test.go # 测试网页用户界面
│ │ ├── web_security_test.go # 测试网页安全性
│ │ └── web_load_test.go # 网页负载测试
│ ├── /unit # 单元测试
│ │ ├── service_test.go # 服务层单元测试
│ │ └── model_test.go # 数据模型单元测试
│ ├── /integration # 集成测试
│ │ ├── api_integration_test.go # API集成测试
│ │ └── db_integration_test.go # 数据库集成测试
│ ├── /functional # 功能测试
│ │ └── user_flow_test.go # 用户流程测试
│ ├── /e2e # 端到端测试
│ │ └── e2e_test.go # 应用程序端到端测试
│ ├── /performance # 性能测试
│ │ ├── load_test.go # 负载测试
│ │ └── stress_test.go # 压力测试
│ ├── /security # 安全测试
│ │ └── security_test.go # 安全和漏洞测试
│ ├── /acceptance # 验收测试
│ │ └── criteria_test.go # 验收测试
│ ├── /mocks # 模拟对象
│ │ ├── service_mocks.go # 服务层模拟
│ │ └── repository_mocks.go # 数据访问层模拟
│ ├── /test_helpers # 测试辅助函数
│ │ ├── assertions.go # 断言函数
│ │ └── setup_teardown.go # 设置和拆卸测试环境
│ ├── /ui # UI测试
│ │ └── ui_test.go # UI自动化测试
│ ├── /benchmark # 基准测试
│ │ └── performance_benchmark_test.go # 性能基准测试
│ └── /load # 负载测试
│ └── capacity_load_test.go # 容量测试
├──/web
│ ├── /src # 源代码目录
│ │ ├── /assets # 静态资源,如图片、样式表
│ │ │ ├── /images # 图片文件
│ │ │ └── /styles # 样式文件(如SCSS或CSS)
│ │ ├── /components # Vue组件
│ │ │ ├── Header.vue # 示例组件
│ │ │ └── Footer.vue # 示例组件
│ │ ├── /router # Vue Router配置
│ │ │ └── index.js # 路由配置文件
│ │ ├── /store # Vuex状态管理
│ │ │ └── index.js # Vuex store定义
│ │ ├── /views # 页面视图组件
│ │ │ ├── Home.vue # 首页视图组件
│ │ │ └── About.vue # 关于页面视图组件
│ │ ├── App.vue # 主组件
│ │ └── main.js # 应用入口文件,初始化Vue实例
│ ├── /public # 公共文件夹
│ │ ├── favicon.ico # 网站图标
│ │ └── index.html # 主HTML文件
│ ├── .eslintrc.js # ESLint配置
│ ├── .browserslistrc # 浏览器兼容性配置
│ ├── package.json # 项目依赖和脚本
│ └── vue.config.js # Vue CLI配置
阅读全文 »

需求初步设计:NexTest自动化测试平台

1. 引言

  • 目的

    • 本文档旨在详细描述NexTest自动化测试平台的需求,包括功能性需求和非功能性需求。
  • 背景

    • NexTest旨在提供一个综合性的测试解决方案,用于自动化、监控和加速软件测试过程。

2. 总体描述

  • 平台概述

    • NexTest是一个全面的自动化测试平台,集成API测试、Web测试、App测试、持续集成、配置管理等功能。
  • 用户群体

    • 软件开发者、测试工程师、项目经理、DevOps工程师。

3. 功能性需求

  • API测试
    • 支持RESTful API测试,包括请求发送、响应验证、结果报告等。
  • Web和App测试
    • 提供Web界面和移动应用的自动化测试功能,包括UI测试、性能测试等。
  • 测试管理
    • 支持测试用例管理、测试计划制定、测试进度跟踪。
  • 报告生成
    • 自动生成详细的测试报告,支持自定义报告模板。
  • 用户认证和权限管理
    • 用户注册、登录功能,角色基权限控制系统。
  • 第三方集成
    • 支持与CI/CD工具、代码仓库、项目管理工具等第三方服务集成。
  • 环境配置和管理
    • 提供测试环境的配置和管理工具,支持多环境切换。
  • 通知系统
    • 配置可定制的通知规则,如测试完成、错误报告等。

4. 非功能性需求

  • 性能要求
    • 平台应能快速响应用户请求,处理大量并发测试。
  • 安全性
    • 保证数据安全,包括敏感信息的加密存储和传输。
  • 可用性
    • 用户界面友好,易于使用,提供清晰的用户指南和错误提示。
  • 可靠性
    • 系统稳定,具备错误恢复机制。
  • 可维护性和可扩展性
    • 代码结构清晰,易于维护和升级。

5. 系统架构

阅读全文 »

切换到旧版右键菜单:

reg add “HKCU\Software\Classes\CLSID{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32” /f /ve

恢复回Win11右键菜单:

reg delete “HKCU\Software\Classes\CLSID{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}” /f

重启Windows资源管理器生效:

taskkill /f /im explorer.exe & start explorer.exe

阅读全文 »

host配置新增

1
2
3
4
5
6
7
8
9
10
11
12
13
192.168.195.1 nginx.kube.com
192.168.154.12 nginx.kubepre.com
192.168.150.31 nginx.kubebeta.com

192.168.38.101 nginx.kubezt.com
192.168.38.104 nginx.kube1w2pt.com
192.168.147.55 nginx.kubeyw.com

192.168.39.19 nginx.kubezt2.com
192.168.39.16 nginx.kube1w2pt2.com
192.168.39.16 nginx.kubeyw2.com

192.168.137.23 nginx.zt.com

机器信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
192.168.137.23  root/awifi@123   nginx
192.168.147.68 root/awifi@123 nginx
192.168.38.101 root/awifi@123 ztk8s-master-1
192.168.38.102 root/awifi@123 ztk8s-worker-1
192.168.38.103 root/awifi@123 ztk8s-worker-2
192.168.38.104 root/awifi@123 k8s-1w2pt-master-1
192.168.38.105 root/awifi@123 k8s-1w2pt-worker-1
192.168.38.106 root/awifi@123 k8s-1w2pt-worker-2
192.168.147.55 root/awifi@123 k8s-yw-master-1
192.168.147.56 root/awifi@123 k8s-yw-worker-1
192.168.147.57 root/awifi@123 k8s-yw-worker-2
192.168.39.19 root/awifi@123 ztk8s2-master-1
192.168.39.17 root/awifi@123 ztk8s2-worker-1
192.168.39.20 root/awifi@123 ztk8s2-worker-2
192.168.39.16 root/ceph@awifi k8s-1w2pt2-master-1
192.168.39.15 root/ceph@awifi k8s-1w2pt2-worker-1

配置信息

1.nginx:

1
2
3
4
5
6
7
PIDFile路径:/usr/local/nginx/nginx.pid          
conf路径:/usr/local/nginx/conf/nginx.conf
服务配置路径: vim /usr/lib/systemd/system/nginx.service
常用命令:systemctl status nginx
systemctl start nginx
systemctl stop nginx
systemctl restart nginx

2.ingress

1
2
3
4
5
6
7
8
9
10
11
12
cd /data/ingress/
deploy.yaml (部署服务和暴露外部端口)
ingress.yaml或zt-ingress.yaml (配置ingress转发路径)
创建:
kubectl apply -f deploy.yaml
kubectl apply -f ingress.yaml
替换(修改文件后执行):
kubectl replace -f deploy.yaml
kubectl replace -f ingress.yaml
删除
kubectl delete -f ingress.yaml
kubectl delete -f deploy.yaml

中间件

阅读全文 »

一、hosts配置加入harbor仓库地址

1
2
3
4
192.168.147.35  alpha-pack.51iwifi.com
192.168.195.3 k8s-alpha-node2
192.168.195.70 dev-harbor.51iwifi.com
192.168.195.2 alpha-harbor.51iwifi.com

二、docker地址修改

1
vi /etc/docker/daemon.json

三、nfs搭建,master节点执行即可

路径:/k8s,文件
1).安装NFS服务

1
2
env http_proxy=http://172.200.96.179:3128  yum install  -y  nfs-utils
env http_proxy=http://172.200.96.179:3128 yum install -y rpcbind

2).设置共享文件夹

1
2
mkdir -p /nfs/data/
chmod 755 /nfs/data

3).配置文件修改

阅读全文 »

扩容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

kubectl scale deployment cgp-zuul --replicas 2

kubectl scale deployment cgp-protocol-converter --replicas 2



kubectl scale deployment cloud-switch-resmgr --replicas 2



kubectl scale deployment ingress-nginx-controller -n ingress-nginx --replicas 3

kubectl scale deployment ingress-nginx-admission-create -n ingress-nginx --replicas 3

kubectl scale deployment ingress-nginx-admission-patch -n ingress-nginx --replicas 3

修改镜像版本

1
2
3
kubectl set image deployment/nb-aqhh-api jar=hub.51iwifi.com/zncj/nb-aqhh-api:8dcb94-20240321

kubectl -n pre set image deployment/cloud-switch-controller-link-monitor jar=hub.51iwifi.com/cloud-switch/cloud-switch-controller-link-monitor:1.0.0.69059.168

删除驱逐镜像

1
kubectl get pods -n pre | grep Evicted | awk '{print $1}' | xargs kubectl -n pre delete pod  
阅读全文 »

方式一:

1
2
3
4
5
date
ll /usr/share/zoneinfo/Asia/Shanghai
rm -f /etc/localtime
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
date

方式二:

1
2
3
4
5
6
7
8
修改为上海时区
timedatectl
timedatectl set-timezone Asia/Shanghai
timedatectl

yum install -y chrony
chronyc -n sources -v
chronyc tracking

方式三:

1
2
3
yum install -y ntpdate
ntpdate -u ntp.api.bz
timedatectl

方式四:和内网某台机器同步:

1
2
3
4
5
6
7
8
9
10
确定是否安装ntpd服务

rpm -qa | grep ntpd

如果没有安装,可以进行在线安装

yum -y install ntpd
查看ntpd的状态

service ntpd status
1
2
3
4
5
6
7
启动服务

service ntpd start

设置服务开机启动

chkconfig ntpd on
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
编辑配置文件

vim /etc/ntp.conf

将node01的时间广播到100.0这个网段

restrict 192.168.100.0 mask 255.255.255.0 nomodify notrap

注释四行内容

#server0.centos.pool.ntp.org

#server1.centos.pool.ntp.org

#server2.centos.pool.ntp.org

#server3.centos.pool.ntp.org

去掉以下内容的注释,如果没有这两行注释,那就自己添加上

server 127.127.1.0 # localclock

fudge 127.127.1.0 stratum 10
阅读全文 »

步骤 1:准备 Linux 机器

8 核 CPU,16 GB 内存,100 GB 磁盘空间

1、节点要求
节点必须能够通过 SSH 连接。
所有节点时间同步.
节点上可以使用 sudo/curl/openssl/tar 命令

/var/lib/docker 路径主要用于存储容器数据,在使用和操作过程中数据量会逐渐增加。因此,在生产环境中,建议为 /var/lib/docker 单独挂载一个硬盘。
CPU 必须为 x86_64,暂时不支持 Arm 架构的 CPU

2、依赖:

1
yum install -y socat  conntrack ebtables  ipset ipvsadm

3、网络和 DNS 要求
确保 /etc/resolv.conf 中的 DNS 地址可用
防火墙或安全组,确保基础结构组件可以通过特定端口相互通信
支持的 CNI 插件:Calico 和 Flannel。

步骤 2:下载 KubeKey

1
2
3
4
5
export KKZONE=cn
curl -sfL https://get-kk.kubesphere.io | VERSION=v2.2.1 sh -

为 kk 添加可执行权限:
chmod +x kk

步骤 3:创建集群

阅读全文 »

K8S环境及相关工具部署
本次安装环境描述
系统版本:CentOS Linux release 7.6 x64
docker版本:18.06.2-ce
rancher-server版本:2.3.5

安装docker:

若yum找不到docker-ce包则执行以下操作:

卸载老版本的 docker 及其相关依赖

1
sudo yum remove docker docker-common container-selinux docker-selinux docker-engine

更新yum

1
yum update

安装 yum-utils,它提供了 yum-config-manager,可用来管理yum源

1
sudo yum install -y yum-utils

添加yum源

阅读全文 »