我正在学习厨师,但在组织一切以与我的团队合作时遇到了问题。
首先,您似乎应该创建一个chef-repo 文件夹,您将在其中存储和修改用于管理节点的食谱。
我从事各种项目,每个项目都已经在 git 源代码控制之下。理想情况下,我会在我的每个项目中保留一个带有该项目食谱的chef-repo文件夹,对吗?
但是,在chef-repo 文件夹中,我必须添加一个包含我的刀配置和密钥验证的配置文件夹(.chef),这些是我特有的。将 .chef 文件夹添加到 gitignore 文件是否正常?
我知道食谱会上传到厨师服务器然后进行部署。其他团队如何在不重复大量工作的情况下将登台与生产环境分开?我们有一个 master 分支是我们的生产分支,一个 dev 分支是我们的临时分支(接收不到网站请求的 5%)和功能分支。大多数情况下,稳定时的 dev 分支会合并到 master 分支。我们如何分别上传食谱以便能够以单独的方式拥有两个环境?
谢谢您的帮助!
我在 2 个服务器之间设置了 MySQL 复制,master ( A ) 和 slave ( B )。我需要在混合中添加一个新的奴隶 ( C )。我希望这个从站直接从主站获取更新,我不想从从站进行链式复制。但是,master 是“热”的,我通常使用 Xtrabackup 来创建 master 的完整备份,但这会锁定它 10 分钟,因为数据库大小约为 20GB。
WITH READ LOCK FLUSH TABLES上从乙上使用SHOW SLAVE STATUS乙,写下二进制日志和位置。然后用 Xtrabackup 备份数据库,将备份传送到C并使用它来创建从属,并将复制设置为指向A并使用我刚刚写下的 binlog 位置。
有没有更好的方法不需要我锁定B这么长时间?或者更容易自动化的东西?
使用 ssh 连接到 Debian 服务器时,如果我使用 user@XXX.XXX.XXX.XXX(服务器的 IP 地址),则连接是即时的。
但是,如果我使用 user@hostname.com(重定向到服务器 IP 地址的 DNS),则 ssh 连接会在成功连接之前挂起 20 秒。ssh 日志显示以下内容:
[alex@alex home]$ ssh -v -v git@hotname.com
OpenSSH_5.5p1, OpenSSL 1.0.0c-fips 2 Dec 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
Run Code Online (Sandbox Code Playgroud)
在这里它在继续之前挂起 20 秒。
我认为这可能与反向 DNS 或类似内容有关(服务器并不真正“知道”它的名称是 hostname.com,它只是将该 DNS 重定向到其 IP 地址)。
我在 /etc/ssh/sshd_config 中添加了以下选项:
UseDNS no
GSSAPIAuthentication no
Run Code Online (Sandbox Code Playgroud)
没有效果。
/etc/resolv.conf 中服务器的 DNS 记录配置正确:
ping hostname.com
PING sub.domain.com (X.X.X.X) 56(84) bytes of data.
64 bytes from replicant …
Run Code Online (Sandbox Code Playgroud)