Pesquisa de site

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:

Artigos relacionados: