- 厨师教程
- 厨师 - 主页
- 厨师 - 概述
- 厨师 - 建筑
- Chef - 版本控制系统设置
- 厨师 - 工作站设置
- Chef - 客户端设置
- 厨师 - 测试厨房设置
- 厨师 - 刀具设置
- 厨师 - 独奏设置
- 厨师 - 食谱
- Chef - 食谱依赖项
- 厨师 - 角色
- 厨师 - 环境
- Chef - Chef-Client 作为守护进程
- 厨师 - Chef-Shell
- 厨师 - 测试食谱
- 厨师 - 美食评论家
- 厨师 - ChefSpec
- 使用测试厨房测试食谱
- 厨师 - 节点
- 厨师 - 厨师-客户运行
- 高级厨师
- 动态配置菜谱
- 厨师 - 模板
- Chef - 带有 Chef DSL 的纯 Ruby
- 厨师 - 红宝石宝石与食谱
- 厨师 - 图书馆
- 厨师 - 定义
- Chef - 环境变量
- 厨师 - 数据袋
- Chef - 数据包脚本
- Chef - 跨平台食谱
- 厨师 - 资源
- 轻量级资源提供者
- 厨师 - 蓝图
- Chef - 文件和包
- 厨师 - 社区食谱
- 厨师有用的资源
- 厨师 - 快速指南
- 厨师 - 有用的资源
- 厨师 - 讨论
厨师 - 蓝图
在 Chef 中,蓝图是查找并准确记录服务器上存在内容的工具。蓝图记录了所需的所有内容,例如控制器、包、配置文件等。蓝图能够以各种格式分割服务器信息。其中之一是厨师食谱。这有助于使用 Chef 配置唯一的服务器。
佩戴方法
我们需要在需要运行蓝图的节点上安装 Python 和 Git。
步骤 1 - 安装蓝图。
vipin@server:~$ pip install blueprint
步骤 2 - 创建蓝图。
user@server:~$ sudo blueprint create internal-cookbook # [blueprint] using cached blueprintignore(5) rules # [blueprint] searching for Python packages # [blueprint] searching for PEAR/PECL packages # [blueprint] searching for Yum packages # [blueprint] searching for Ruby gems # [blueprint] searching for npm packages # [blueprint] searching for software built from source # [blueprint] searching for configuration files # [blueprint] /etc/ssl/certs/AC_Ra\xc3\xadz_Certic\xc3\ xa1mara_S.A..pem not UTF-8 - skipping it # [blueprint] /etc/ssl/certs/NetLock_Arany_=Class_Gold=_F\xc5\ x91tan\xc3\xbas\xc3\xadtv\xc3\xa1ny.pem not UTF-8 - skipping it # [blueprint] /etc/ssl/certs/EBG_Elektronik_Sertifika_Hizmet_Sa\ xc4\x9flay\xc4\xb1c\xc4\xb1s\xc4\xb1.pem not UTF-8 - skipping it # [blueprint] /etc/ssl/certs/Certinomis_-_Autorit\xc3\xa9_Racine. pem not UTF-8 - skipping it # [blueprint] /etc/ssl/certs/T\xc3\x9cB\xc4\xb0TAK_UEKAE_K\xc3\ xb6k_Sertifika_Hizmet_Sa\xc4\x9flay\xc4\xb1c\xc4\xb1s\xc4\xb1_-_S\ xc3\xbcr\xc3\xbcm_3.pem not UTF-8 - skipping it # [blueprint] searching for APT packages # [blueprint] searching for service dependencies
步骤 3 - 根据蓝图创建一本食谱。
user@server:~$ blueprint show -C internal-cookbook my-server/recipes/default.rb
步骤 4 - 验证生成的文件的内容。
user@server:~$ cat internal-cookbook /recipes/default.rb # # Automatically generated by blueprint(7). Edit at your own risk. # cookbook_file('/tmp/96468fd1cc36927a027045b223c61065de6bc575.tar') do backup false group 'root' mode '0644' owner 'root' source 'tmp/96468fd1cc36927a027045b223c61065de6bc575.tar' end execute('/tmp/96468fd1cc36927a027045b223c61065de6bc575.tar') do command 'tar xf "/tmp/96468fd1cc36927a027045b223c61065de6bc575.tar"' cwd '/usr/local' end directory('/etc/apt/apt.conf.d') do ...TRUNCATED OUTPUT... service('ssh') do action [:enable, :start] subscribes :restart, resources('cookbook_file[/etc/default/ keyboard]', 'cookbook_file[/etc/default/console-setup]', 'cookbook_file[/etc/default/ntfs-3g]', 'package[openssh-server]', 'execute[96468fd1cc36927a027045b223c61065de6bc575.tar]') end
工作流程脚本
Blueprint 是一个 Python 包,它查找服务器的所有相关配置数据并将其存储在 Git 存储库中。每个蓝图都有自己的名称。
人们可以要求蓝图以各种共振峰显示其 Git 存储库的内容。
user@server:~$ ls -l internal-cookbook / total 8 drwxrwxr-x 3 vagrant vagrant 4096 Jun 28 06:01 files -rw-rw-r-- 1 vagrant vagrant 0 Jun 28 06:01 metadata.rb drwxrwxr-x 2 vagrant vagrant 4096 Jun 28 06:01 recipes
蓝图显示命令
user@server:~$ blueprint show-packages my-server ...TRUNCATED OUTPUT... apt wireless-regdb 2011.04.28-1ubuntu3 apt zlib1g-dev 1:1.2.3.4.dfsg-3ubuntu4 python2.7 distribute 0.6.45 python2.7 pip 1.3.1 pip blueprint 3.4.2 pip virtualenv 1.9.1
上面的命令显示了各种已安装的软件包。其他显示命令如下 -
- 显示文件
- 演出服务
- 显示来源