课程特色
互联网时代的到来,使得互联网上的产品具有创新成本低、需求变化快、用户群体大等特点,促使业务变化快,业务领域和范围不断扩大,软件功能持续增加,导致单体架构的维护成本、人员学习成本、缺陷修复成本、增加新功能的成本以及系统扩展成本等都在急剧增加,单块架构无法适应互联网时代的快速变化,面临着越来越多的挑战,一方面,代码的可维护性、扩展性、灵活性在降低;而另一方面,系统的测试成本、构建成本以及维护成本在显著增加。因此,随着项目或者产品规模的不断扩大,单块架构应用的改造与重构势在必行。而云原生可以完全满足与胜任互联网时代快速变化的需求。
云原生架构随着RESTful、容器技术、云计算、DevOps、持续交付、敏捷项目管理等IT技术的深入应用,有效的解决了互联网时代遇到的众多挑战,因此云原生架构深受企业的欢迎,并在企业内部所采用,解决了企业的问题,适应了市场需求。
本课程详细介绍了Kong网关的技术原理与使用,并针对应用中的问题提出相应的解决方案。
课程目标
1、 使学员深入理解Kong网关原理的技术原理以及应用场景;
2、 使学员深入理解Kong Gateway规划和部署、Kong网关配置管理;
3、 使学员能够设计Kong网关安装部署和Kong网关的使用;
4、 使学员掌握Kong的应用场景;
5、 使学员掌握Kong插件开发指南;
6、 使学员掌握Kong的问题解决;
7、 解决企业敏捷项目管理持续升级的运维管理问题;
8、 使学员掌握Kong监控功能;
9、 使学员掌握Kong加载组件,Kong服务注册与服务发现;
10、 使学员掌握Kong转发数据保存在平台中;
11、 使学员掌握Kong配置平台宕机旧有接口启用继续使用;
课程对象
1、 本课程适合于企业IT架构师、技术经理等角色;
2、 本课程适合于软件高级开发工程师;
3、 本课程适合于业务需求人员;
4、 本课程适合于企业高层管理人员;
5、 本课程适合于IT运维人员;
课程方式
以课堂讲解、演示、案例分析为主,辅以互动研讨、现场答疑、学以致用。
课程时长
2天(6小时/天)
课程大纲
时间 | 内容 | 备注 |
第1天 | 第1个主题: Kong网关概述(介绍Kong网关)(60分钟) 1、 Kong网关介绍 2、 Kong网关诞生的背景 3、 Kong网关特点 4、 Kong Gateway概述 5、 Kong的原理 6、 拓展Kong Gateway 7、 程序包和模式 8、 Kong Gateway特征 9、 Kong Gateway Admin API 10、 Kong Gateway管理器 11、 Kong Gateway dev portal 12、 Kong核心功能 13、 Kong支持Kubernates 14、 Kong Gateway插件 15、 Kong工具 16、 Insomna 17、 Deck 18、 Kong Gateway使用介绍 19、 Konnect试用 20、 Kong Gateway技术支持
第2个主题: Kong网关安装部署(剖析如何搭建Kong网关)(90分钟) 1、 Kong网关安装部署 2、 部署条件 3、 下载并安装 4、 设置配置 5、 配置数据库 6、 配置yaml声明配置文件 7、 种子超级管理员 8、 启动Kong Gateway 9、 验证安装 10、 安装后配置 11、 申请企业许可证 12、 启用和配置管理器 13、 启用开发人员门户 14、 故障排除和支持
第3个主题: Kong网关使用介绍(剖析如何使用Kong网关)(60分钟) 1、 使用Docker和数据库启动Kong Gateway 2、 Kong Gateway默认端口 3、 Kong生命周期命令 4、 配置一个Service a) 使用Admin API添加Service b) 为Service添加Route c) 通过Kong转发请求 5、 配置gRPC Service a) gRPC Service和路由 6、 启用插件Plugins a) 配置密钥验证插件Plugin b) 验证插件是否正确配置 7、 增加消费者Consumers a) 通过RESTful API创建使用者Consumer b) 为消费者Consumer提供密钥凭据 c) 验证消费者Consumer凭据是否有效 8、 实践:配置Kong网关Service
第4个主题: Kong综合指南(Kong综合指南)(90分钟) 1、 Kong综合指南 2、 Kong管理准备 a) 验证网关配置 b) 验证控制平面和数据平面的连接 3、 公开服务 a) 什么是Service和Route? b) 添加Service c) 添加Route d) 验证Route是否正在将请求转发到Service 4、 保护服务 a) 什么是速率限制? b) 为什么使用速率限制? c) 设置速率限制 d) 验证速率限制 5、 提高性能 a) 什么是代理缓存? b) 为什么要使用代理缓存? c) 设置代理缓存插件 d) 验证代理缓存 6、 安全服务 a) 什么是身份验证? b) 为什么使用API网关身份验证? c) 设置密钥验证插件 d) 设置消费者和凭据 e) 验证密钥身份凭据 f) 禁用插件 7、 设置智能负载平衡 a) 什么是Upsteams? b) 为什么要在Upsteams目标之间实现负载平衡? c) 配置Upsteams Services d) 验证Upsteams Services 8、 管理员团队管理 a) 工作区和团队概述 b) 保护网关安装 c) 启用RBAC d) 创建一个工作区 e) 登录Kong管理器 f) 创建管理员 g) 邀请新管理员 h) 验证新管理员 i) 参考:将decK与RBAC和Workspaces一起使用 i. RBAC ii. Workspaces 9、 发布、定位和使用服务 a) 为工作区启用开发人员门户 b) 访问开发门户并与之交互 c) 将规范发布到Dev门户 10、 实践:Kong使用实践
第5个主题: Kong Gateway规划和部署(剖析如何规划和部署Kong Gateway)(60分钟) 1、 Kong Gateway规划和部署 2、 以非Root用户身份运行Kong 3、 资源规模指南 4、 混合模式 5、 Kubernetes部署选项 6、 通过systemd控制Kong网关 7、 性能测试框架 8、 DNS注意事项 9、 默认端口 10、 许可证 a) 访问许可证 b) 部署许可证 c) 监视许可证使用情况 11、 安全 a) 安全启动Kong Gateway b) 密钥环和数据加密 c) Kong Gateway安全更新流程 d) 密码管理 e) 高级用法 f) 后端 g) 环境变量 12、 参考格式 13、 实践:Kong Gateway规划和部署 | |
时间 | 内容 | 备注 |
第2天 | 第6个主题: Kong网关配置管理(剖析如何配置管理Kong网关)(90分钟) 1、 Kong网关配置管理 a) 身份验证和授权 b) 身份验证引用 c) OpenID连接插件 i. OpenID连接Curity ii. OpenID连接Azure AD iii. OpenID连接Google iv. OpenID与Okta连接 v. OpenID与Auth0连接 vi. OpenID与Cognito连接 vii. OpenID连接插件参考 d) 允许多种身份验证方法 e) Kong处理器授权 i. 创建一个超级管理员 ii. 配置网络 iii. 配置Kong Manager以发送电子邮件 iv. 重置密码和RBAC令牌 v. 配置工作区 vi. 基本授权 vii. LDAP viii. OIDC ix. Sessions 2、 基于角色的访问控制(RBAC) a) 添加角色 b) 添加用户 c) 添加管理员 d) 将LDAP服务目录分组到Kong角色 3、 Kong开发人员门户 a) 启用开发人员门户 b) 结构和文件类型 c) 门户API d) 使用模板 e) 使用编辑器 f) 配置 g) 认证 h) 基本授权 i) 密钥验证 j) OIDC k) Senssion l) 添加自定义注册字段 m) SMTP n) 工作区 4、 管理功能 a) 管理开发人员 b) 开发人员角色和内容权限 c) 应用程序注册 d) 授权提供者策略 e) 启用应用程序注册 f) 为应用程序注册启用密钥身份验证 g) 外部OAuth2支持 h) 为外部OAuth设置Okta和Kong i) 为 外部身份验证设置Azure AD和Kong j) 管理应用程序 5、 定制化 a) 轻松的主题编辑 b) 在工作区之间迁移模板 c) 降价渲染模块 d) 自定义门户电子邮件 e) 添加和使用JavaScript资产 f) 开发门户中的单页应用程序 g) 替代OpenAPI渲染器 h) 助手CLI 6、 配置gRPC插件 7、 GraphQL快速入门 8、 日志引用 9、 网络和防火墙 10、 实践:Kong网关配置管理
第7个主题: Kong监控功能(剖析Kong监控功能)(60分钟) 1、 Kong监控功能 2、 Kong Virals 3、 Kong的指标 4、 Kong报告 5、 Virals使用InfluxDB 6、 Virals使用Prometheus 7、 Virals存储在PostgreSQL中 8、 Prometheus插件 9、 Zipkin插件 10、 实践:Kong监控功能 第8个主题: Kong功能参考(介绍Kong功能参考)(60分钟) 1、 Kong功能参考 2、 Kong Admin API 3、 无DB模式 4、 声明式配置 5、 支持的内容类型 6、 信息Routes 7、 健康Routes 8、 标签Tags 9、 Service对象 10、 Route对象 11、 消费者Comsumer对象 12、 插件对象 13、 证书对象 14、 CA证书对象 15、 SNI对象 16、 Upsteam对象 17、 目标Target物体 18、 Vault测试版 19、 许可证 a) 许可证参考 b) 许可证示例 20、 工作区 a) 工作空间参考 b) 工作区示例 21、 RBAC a) RBAC参考 b) RBAC示例 22、 管理员 23、 API参考 24、 示例 25、 开发者 26、 消费者群组 27、 API参考 28、 示例 29、 事件挂钩 30、 事件挂钩引用 31、 示例 32、 审核日志 33、 密钥环和数据加密 34、 保护Admin API 35、 无数据库和声明式配置 36、 配置参考 37、 CLI参考 38、 负载平衡参考 39、 代理参考 40、 速率限制库 41、 健康检查和断路器参考 42、 集群参考 43、 插件开发工具包 a) kong.client b) kong.client.tls c) kong.cluster d) kong.ctx e) kong.ip f) kong.log g) kong.nginx h) kong.node i) kong.request j) kong.response k) kong.router l) kong.service m) kong.service.request n) kong.service.response o) kong.table p) kong.vault
第9个主题:Kong插件开发指南(剖析如何开发Kong插件指南)(90分钟) 1、 Kong插件开发指南 2、 插件开发介绍 3、 插件开发文件结构 4、 实现自定义逻辑 5、 插件配置 6、 访问数据存储 7、 存储自定义实体 8、 缓存自定义实体 9、 扩展管理API 10、 写作测试 11、 安装插件 12、 其他语言的插件 13、 实践:Kong网关插件开发案例
第10个主题: Kong问题解决(剖析Kong如何解决问题)(60分钟) 1、 Kong加载组件 2、 Kong服务注册与服务发现 3、 Kong的透传 4、 Kong的断路器 5、 Kong的降级 6、 Kong的熔断 7、 Kong转发数据保存在平台中 8、 Kong配置平台宕机旧有接口启用继续使用 9、 实践:Kong的问题解决 | |