启用可插拔功能组件

本教程演示如何在安装前或安装后启用 KubeSphere 的可插拔组件。KubeSphere 具有以下列出的十个可插拔组件。

配置项功能组件描述
alertingKubeSphere 告警通知系统使用户能够自定义警报策略,在不同的时间段和用不同的警报级别及时地向接收者发送消息。
auditingKubeSphere 审计日志系统按时间顺序记录不同租户在平台中的操作活动。
devopsKubeSphere DevOps 系统一站式 DevOps 方案,内置 Jenkins 流水线与 B2I & S2I。
eventsKubeSphere 事件系统提供一个图形化的 Web 控制台,用于导出、过滤和警告多租户 Kubernetes 集群中的 Kubernetes 事件。
loggingKubeSphere 日志系统在统一的控制台中提供灵活的查询、收集和管理日志功能。可以添加其他日志收集器,例如Elasticsearch、Kafka 和 Fluentd。
metrics_serverHPA根据设定指标对 Pod 数量进行动态伸缩,使运行在上面的服务对指标的变化有一定的自适应能力。
networkpolicy网络策略可以在同一个集群内部之间设置网络策略(比如限制或阻止某些实例 Pod 之间的网络请求)。
notificationKubeSphere 通知系统允许用户将 Alertmanager 发送出来的告警通知到不同渠道,包括电子邮件、微信和 Slack。(最新版本的 Notification Manager 支持钉钉和 Webhook。)
openpitrixKubeSphere 应用商店基于 Helm 的应用程序商店,允许用户管理应用的整个生命周期。
servicemeshKubeSphere 服务网格 (基于 Istio)支持灰度发布、流量拓扑、流量治理、流量跟踪。

有关每个组件的更多信息,请参见启用可插拔组件概览

备注

  • 如果您使用 KubeKey 在 Linux 上安装 KubeSphere,默认情况下,除了metrics_server之外,不会启用上述组件。但是,如果在现有的 Kubernetes 集群上安装 KubeSphere,则安装程序中metrics_server仍处于禁用状态。这是因为您的环境可能已经安装了这个组件,特别是对于云托管的 Kubernetes 集群。
  • multicluster不在本教程中介绍。如果要启用此功能,则需要为clusterRole设置相应的值。有关详细信息,请参见多群集管理.
  • 在安装前,请确保您的机器符合硬件要求。如果想启用所有的可拔插组件,建议机器配置如下:CPU ≥ 8 Cores,内存 ≥ 16 G,磁盘空间 ≥ 100 G。

安装前启用可插拔组件

在 Linux 上安装

在 Linux 上安装 KubeSphere 时,需要创建一个配置文件,该文件列出所有 KubeSphere 组件。

  1. 在教程 在 Linux 上安装 KubeSphere,您需要创建一个默认文件名为 config-sample.yaml 的配置文件。通过执行以下命令来修改文件:

    1. vi config-sample.yaml

    备注

    如果采用 All-in-one 模式安装,您无需创建 config-sample.yaml 文件,因为 all-in-one 模式可以一条命令直接创建集群。通常,all-in-one 模式适用于刚接触 KubeSphere 并希望快速熟悉该系统的用户。如果要在此模式下启用可插拔组件(例如,出于测试目的),请参阅安装后启用可插拔组件

  2. 在此文件中,将enabled的值false改为true。这是示例文件供您参考,修改完成后保存文件。

  3. 使用配置文件创建集群:

    1. ./kk create cluster -f config-sample.yaml

在 Kubernetes 上安装

在已有 Kubernetes 集群上安装 KubeSphere 时,需要部署 ks-installer 的两个 yaml 文件,如下面所示。

  1. 首先下载 cluster-configuration.yaml 文件,然后打开并开始编辑。

    1. vi cluster-configuration.yaml
  2. 在这个本地文件 cluster-configuration.yaml 中,将enabled的值false改为true,编辑完成后请保存文件。

  3. 执行以下命令开始安装:

    1. kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.0.0/kubesphere-installer.yaml
    2. kubectl apply -f cluster-configuration.yaml

无论是在 Linux 上还是在 Kubernetes 上安装 KubeSphere,安装后都可以在 KubeSphere 的 Web 控制台中检查已启用组件的状态。转到服务组件,可以看到类似如下图片:

KubeSphere-components

安装后启用可插拔组件

KubeSphere Web 控制台使用户更方便来查看和使用不同的资源。要在安装后启用可插拔组件,只需要在控制台中直接进行一些调整。对于那些习惯使用 Kubernetes 命令行工具 kubectl 的人来说,由于该工具已集成到控制台中,因此使用 KubeSphere 将毫无困难。

  1. admin身份登录控制台。点击左上角的 平台管理 ,然后选择 集群管理

    clusters-management

  2. 点击 自定义资源 CRD,然后在搜索栏中输入clusterconfiguration,单击搜索结果进入其详细页面。

    crds

    信息

    自定义资源定义(CRD)允许用户在不添加其他 API 服务器的情况下创建新类型的资源,用户可以像使用其它 Kubernetes 内置对象一样使用这些自定义资源。

  3. 资源列表 中,点击ks-installer右侧的三个点,然后选择右侧的 编辑配置文件

    edit-ks-installer

  4. 在配置文件中,将enabledfalse更改为true,以启用要安装的可插拔组件。完成后,单击 更新 以保存配置。

    enable-components

  5. 通过执行以下命令,使用 Web kubectl 来检查安装过程:

    1. kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f

    提示

    您可以通过单击控制台右下角的锤子图标来找到 web kubectl 工具。

  6. 如果组件安装成功,输出将显示以下消息。

    1. #####################################################
    2. ### Welcome to KubeSphere! ###
    3. #####################################################
    4. Console: http://192.168.0.2:30880
    5. Account: admin
    6. Password: P@88w0rd
    7. NOTES
    8. 1. After logging into the console, please check the
    9. monitoring status of service components in
    10. the "Cluster Management". If any service is not
    11. ready, please wait patiently until all components
    12. are ready.
    13. 2. Please modify the default password after login.
    14. #####################################################
    15. https://kubesphere.io 20xx-xx-xx xx:xx:xx
    16. #####################################################
  7. 服务组件中可以查看不同组件的状态。

    components

    提示

    如果在上图中看不到相关组件,可能是一些 Pod 尚未准备好,可以通过 kubectl 执行kubectl get pod --all-namespaces来查看 Pod 的状态。