Atualmente eu criei uma imagem docker do Ubuntu 14.04 puxando-a do site do dockerhub e executei uma docker nesta imagem para criar uma instância de contêiner desta imagem. Em seguida, instalei o servidor Apache dentro deste contêiner em execução e executei o servidor a partir deste contêiner .
Agora, como faço para implantar esse contêiner docker usando kubernetes?
Responder1
Normalmente:
- Sua imagem docker não precisa executar o Apache, apenas o código do servidor (por exemplo, Tomcat, Springboot ou outro). Muito do que foi feito pelo Apache é feito pela infraestrutura K8S. Nos poucos casos em que um Apache é necessário (para servir conteúdo estático, por exemplo), pode ser outro contêiner no mesmo "pod" do contêiner do servidor.
- Para criar uma imagem você não faz um
docker run
, você cria um Dockerfile e faz umdocker build
. - Kubernetes (também conhecido como K8S) não é um utilitário de implantação, é uma infraestrutura para executar e monitorar contêineres. A implantação é apenas uma pequena parte disso.
- Se você não tem essa infraestrutura funcionando, você precisa construir uma. Para um único contêiner é um exagero(*). Você pode procurar
docker-compose
implantações simples. Muitas coisas que você fazdocker-compose
podem ser traduzidas posteriormente para o K8S. Para executar alguns contêineres em uma imagem Linux basta criar um serviço systemd que os inicia. - Se você tiver uma infraestrutura K8S, poderá implantar contêineres/pods por meio do console como uma primeira etapa e depois aprender a usar o
kubectl
. Mas as pessoas que criaram essa infra-estrutura provavelmente poderão ajudar (e terão os seus próprios padrões de implementação).
- Se você não tem essa infraestrutura funcionando, você precisa construir uma. Para um único contêiner é um exagero(*). Você pode procurar
(*) e dadas as suas aparentes habilidades atuais no Docker, isso será bastante difícil. Tem que ser feito corretamente para funcionar (e não ser hackeado nos primeiros dias de existência).