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

服务器列表

cat <<EOF >>/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 <<EOH

# 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 (九)- 重温安装_Linux

速度感人,15k,4小时

自动化运维工具安装部署 chef (九)- 重温安装_系统_02

跑到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

自动化运维工具安装部署 chef (九)- 重温安装_运维_03

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

自动化运维工具安装部署 chef (九)- 重温安装_Linux_04

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

自动化运维工具安装部署 chef (九)- 重温安装_Linux_05

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

自动化运维工具安装部署 chef (九)- 重温安装_运维_06

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

自动化运维工具安装部署 chef (九)- 重温安装_系统_07

chef-server-ctl reconfigure

自动化运维工具安装部署 chef (九)- 重温安装_运维_08

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

chef-server-ctl status

自动化运维工具安装部署 chef (九)- 重温安装_系统_09

创建管理员私钥

chef-server-ctl user-create admin Hao Yu pcdogyu@hotmail.com 'abcd1234' -f /etc/chef/admin.pem

自动化运维工具安装部署 chef (九)- 重温安装_Linux_10

安装管理组件

chef-server-ctl install chef-manage

自动化运维工具安装部署 chef (九)- 重温安装_Linux_11

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

chef-server-ctl reconfigure

chef-server-ctl reconfigure --accept-license

自动化运维工具安装部署 chef (九)- 重温安装_运维_12

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

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

自动化运维工具安装部署 chef (九)- 重温安装_系统_13

chef-manage-ctl reconfigure

自动化运维工具安装部署 chef (九)- 重温安装_Linux_14

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

自动化运维工具安装部署 chef (九)- 重温安装_系统_15

工作站安装workstation

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

自动化运维工具安装部署 chef (九)- 重温安装_运维_16

看样子是少一个组件

yum search libxss

yum install libXScrnSaver

自动化运维工具安装部署 chef (九)- 重温安装_Linux_17

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

自动化运维工具安装部署 chef (九)- 重温安装_Linux_18

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

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

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

source ~/.bash_profile

验证ruby 位置路径和版本

which ruby

ruby -v

自动化运维工具安装部署 chef (九)- 重温安装_运维_19

从webui下载start kit

自动化运维工具安装部署 chef (九)- 重温安装_系统_20

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

unzip chef-starter.zip

自动化运维工具安装部署 chef (九)- 重温安装_系统_21

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

git config --global user.name "admin"

git config --global user.email "pcdogyu@hotmail.com"

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 (九)- 重温安装_系统_22

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

自动化运维工具安装部署 chef (九)- 重温安装_系统_23

knife ssl check

自动化运维工具安装部署 chef (九)- 重温安装_系统_24

生成ssl证书

knife ssl fetch

列客户端

knife client list

自动化运维工具安装部署 chef (九)- 重温安装_系统_25

node 安装dk

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

自动化运维工具安装部署 chef (九)- 重温安装_运维_26

看下版本chef-client -v

自动化运维工具安装部署 chef (九)- 重温安装_运维_27

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

mkdir -pv /etc/chef

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

自动化运维工具安装部署 chef (九)- 重温安装_系统_28

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

knife ssl fetch

knife ssl check

自动化运维工具安装部署 chef (九)- 重温安装_系统_29

knife bootstrap 192.168.10.142 -N chefnode

自动化运维工具安装部署 chef (九)- 重温安装_系统_30

knife node list

自动化运维工具安装部署 chef (九)- 重温安装_系统_31

节点已经在库存中了

自动化运维工具安装部署 chef (九)- 重温安装_系统_32

workstation也加一下

knife bootstrap 192.168.10.141 -N chefworkstation

自动化运维工具安装部署 chef (九)- 重温安装_系统_33

自动化运维工具安装部署 chef (九)- 重温安装_系统_34

webui 两台都已经出现了

自动化运维工具安装部署 chef (九)- 重温安装_Linux_35

安装完成