- SaltStack 教程
- SaltStack - 首页
- SaltStack - 概览
- SaltStack - 架构
- SaltStack - 竞争对手
- SaltStack - 安装
- 创建简单的环境
- SaltStack - 访问控制系统
- SaltStack - 作业管理
- SaltStack - Salt 文件服务器
- SaltStack - 使用Git作为文件服务器
- 使用MinionFS作为文件服务器
- SaltStack - 使用Cron与Salt
- SaltStack - 远程执行
- 配置管理
- SaltStack - 日志记录
- SaltStack - 通过SSH使用Salt
- Salt用于云基础设施
- SaltStack - Salt代理Minion
- SaltStack - 事件系统
- SaltStack - 编排
- SaltStack - Salt包管理器
- SaltStack - Python API
- SaltStack - 工作示例
- SaltStack 有用资源
- SaltStack - 快速指南
- SaltStack - 有用资源
- SaltStack - 讨论
SaltStack - 使用Git作为文件服务器
Git是一个开源的分布式版本控制系统。它可以用来跟踪任何文件的更改。Salt使用Git文件服务器从Git仓库发送文件。您可以将Git配置到fileserver_backend列表选项中,如果您需要配置一个或多个仓库,则可以使用gitfs_remotes选项。
本章介绍如何安装和配置Git文件服务器。在开始安装之前,您必须具备以下先决条件。
使用Git的Salt服务器先决条件
Salt服务器使用Git作为文件服务器的最低要求如下:
- pygit2
- Dulwich
Pygit2和Dulwich是使用主配置文件中的gitfs_provider参数配置的。如果主文件中未配置gitfs_provider,则Salt会优先选择pygit2(如果可用合适的版本),然后是GitPython和Dulwich。
安装pygit2
以下命令用于在基于Fedora和Ubuntu的系统上安装pygit2:
基于Fedora的系统
yum install python-pygit2
基于Ubuntu的系统
apt-get install python-pygit2
此处,pygit2的最低支持版本为0.20.3。
安装GitPYTHON
可以使用以下所示的yum/apt命令轻松地在master上安装GitPython。
基于Fedora的系统
yum install GitPython
基于Ubuntu的系统
apt-get install python-git
安装DULWICH
可以使用yum命令轻松地在master上安装Dulwich。
基于Fedora的系统
yum install python-dulwich
基于Ubuntu的系统
apt-get install python-dulwich
现在,我们已经安装了Git文件服务器的所有依赖项。现在让我们使用主配置文件中的fileserver_backend部分配置此Git文件服务器。
后端配置
为了使用Git文件服务器,您需要在主配置文件中的fileserver_backend列表中添加Git。描述如下:
fileserver_backend: - git
让我们进一步了解如何在远程配置中配置Git文件服务器。
gitfs_remotes配置
您可以为master文件中的gitfs_remotes配置指定任何一个或所有URL,例如git://、https://、file://或ssh://。这用于搜索请求的文件。
简单的https URL规范定义如下。
gitfs_remotes: - https://github.com
ssh配置可以如下所示。
gitfs_remotes: - git@github.com:user1/sample.git - ssh://user@domain.tld/path/to/sample.git
现在,我们已经使用两个选项fileserver_backend和gitfs_remotes配置了Git文件服务器。
重启Master
在对主文件进行所有更改后,现在重新启动master以加载Git文件服务器中的所有配置。
多个远程配置
以下命令用于在master文件中的gitfs_remotes中进行多个配置。
gitfs_remotes: - git://github.com/sample/sample1.git - https://github.com/sample/sample2.git - file:///root/user/sample
此处,仓库sample1.git、sample2.git和sample.doc可能包含以下文件。
sample1.git: top.sls sample2.git edit/vimrc sample.doc edit/vimrc