KubeSphere 安装和配置流程图-实战安装 bookinfo步骤—(实际操作手册链接)
PS: 因为原文档保姆级别, 按照下面的流程图看一遍, 然后跟着原文档一步一步走。
+----------------------+
| 准备 Linux 机器 |
+----------------------+
|
|
v
+--------------------------+ +---------------------+ +-----------------------+
| 下载并准备 KubeKey | | 安装 Kubernetes 和 | | 验证安装结果 |
| +---------------------+ | | KubeSphere | | +-------------------+ |
| | 1. 下载 KubeKey | | | +-----------------+ | | | 1. 检查安装结果 | |
| | 2. 添加权限 | | | | 1. 执行安装命令 | | | | 2. 检查日志 | |
| +---------------------+ | | | 2. 输入确认 | | | +-------------------+ |
+--------------------------+ | +-----------------+ | +-----------------------+
+---------------------+
|
|
v
+------------------------+
| 部署 KubeSphere |
| +--------------------+ |
| | 1. 下载并应用安装文件 | |
| | 2. 应用集群配置文件 | |
| +--------------------+ |
+------------------------+
|
|
v
+-----------------------+
| 创建企业空间、项目、 |
| 用户和平台角色 |
| +-------------------+ |
| | 1. 创建用户 | |
| | 2. 创建企业空间 | |
| | 3. 创建项目 | |
| | 4. 创建角色 | |
| | 5. 创建 DevOps 项目 | |
| +-------------------+ |
+-----------------------+
|
|
v
+-------------------------+
| 部署 Istio 和 Bookinfo |
| +--------------------+ |
| | 1. 启用服务网格 | |
| | 2. 部署 Bookinfo | |
| | 3. 访问 Bookinfo | |
| +--------------------+ |
+-------------------------+
- 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
流程图详细解释
-
准备 Linux 机器:
- 确保满足硬件和操作系统要求,安装必要的命令和配置网络。
-
下载并准备 KubeKey:
- 下载 KubeKey 并为其添加可执行权限。
-
安装 Kubernetes 和 KubeSphere:
- 使用 KubeKey 安装 Kubernetes 和 KubeSphere,输入确认信息来完成安装。
-
验证安装结果:
- 检查安装结果和日志,确保系统正常运行。
-
部署 KubeSphere:
- 下载并应用安装文件,配置集群。
-
创建企业空间、项目、用户和平台角色:
- 创建用户、企业空间、项目、角色,以及可选的 DevOps 项目。
-
部署 Istio 和 Bookinfo 应用:
- 启用 Istio 服务网格,部署 Bookinfo 应用,并访问应用。
每个步骤都包含了关键任务和说明,帮助您逐步完成 KubeSphere 的安装和配置。
蓝绿部署 (Blue-Green Deployment)
蓝绿部署 是一种版本发布策略,它涉及两个独立的环境(蓝色和绿色):
- 蓝色环境:当前正在运行的生产环境。
- 绿色环境:新版本的应用程序被部署到这个环境中。
工作流程:
- 新版本的应用程序在绿色环境中进行部署和测试。
- 一旦确认绿色环境中的应用程序运行正常,流量从蓝色环境切换到绿色环境。
- 旧版本(蓝色环境)保留一段时间以防止回滚。
优点:
- 提供了一个简单的方法来回滚到旧版本。
- 减少了停机时间。
缺点:
- 需要两倍的资源来维持两个独立的环境。
金丝雀发布 (Canary Release)
金丝雀发布 是一种渐进的发布策略,通过逐步将新版本的流量分配给少量用户来测试其稳定性:
- 金丝雀版本:新版本的应用程序最初只向一小部分用户提供。
- 逐步增加流量:根据新版本的表现,逐步增加分配给金丝雀版本的流量,直到所有流量都指向新版本。
工作流程:
- 部署新版本,并将少量流量导向该版本(如5%)。
- 监控新版本的表现,并逐步增加流量分配。
- 如果新版本稳定,最终将100%的流量分配给新版本;否则,回滚到旧版本。
优点:
- 允许在实际生产环境中对新版本进行测试。
- 降低了因新版本问题引起的大规模故障的风险。
缺点:
- 需要有效的监控和自动化工具。
- 相对较为复杂的流量管理。
流量镜像 (Traffic Mirroring)
流量镜像 是一种复制流量的方法,用于在不影响实际用户的情况下测试新版本:
- 镜像流量:将生产环境中的真实流量复制到新版本,同时不影响用户体验。
- 并行测试:新版本接收镜像流量并进行测试,但不返回结果给用户。
工作流程:
- 部署新版本的应用程序。
- 将生产环境的部分或全部流量镜像到新版本。
- 监控新版本的表现并进行必要的调整。
优点:
- 真实流量环境下测试新版本,不影响用户体验。
- 提供了一个安全的测试环境。
缺点:
- 需要额外的资源来处理镜像流量。
- 不能测试返回给用户的响应行为。
总结
- 蓝绿部署:涉及两个独立环境,流量一次性切换,适合需要快速回滚的场景。
- 金丝雀发布:逐步增加流量,适合需要逐步测试和验证新版本的场景。
- 流量镜像:真实流量环境下并行测试,适合需要在生产环境下验证新版本行为的场景。
每种策略都有其适用的场景和优缺点,根据具体的需求和资源情况,可以选择最合适的发布策略。
创建并部署 WordPress
—操作跟着官网文档,一步一步走。 很详细了, 我不搬运了。链接就**(官网文档)**
流程图:在 KubeSphere 中创建和部署 WordPress
+---------------------------+
| 准备工作 |
| - 准备 project-regular |
| - 赋予 operator 角色 |
+---------------------------+
|
|
v
+--------------------------+---------------------------+
| | |
v v v
+-------------------------+ +-------------------------+ +-------------------------+
| 步骤 1:创建密钥 | | 步骤 2:创建持久卷声明 | | 步骤 3:创建应用程序 |
| +-------------------+ | | +-------------------+ | | +-------------------+ |
| | 创建 MySQL 密钥 | | | | 创建持久卷声明 | | | | 添加 MySQL 后端 | |
| | 创建 WordPress 密钥 | | | | 配置存储类 | | | | 添加 WordPress 前端 | |
| +-------------------+ | | +-------------------+ | | +-------------------+ |
+-------------------------+ +-------------------------+ +-------------------------+
|
|
v
+---------------------------+
| 步骤 4:验证资源 |
| - 检查部署状态 |
| - 确保服务运行中 |
+---------------------------+
|
|
v
+---------------------------+
| 步骤 5:通过 NodePort 访问 WordPress |
| - 配置外部访问方式 |
| - 获取访问地址 |
+---------------------------+
- 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
流程图详细解释
-
准备工作:
- 确保您拥有
project-regular
账户,并在项目中赋予其operator
角色。
- 确保您拥有
-
步骤 1:创建密钥:
-
创建 MySQL 密钥:
- 登录 KubeSphere 控制台,访问
demo-project
。 - 在配置中创建密钥,命名为
mysql-secret
,设置键值对MYSQL_ROOT_PASSWORD
和123456
。
- 登录 KubeSphere 控制台,访问
-
创建 WordPress 密钥:
- 同样方式创建密钥,命名为
wordpress-secret
,设置键值对WORDPRESS_DB_PASSWORD
和123456
。
- 同样方式创建密钥,命名为
-
创建 MySQL 密钥:
-
步骤 2:创建持久卷声明:
- 创建名为
wordpress-pvc
的持久卷声明,选择存储类、设置访问模式和卷容量。
- 创建名为
-
步骤 3:创建应用程序:
-
添加 MySQL 后端组件:
- 创建一个有状态服务,使用
mysql:5.6
镜像,配置环境变量和持久卷声明。
- 创建一个有状态服务,使用
-
添加 WordPress 前端组件:
- 创建一个无状态服务,使用
wordpress:4.8-apache
镜像,配置环境变量和持久卷声明。
- 创建一个无状态服务,使用
-
添加 MySQL 后端组件:
-
步骤 4:验证资源:
- 检查
wordpress-v1
和mysql-v1
部署和有状态副本集的运行状态。
- 检查
-
步骤 5:通过 NodePort 访问 WordPress:
- 配置外部访问方式为 NodePort,并获取访问地址
{Node IP}:{NodePort}
以访问 WordPress 页面。
- 配置外部访问方式为 NodePort,并获取访问地址
备注
- 确保在配置 NodePort 时,安全组中的相关端口已开放,以便外部用户可以访问您的 WordPress 应用程序。
启用 KubeSphere 可插拔组件的流程图:
—操作跟着原文档一起走:官网
以下是启用 KubeSphere 可插拔组件的流程图和关键步骤:
+--------------------------------+
| 硬件要求检查 |
| - CPU ≥ 8 Core |
| - 内存 ≥ 16 GB |
| - 磁盘空间 ≥ 100 GB |
+--------------------------------+
|
v
+-----------------------------+-----------------------------+
| | |
v v v
+----------------------------+ +----------------------------+ +-----------------------------+
| 安装前启用可插拔组件 | | 在 Kubernetes 上安装 | | 安装后启用可插拔组件 |
| (Linux 上) | | KubeSphere | | (Web 控制台) |
+----------------------------+ +----------------------------+ +-----------------------------+
| | |
v v v
+------------------------+ +-------------------------+ +-------------------------+
| 创建并修改 | | 编辑 | | 登录 Web 控制台 |
| - 设置组件启用状态 | | - 设置组件启用状态 | | - 选择集群管理 |
| - 使用 `./kk` 创建集群 | | - 应用安装 YAML 文件 | | - 编辑 CRD 配置 |
+------------------------+ +-------------------------+ +-------------------------+
| | |
v v v
+------------------------+ +-------------------------+ +-------------------------+
| 检查组件状态 | | 检查组件状态 | | 检查组件状态 |
| - 登录控制台 | | - 使用 `kubectl` | | - 使用 Web kubectl |
| - 查看系统组件状态 | | - 查看 Pod 状态 | | - 查看安装日志 |
+------------------------+ +-------------------------+ +-------------------------+
- 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
关键组件说明
-
告警系统 (alerting):
- 功能:允许自定义工作负载和节点的告警策略,并通过邮件、Slack 等渠道发送告警消息。
- 适用场景:监控系统健康状况,及时响应异常事件。
-
审计日志系统 (auditing):
- 功能:记录平台上不同租户的活动,并按时间顺序排列,提供安全审计功能。
- 适用场景:跟踪和审计用户活动,增强平台安全性。
-
DevOps 系统 (devops):
- 功能:基于 Jenkins 提供 CI/CD 功能,集成 Jenkins 流水线,支持 B2I 和 S2I。
- 适用场景:自动化软件构建、测试和部署流程。
-
日志系统 (logging):
- 功能:提供日志查询、收集和管理功能,支持第三方日志收集器如 Elasticsearch、Kafka 和 Fluentd。
- 适用场景:集中管理和分析系统日志,帮助故障排除和性能监控。
-
服务网格 (servicemesh):
- 功能:基于 Istio 提供流量治理、可观测性、流量追踪和可视化流量拓扑图。
- 适用场景:微服务架构中的流量管理和监控,提升服务间的可靠性和安全性。
-
网络策略 (networkpolicy):
- 功能:设置网络策略以控制集群内 Pod 之间的网络流量。
- 适用场景:限制或允许 Pod 之间的网络通信,提高安全性。
-
KubeEdge (kubeedge):
- 功能:为集群添加边缘节点,并在这些节点上运行工作负载。
- 适用场景:边缘计算场景中,将计算能力扩展到边缘节点。
-
应用商店 (openpitrix):
- 功能:基于 Helm 的应用程序商店,管理应用的整个生命周期。
- 适用场景:简化应用的安装和管理过程,提供标准化的应用配置。
-
容器组 IP 池 (ippool):
- 功能:创建 IP 池并将 IP 地址分配给 Pod。
- 适用场景:在集群中管理 IP 地址的分配,支持复杂的网络拓扑。
-
服务拓扑图 (topology):
- 功能:集成 Weave Scope 查看应用和容器的服务间通信。
- 适用场景:可视化应用架构和服务之间的交互,帮助理解和优化系统拓扑。