Um servidor Chef precisa ser público?

1

Eu tenho um servidor Chef rodando em nossa rede local e testei com outras máquinas na mesma rede e tudo funcionou bem. Eu iniciei uma instância ec2, e tentei fazer o bootstrap e funciona até que ele tente se conectar ao servidor Chef. Minha pergunta é, existe alguma maneira de ter o servidor Chef público? Ou existe uma maneira que eu possa ignorar o que o nó requer do servidor?

    
por cberks 10.06.2016 / 19:37

2 respostas

1

Quando você aplica o modelo mais comum para usar Chef Client juntamente com Chef Server , o cliente precisa acessar o servidor. Você pode aplicar qualquer técnica de rede da VPN aos IPs de cliente da lista de permissões, mas o cliente (normalmente) faz o check-in regularmente.

Outra maneira seria usar Chef Zero (nos bons e velhos tempos as pessoas usavam Chef Solo para isso e você pode encontrar algumas postagens sobre isso). Dessa forma, você pode executar seus livros de receitas a partir do disco local (o da instância do EC2) ou IIRC diretamente de um URL HTTP, ou seja, S3.

O Chef não segue o modelo push , que permite configurar a instância de destino apenas por meio de uma conexão SSH. Se você realmente precisa disso, então Ansible pode ser o melhor ajuste para você.

No entanto, eu recomendo que você deixe seu Chef Server também funcionar na AWS - ou use diretamente o Chef oferecendo AWS OpsWorks .

    
por 10.06.2016 / 20:06
1

Atualmente, tenho a mesma configuração que você:

  • Chef Server (interno)
  • Instância do AWS EC2 (externa)

Quando eu inicializo do Chef Server para o AWS EC2, ele irá falhar.

Solução que funcionou para mim:

  • Associe seu Chef Server a um endereço IP público. Eu realizei isso através do NAT reverso.
  • Depois de o seu Chef Server ser exposto ao público, verifique se o firewall interno permite conexões TCP / IP a partir da instância do AWS EC2.
  • Na instância do AWS EC2, modifique o arquivo de hosts para incluir o seguinte

    # Chef Server Public IP Address   |   Chef Server Hostname
    111.111.111.111 production-chef-server.mydomain.com
    
  • Executar knife bootstrap aws-ec2-public-ip -x root
por 10.06.2016 / 21:05