周五配置chef workstation遇到了些问题,不得已百度了下,结果发现自己之前写的博客被别人抄的七七八八,结果照着配还不行,索性重新做个试验再写一篇温故一下

服务器列表

cat <>/etc/hosts

192.168.10.140 chefserver.shdr.demo chefserver

192.168.10.141 chefworkstation.shdr.demo chefworkstation

192.168.10.142 chefnode.shdr.demo chefnode

EOF

非vagarant环境请略过

-----------------------------------------------------

创建vagrant 文件

cat > Vagrantfile <

# Put the contents of this snippet in a file named Vagrantfile

Vagrant.configure(2) do |config|

config.vm.provider "virtualbox" do |v|

v.memory = 4096

v.cpus = 2

end

config.vm.box = "bento/ubuntu-16.04"

config.vm.synced_folder ".", "/opt/a2-testing", create: true

config.vm.hostname = 'chef-automate.test'

config.vm.network 'private_network', ip: '192.168.10.140'

config.vm.provision "shell", inline: "apt-get update && apt-get install -y unzip"

config.vm.provision "shell", inline: "sysctl -w vm.max_map_count=262144"

config.vm.provision "shell", inline: "sysctl -w vm.dirty_expire_centisecs=20000"

end

EOH

增加hosts中的dns 记录

echo 192.168.10.140 chefserver.shdr.demo | sudo tee -a /etc/hosts

---------------------------------------------------------

去官网找下载链接

https://downloads.chef.io/

下载chef server

wget https://packages.chef.io/files/stable/chef-server/12.18.14/el/7/chef-server-core-12.18.14-1.el7.x86_64.rpm

我靠还没有wget,我先下个wget

自动化运维工具安装部署 chef (九)- 重温安装_第1张图片

速度感人,15k,4小时

8eb7f9d5a6f245fa82c5a1f348c06c09

跑到workstation和node,下workstation和dk

wget https://packages.chef.io/files/stable/chefdk/3.3.23/el/7/chefdk-3.3.23-1.el7.x86_64.rpm

4dd9f3c08ef14814bd570349ac44b3cf

wget https://packages.chef.io/files/stable/chef-workstation/0.2.27/el/7/chef-workstation-0.2.27-1.el6.x86_64.rpm

ef7e1141bc86451da2d1a7a3445dec8d

是不是本地网络有问题啊,找个美国主机,测试下,42m/s,我靠,我国还是发展中国家,ISP还有很长的路要走,盖屏幕睡觉

c27bc9e70bd04954badae320f056966a

一觉醒来都好了,server端安装下包

6739bb8490ad4587ac8f2d76e7d7108c

rpm -ivh chef-server-core-12.18.14-1.el7.x86_64.rpm

603f667cd7c948b692455aca440bbf75

chef-server-ctl reconfigure

自动化运维工具安装部署 chef (九)- 重温安装_第2张图片

20分钟,终于好了,看了状态

chef-server-ctl status

自动化运维工具安装部署 chef (九)- 重温安装_第3张图片

创建管理员私钥

chef-server-ctl user-create admin Hao Yu [email protected] 'abcd1234' -f /etc/chef/admin.pem

自动化运维工具安装部署 chef (九)- 重温安装_第4张图片

安装管理组件

chef-server-ctl install chef-manage

自动化运维工具安装部署 chef (九)- 重温安装_第5张图片

3分钟搞定,然后重新配置下

chef-server-ctl reconfigure

chef-server-ctl reconfigure --accept-license

自动化运维工具安装部署 chef (九)- 重温安装_第6张图片

创建组织,公司,管理员,生成私钥

chef-server-ctl org-create shanghai 'Disney, Inc.' --association_user admin --filename /etc/chef/validator.pem

168ef0a193b74125a2be53e5a8dc9015

chef-manage-ctl reconfigure

自动化运维工具安装部署 chef (九)- 重温安装_第7张图片

访问下https://192.168.10.140 ,ui正常了

自动化运维工具安装部署 chef (九)- 重温安装_第8张图片

工作站安装workstation

rpm -ivh chef-workstation-0.2.27-1.el6.x86_64.rpm

自动化运维工具安装部署 chef (九)- 重温安装_第9张图片

看样子是少一个组件

yum search libxss

yum install libXScrnSaver

自动化运维工具安装部署 chef (九)- 重温安装_第10张图片

运行chef-workstation-app 验证下,还是有错误,容我修一个错误

18edaa771c874998a77be805a2c859fe

搜索了一下,看起来是ssh的显示问题,先略过

cookbook是ruby,所以要指定下ruby位置

echo 'eval "$(chef shell-init bash)"' >> ~/.bash_profile

source ~/.bash_profile

验证ruby 位置路径和版本

which ruby

ruby -v

360a85fe72ce4b5a93590f65b1e2518f

从webui下载start kit

自动化运维工具安装部署 chef (九)- 重温安装_第11张图片

把chef-starter.zip复制到~,然后解压缩出来

unzip chef-starter.zip

自动化运维工具安装部署 chef (九)- 重温安装_第12张图片

安装下git,把~/chef-repo作为git版本控制的初始目录

git config --global user.name "admin"

git config --global user.email "[email protected]"

cd ~/chef-repo/ && git init

mkdir -p ~/chef-repo/.chef

echo '.chef' >> ~/chef-repo/.gitignore

cd ~/chef-repo/ && git add . && git commit -m "initial commit"

git status

自动化运维工具安装部署 chef (九)- 重温安装_第13张图片

确保.chef目录中客户端私钥和rb存在

afcf3426c09f4fcf9991b1e399ab3aed

knife ssl check

自动化运维工具安装部署 chef (九)- 重温安装_第14张图片

生成ssl证书

knife ssl fetch

列客户端

knife client list

自动化运维工具安装部署 chef (九)- 重温安装_第15张图片

node 安装dk

rpm -ivh chefdk-3.3.23-1.el7.x86_64.rpm

自动化运维工具安装部署 chef (九)- 重温安装_第16张图片

看下版本chef-client -v

e887821b3ed9496c9119f5d8394e3eec

复制客户端私钥从server到node节点

mkdir -pv /etc/chef

scp -p root@chefserver:/etc/chef/admin.pem /etc/chef/

自动化运维工具安装部署 chef (九)- 重温安装_第17张图片

生成服务器证书并且测试连接

knife ssl fetch

knife ssl check

自动化运维工具安装部署 chef (九)- 重温安装_第18张图片

knife bootstrap 192.168.10.142 -N chefnode

自动化运维工具安装部署 chef (九)- 重温安装_第19张图片

knife node list

c8931b6a49544204b3c0221826e0d7c4

节点已经在库存中了

7170992d214e49c38f71629ff46941be

workstation也加一下

knife bootstrap 192.168.10.141 -N chefworkstation

自动化运维工具安装部署 chef (九)- 重温安装_第20张图片

ba89f5b01bf34597b6f0421ecba7acdd

webui 两台都已经出现了

自动化运维工具安装部署 chef (九)- 重温安装_第21张图片

安装完成