Tentando atualizar o arquivo de configuração do host via comando:
$ sudo bash -c 'echo $(minikube ip) blue.io green.io >> /etc/hosts'
O comando foi passado, mas o arquivo de configuração do host /etc/hosts não foi atualizado.
Se após o comando acima, eu passar o seguinte comando:
$ sudo bash -c 'echo $(minikube ip) blue.io green.io | cat'
A seguinte mensagem é retornada:
"Profile "minikube" not found. Run "minikube profile list" to view all profiles. 👉 To start a cluster, run: "minikube start" blue.io green.io.
Se eu executar o comando abaixo:
$ sudo nano /etc/hots
Posso ver duas vezes a seguinte mensagem na parte inferior do script:
"Profile "minikube" not found. Run "minikube profile list" to view all profiles. 👉 To start a cluster, run: "minikube start" blue.io green.io.
Recorri à atualização manual do arquivo usando o comando nano, excluindo a mensagem acima e inserindo uma linha manualmente:
xxx.xxx.99.100 blue.io green.io
$ nano /etc/hosts
Gostaria de saber por que o código sudo bash -c....
não atualizou o arquivo de configuração como esperado.
Mais informações:
- o código é executado em uma VM Linux Ubuntu com virtualização aninhada habilitada, - executando um cluster minikube (kubernetes)
- 2 mapas de configuração são configurados para personalizar cada um dos servidores web a partir de um arquivo yaml
Li postagens como perguntas sobre o arquivo /etc/hosts do servidor Web , mas não consegui encontrar a resposta para minha pergunta.
Parece que você tem configurações, como variáveis de ambiente, presentes na sua conta de usuário, mas que não são globalmente acessíveis para contas como
root
.Como solução alternativa, você pode modificar seu extrato para gerar o endereço IP como sua própria conta e então usá-lo
root
apenas para modificar o/etc/hosts
arquivo:Como um efeito colateral útil, você verá a linha que foi adicionada
/etc/hosts
(anexe> /dev/null
ao comando se isso não for necessário).