有关如何为 Rancher 2.x 的开发做出贡献的更多详细信息,请参阅。这个 Wiki 具有许多主题的资源,包括:

  • 如何设置 Rancher 开发环境并运行测试
  • Issue 在整个开发生命周期中的流程
  • 编码指南和开发最佳实践
  • 调试和故障排查
  • 开发 Rancher API

在 Slack 上,Rancher 开发人员的频道是 #developer。在我们的官方微信交流群中,每个群也都有 Rancher 的开发者。

所有代码库都位于我们官方的 GitHub 账号下。有许多用于 Rancher 的代码库,我们将对 Rancher 中使用的一些主要代码库进行描述。

要查看 Rancher 中使用的所有库/项目,请在 rancher/rancher 库查看 。

Rancher diagram

用于配置/管理Kubernetes集群的Rancher组件。

每个源代码仓库都有一个 Makefile,并且可以使用 make 命令来构建。make 的 targets 就是/scripts 目录中的脚本,每个 target 都将使用 在隔离的环境中执行构建。这个过程是通过Dockerfile.dapper完成的,其中包括所有所需要的构建工具。

默认 target 是 ci ,这个 target 将运行 ./scripts/validate 、 、 ./scripts/package./scripts/package。构建的出的二进制文件将位于 ./build/bin 中,并且通常也会生成相应的 Docker 镜像。

如果没有找到与您问题相关的 issue,请通过创建 Issue与我们联系。尽管我们有许多与 Rancher 相关的代码库,但我们希望将问题记录在 rancher/rancher 的代码库中,这样我们就不会错过它们!如果您想提出问题或向其他用户询问使用案例,我们建议在或Rancher 中文论坛上发布问题,或者在 Rancher 微信交流群中和大家一起讨论。

提出问题时,请遵循此清单,这将有助于我们调查问题并加快解决问题。更多信息意味着我们可以使用更多数据来确定导致问题的原因或相关原因。

  • 资源: 尽可能提供有关已使用资源的详细信息。问题的根源可能是很多,包括尽可能多的细节有助于确定根本原因。请参阅以下示例:

    • 操作系统: 您使用什么操作系统?提供详细信息是非常有帮助,例如:确切的操作系统版本( cat /etc/os-release )和内核版本( uname -r )。
    • Docker: 您正在使用的 Docker 版本与安装方式;可以通过执行 docker versiondocker info 输出更多的 Docker 配置信息。
    • 环境: 您是否在代理环境中,是否正在使用可信的 CA,还是在用自签名证书,是否正在使用外部负载均衡器。
    • Rancher: 您正在使用的 Rancher 版本与 Rancher 部署方式,单容器运行还是 HA 运行;Rancher 版本可以在 Rancher UI 的左下方找到,也可以从主机上运行的 Image 的 Tag 中找到。
    • K8S 集群: 您创建了哪种 k8s 集群,如何创建的,在创建集群时自定义了什么参数。
  • 重现此问题的步骤: 请尽量详细的提供您是如何遇到所报告的情况的信息,这有助于重现您遇到的情况。

    • 提供手动步骤或自动化脚本,用于从新创建的设置获取您所报告的情况。
  • 日志: 提供使用资源中的数据/日志。

    • Rancher Server 日志

      • 通过 Docker 安装的 Rancher Server

      • 在 RKE 集群的每个节点通过 docker安装的组件。

      • 使用 RKE Add-On 安装在 Kubernetes 中的 Rancher Server

        注意: 确保已配置正确的 kubeconfig(例如,如果 Rancher Server 安装在 Kubernetes 集群上,则 export KUBECONFIG=$PWD/kube_config_rancher-cluster.yml )或通过 UI 使用嵌入式 kubectl。

    • 系统日志(这些可能并不全部存在,具体取决于操作系统)

      • /var/log/messages
      • /var/log/syslog
      • /var/log/kern.log
    • Docker 守护程序日志记录(这些可能并不全部存在,具体取决于操作系统)

      • /var/log/docker.log
  • 指标: 如果遇到性能问题,请提供尽可能多的指标数据(文件或屏幕截图),以帮助确定正在发生的事情。如果您有与机器有关的问题,则可以提供输出 topfree -mdf 的输出,这些输出显示了进程/内存/磁盘使用情况。

如果您对我们的文档有任何更新,请向我们的文档仓库提 PR。

  • :此仓库是 Rancher 2.x 所有文档的存放位置。它们位于仓库中的 文件夹中。