Atualize o Chef Server para a versão mais recente no CentOS 7/Ubuntu 18.04
Chef é a ferramenta líder de infraestrutura contínua de código aberto e automação de aplicativos que leva você desde o desenvolvimento até a produção. Nosso guia anterior abordou a instalação do Chef Server no Ubuntu 18.04 LTS.
Como instalar o Chef Automation Server no Ubuntu 18.04 LTS
Este guia se concentrará na atualização da configuração autônoma do Chef Server já instalada. Tentarei fazer um guia de instalação do servidor Chef Automation em uma máquina CentOS 7.
Atualizando o Chef Server
Siga nossas etapas abaixo para atualizar seu servidor Chef para a versão mais recente.
Etapa 1: fazer backup dos dados do servidor Chef
Execute o seguinte comando para garantir que todos os serviços estejam em bom estado e faça backup de todos os dados do Chef.
$ chef-server-ctl reconfigure
Faça backup dos dados:
# chef-server-ctl backup --yes
Locating rsync..
/bin/rsync
Starting Chef Server backup
Bringing down the Chef Server
ok: down: bookshelf: 1s, normally up
ok: down: nginx: 0s, normally up
ok: down: oc_bifrost: 0s, normally up
ok: down: oc_id: 0s, normally up
ok: down: opscode-chef-mover: 302s, normally up
ok: down: opscode-erchef: 0s, normally up
ok: down: opscode-expander: 1s, normally up
ok: down: opscode-solr4: 0s, normally up
ok: down: rabbitmq: 0s, normally up
ok: down: redis_lb: 0s, normally up
Dumping Postgresql database to /tmp/chef_backup20181030-11018-1r60p82/chef_backup-2018-10-30-14-44-09.sql
could not change directory to "/tmp/d20181030-11018-1jnkroq": Permission denied
ok: down: postgresql: 0s, normally up
Writing backup manifest
Creating backup tarball
/opt/opscode/embedded/lib/ruby/gems/2.5.0/gems/mixlib-shellout-2.3.2/lib/mixlib/shellout/unix.rb:185: warning: conflicting chdir during another chdir block
tar: Removing leading `/' from member names
Bringing up the Chef Server
ok: run: bookshelf: (pid 11293) 0s
ok: run: nginx: (pid 11372) 1s
ok: run: oc_bifrost: (pid 11386) 1s
ok: run: oc_id: (pid 11467) 0s
ok: run: opscode-chef-mover: (pid 11482) 0s
ok: run: opscode-erchef: (pid 11559) 0s
ok: run: opscode-expander: (pid 11911) 0s
ok: run: opscode-solr4: (pid 12052) 0s
ok: run: postgresql: (pid 12090) 0s
ok: run: rabbitmq: (pid 11561) 13s
ok: run: redis_lb: (pid 12357) 1s
Exporting tarball to /var/opt/chef-backup
Cleaning up /tmp/chef_backup20181030-11018-1r60p82
Backup Complete!
Confirmar arquivo de backup
# ls /var/opt/chef-backup/
chef-backup-2018-10-30-14-44-09.tgz
Etapa 2: Baixe e atualize o Chef Server
Baixe a versão mais recente do servidor Chef na página de downloads oficiais. O exemplo abaixo baixa a versão mais recente do Chef para CentOS 7.
Ubuntu 18.04:
sudo apt update
sudo apt -y install wget
wget https://packages.chef.io/files/stable/chef-server/13.2.0/ubuntu/18.04/chef-server-core_13.2.0-1_amd64.deb
CentOS 7:
sudo dnf -y wget
wget https://packages.chef.io/files/stable/chef-workstation/20.7.96/el/7/chef-workstation-20.7.96-1.el7.x86_64.rpm
Depois de baixar o pacote, instale-o com o gerenciador de pacotes de distribuição.
sudo yum localinstall <package.rpm>
-- Example ---
sudo yum -y localinstall chef-workstation-20.7.96-1.el7.x86_64.rpm
Para Ubuntu, use:
sudo dpkg -i <package.deb>
--- Example ---
sudo apt install ./chef-server-core_13.2.0-1_amd64.deb
Exemplo de saída:
Running transaction
Updating : chef-server-core-12.18.14-1.el7.x86_64 [###################################################### ] 1/ Updating : chef-server-core-12.18.14-1.el7.x86_64 [####################################################### ] 1/ Updating : chef-server-core-12.18.14-1.el7.x86_64 [######################################################## ] 1/ Upda Updating : chef-server-core-12.18.14-1.el7.x86_64 1/2
You have upgraded Chef Server!
......
For detailed upgrade instructions please see:
https://docs.chef.io/upgrade_server.html
Cleanup : chef-server-core-12.17.33-1.el7.x86_64 2/2
warning: file /opt/opscode/embedded/service/oc_id/log/development.log: remove failed: No such file or directory
Verifying : chef-server-core-12.18.14-1.el7.x86_64 1/2
Verifying : chef-server-core-12.17.33-1.el7.x86_64
Updated:
chef-server-core.x86_64 0:12.18.14-1.el7
Complete! 2/2
A próxima etapa no processo de atualização é executar:
$ sudo chef-server-ctl upgrade
Após a conclusão do comando de atualização, seus serviços do Chef permanecerão inativos. Para trazê-los de volta, execute:
$ sudo sudo chef-server-ctl start
ok: run: bookshelf: (pid 14176) 1s
ok: run: nginx: (pid 14233) 0s
ok: run: oc_bifrost: (pid 14255) 1s
ok: run: oc_id: (pid 14289) 0s
ok: run: opscode-chef-mover: (pid 14332) 0s
ok: run: opscode-erchef: (pid 14335) 1s
ok: run: opscode-expander: (pid 14475) 0s
ok: run: opscode-solr4: (pid 14705) 0s
ok: run: postgresql: (pid 14145) 189s
ok: run: rabbitmq: (pid 14337) 1s
ok: run: redis_lb: (pid 15079) 1s
Por fim, remova os arquivos de configuração, logs, diretórios, usuários, etc. que foram usados pelos serviços internos e foram removidos desta versão do Chef Server:
$ sudo chef-server-ctl cleanup
Você pode adicionar a opção --no-op
para ver o que seria removido por este comando. Verifique também:
Como configurar o Chef Knife, fazer upload de livros de receitas e executar uma receita em Chef Client Nodes
Como instalar o Chef Development Kit/Workstation no Ubuntu 18.04
Como instalar o Chef Development Kit no Arch Linux
Materiais de aprendizagem: