Os nós de fantoches não podem encontrar o endereço mestre, o ec2 público versus os endereços IP internos e os arquivos hosts

1

Se eu configurar meus arquivos hosts de forma que eles façam referência a todos os outros nós ec2 usando os endereços IP internos, isso funcionará ou eu terei que usar os endereços IP externos?

Preciso especificar algo no meu grupo de segurança para que os endereços IP internos funcionem?

por exemplo. / etc / hosts

ip-10-11-12-13.internal  some_node_name

Se eu fizer isso, posso referenciar some_node_name em qualquer lugar dos meus scripts onde eu teria usado o endereço IP anteriormente?

Em meus servidores de marionetes, tenho uma referência ao meu mestre de marionetes como:

public-ip-here puppet

Quando eu reinicio meu agente de marionetes, o syslog mostra que eles não conseguiram encontrar o mestre com a mensagem: getaddinfo: nome ou serviço desconhecido

Consegui que funcionasse atualizando /etc/default/puppet

e adicionei as opções:

--server=public-ip-here

Pelo que eu li, o fantoche, por padrão, tenta usar 'fantoche', e eu configuro isso no meu arquivo de hosts, então por que ele não pegaria isso?

    
por Blankman 30.05.2011 / 03:41

2 respostas

2

Uma dica para usar o boneco no EC2 é atribuir um ElasticIP ao seu puppetmaster e, em seguida, criar uma entrada de DNS para o ElasticIP CNAME e não um registro A para o IP.

Os servidores DNS da AWS usam dns "views" para variar sua resposta com base em se a consulta veio da mesma região EC2 ou exterior. Se a solicitação CNAME vier de dentro de uma região EC2, os servidores DNS da AWS responderão com o IP interno do CNAME. (Leia sobre "Visualizações" do BIND para obter respostas DNS condicionais)

Você deve usar o CNAME no DNS para que, quando os clientes de fantoches do EC2 consultarem os servidores DNS da AWS para o IP do Puppetmaster, eles recebam uma resposta que os direcione para o IP interno do maestro, e não o IP externo.

Resumo: não use / etc / hosts para encontrar o puppetmaster no EC2, esse IP interno pode mudar e não funcionar em várias regiões. Use um registro CNAME que aponte para o CNAME ElasticIP armazenado no DNS.

    
por 21.11.2011 / 18:48
0

esse arquivo hosts está errado .. Se o seu servidor puppet tiver um IP interno de 10.0.1.10. Então cada nó que você deseja conectar a ele é

10.0.1.10 puppet

Em seguida, esse nó se conectará bem sem nenhuma linha --server. Se todos os nós estiverem no leste dos EUA, eles terão que usar o IP interno. Se o seu servidor de marionetes está no leste e alguns clientes no oeste. Esses clientes no oeste usam público e os do leste ainda usam interno.

    
por 30.05.2011 / 03:49