云原生专栏大纲
文章目录
- KubeSphere组件介绍
- KubeSphere组件安装卸载
- 配置内容参考
- 安装组件步骤
- 卸载组件步骤
KubeSphere组件介绍
KubeSphere 的全部可插拔组件如下:
配置项 | 功能组件 | 描述 |
---|---|---|
alerting | KubeSphere 告警系统 | 可以为工作负载和节点自定义告警策略。告警策略被触发后,告警消息会通过不同的渠道(例如,邮件和 Slack)发送至接收人。 |
auditing | KubeSphere 审计日志系统 | 提供一套与安全相关并按时间顺序排列的记录,记录平台上不同租户的活动。 |
devops | KubeSphere DevOps 系统 | 基于 Jenkins 提供开箱即用的 CI/CD 功能,提供一站式 DevOps 方案、内置 Jenkins 流水线与 B2I & S2I。 |
events | KubeSphere 事件系统 | 提供一个图形化的 Web 控制台,用于导出、过滤和警告多租户 Kubernetes 集群中的 Kubernetes 事件。 |
logging | KubeSphere 日志系统 | 在统一的控制台中提供灵活的日志查询、收集和管理功能。可以添加第三方日志收集器,例如 Elasticsearch、Kafka 和 Fluentd。 |
metrics_server | HPA | 根据设定指标对 Pod 数量进行动态伸缩,使运行在上面的服务对指标的变化有一定的自适应能力。 |
networkpolicy | 网络策略 | 可以在同一个集群内部之间设置网络策略(比如限制或阻止某些实例 Pod 之间的网络请求)。 |
kubeedge | KubeEdge | 为集群添加边缘节点并在这些节点上运行工作负载。 |
openpitrix | KubeSphere 应用商店 | 基于 Helm 的应用程序商店,允许用户管理应用的整个生命周期。 |
servicemesh | KubeSphere 服务网格 (基于 Istio) | 提供细粒度的流量治理、可观测性、流量追踪以及可视化流量拓扑图。 |
ippool | 容器组 IP 池 | 创建容器组 IP 池并从 IP 池中分配 IP 地址到 Pod。 |
topology | 服务拓扑图 | 集成 Weave Scope 以查看应用和容器的服务间通信(拓扑图)。 |
KubeSphere组件安装卸载
此处主要介绍在KubeSphere控制台启用插件,安装卸载可参考官网启用可插拔组件 卸载可插拔组件
配置内容参考
配置项 | 功能组件 | ks-installer配置 |
---|---|---|
alerting | KubeSphere 告警系统 | alerting.enabled: true |
auditing | KubeSphere 审计日志系统 | auditing.enabled: true |
devops | KubeSphere DevOps 系统 | devops:.enabled: true |
events | KubeSphere 事件系统 | events.enabled: true |
logging | KubeSphere 日志系统 | logging.enabled: true |
metrics_server | HPA | metrics_server.enabled: true |
networkpolicy | 网络策略 | network.networkpolicy.enabled: true |
topology | 服务拓扑图 | network.topology.type: weave-scope |
openpitrix | KubeSphere 应用商店 | openpitrix.store.enabled: true |
ippool | 容器组 IP 池 | network.ippool.type: calico |
kubeedge | KubeEdge | # edgeruntime 向集群添加边缘节点,并在边缘节点上部署工作负载。 # advertiseAddress至少提供一个公网IP地址或一个边缘节点可以访问的IP地址。请注意,一旦启用了KubeEdge,如果不提供地址,CloudCore将出现故障 |
servicemesh | KubeSphere 服务网格 (基于 Istio) | # ingressGateways将服务暴露至服务网格之外。默认不开启。 # cni启用后,会在 Kubernetes pod 生命周期的网络设置阶段完成 Istio 网格的 pod 流量转发设置工作。 |
日志系统、事件系统、审计日志,建议配置如下内容,并通过externalElasticsearchHost和externalElasticsearchPort指定外部es:
es: # Storage backend for logging, tracing, events and auditing.
elasticsearchMasterReplicas: 1 # The total number of master nodes. Even numbers are not allowed.
elasticsearchDataReplicas: 1 # The total number of data nodes.
elasticsearchMasterVolumeSize: 4Gi # The volume size of Elasticsearch master nodes.
elasticsearchDataVolumeSize: 20Gi # The volume size of Elasticsearch data nodes.
logMaxAge: 7 # Log retention day in built-in Elasticsearch. It is 7 days by default.
elkPrefix: logstash # The string making up index names. The index name will be formatted as ks-<elk_prefix>-log.
externalElasticsearchHost: # The Host of external Elasticsearch.
externalElasticsearchPort: # The port of external Elasticsearch.
安装组件步骤
- 资源定义搜索ClusterConfiguration
- 编辑ks-installer
- 配置修改(参考上述配置内容)
- 检查安装过程
安装完成后,会出现上图分析工具,也可选择kubectl控制工具执行如下命令查看安装进度:
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f
卸载组件步骤
官方卸载可插拔组件教程。小编总结卸载组件通用步骤:
- 将ks-installer配置中相关组件关闭
- 删除组件整个命名空间即可删除
上述通用步骤可能会遇到资源删除不了等情况,参考《3.云原生之kubesphere运维》