Como implantar o nginx em um cluster Kubernetes
- 790
- 153
- Mrs. Willie Beahan
Em nosso último artigo, discutimos como configurar e executar um cluster de Kubernetes, vamos discutir como podemos implantar Nginx serviço em nosso cluster.
Vou executar essa implantação em uma máquina virtual hospedada por um provedor de nuvem pública. Como é com muitos serviços de nuvem pública, muitos geralmente mantêm um esquema de IP público e privado para suas máquinas virtuais.
Ambiente de teste
Nó Mestre - Public IP: 104.197.170.99 e IP privado: 10.128.15.195 Nó do trabalhador 1 - IP público: 34.67.149.37 e IP privado: 10.128.15.196 Nó do trabalhador 2 - IP público: 35.232.161.178 e IP privado: 10.128.15.197
Implantando nginx em um cluster de Kubernetes
Vamos executar esta implantação do nó mestre.
Vamos começar verificando o status do cluster. Todos os seus nós devem estar em um PREPARAR estado.
# kubectl Get nósVerifique o status do cluster de Kubernetes
Nós criamos uma implantação de Nginx usando o Nginx imagem.
# kubectl Crie implantação nginx --image = nginxImplantando nginx em Kubernetes
Agora você pode ver o estado de sua implantação.
# kubectl Obtenha implantaçõesVerifique a implantação do Nginx em Kubernetes
Se você quiser ver mais detalhes sobre sua implantação, você pode executar o descrever comando. Por exemplo, é possível determinar quantas réplicas da implantação estão em execução. No nosso caso, esperamos ver uma réplica de 1 corrida (eu.e 1/1 réplicas).
# kubectl descreve a implantação nginxVerifique os detalhes da implantação do nginx
Agora sua implantação nginx está ativa, você pode querer expor o Nginx Serviço para um IP público acessível na Internet.
Expondo seu serviço nginx à rede pública
O Kubernetes oferece várias opções ao expor seu serviço com base em um recurso chamado Kubernetes de serviço de serviço e eles são:
- Clusterip - Esse tipo de serviço geralmente expõe o serviço em um IP interno, acessível apenas dentro do cluster, e possivelmente apenas dentro dos nodos de cluster.
- NodEport - Esta é a opção mais básica de expor seu serviço para ser acessível fora do seu cluster, em uma porta específica (chamada de NodEport) em todos os nó no cluster. Vamos ilustrar esta opção em breve.
- Balanceador de carga - Esta opção aproveita os serviços externos de balanceamento de carga oferecidos por vários provedores para permitir o acesso ao seu serviço. Esta é uma opção mais confiável ao pensar em alta disponibilidade para o seu serviço e tem mais recursos além do acesso padrão.
- ExternalName - Este serviço é redirecionado para os serviços fora do cluster. Como tal, o serviço é assim mapeado para um nome de DNS que possa ser hospedado do seu cluster. É importante observar que isso não usa proxy.
O tipo de serviço padrão é Clusterip.
Em nosso cenário, queremos usar o NodEport Service-Type Porque temos um endereço IP público e público e não precisamos de um balanceador de carga externo por enquanto. Com este tipo de serviço, Kubernetes atribuirá este serviço nas portas no 30000+ faixa.
# kubectl Crie serviço NodEport nginx - -tcp = 80: 80Crie serviço NodEport para expor o nginx
Execute o Obtenha SVC comando para ver um resumo do serviço e as portas expostas.
# KUBECTL Get SVCVerifique o serviço e a porta Nginx
Agora você pode verificar se o Nginx A página é acessível em todos os nós usando o comando curl.
# Curl Master-Node: 30386 # Curl Node-1: 30386 # Nó Curl 2: 30386Verifique a página nginx no cluster Kubernetes
Como você pode ver, o “BEM VINDO AO NGINX!”Página pode ser alcançada.
Atingindo endereços IP públicos efêmeros
Como você deve ter notado, Kubernetes Relatórios de que não tenho IP público ativo registrado, ou melhor, nenhum IP externo registrado.
# KUBECTL Get SVCVerifique o serviço e a porta Nginx
Vamos verificar se é realmente verdadeiro, que não tenho IP externo conectado às minhas interfaces usando o comando IP.
# ip aVerifique os endereços IP
Nenhum IP público como você pode ver.
Como mencionado anteriormente, atualmente estou executando essa implantação em um Máquina virtual oferecido por um provedor de nuvem pública. Portanto, embora não haja interface específica atribuída a um IP público, o provedor de VM emitiu um endereço IP externo efêmero.
Um endereço IP externo efêmero é um endereço IP temporário que permanece conectado à VM até que a instância virtual seja interrompida. Quando a instância virtual é reiniciada, um novo IP externo é atribuído. Basicamente, é uma maneira simples de provedores de serviços aproveitarem o IPS público ocioso.
O desafio aqui, além do fato de que seu IP público não é estático, é que o IP público efêmero é simplesmente uma extensão (ou proxy) do IP privado e, por esse motivo, o serviço será acessado apenas na porta 30386. Isso significa que o serviço será acessado no URL , aquilo é 104.197.170.99: 30386, que se você verificar seu navegador, poderá ver a página de boas -vindas.
Com isso, implantamos com sucesso Nginx Em nosso cluster Kubernetes de 3 nós.
- « Como instalar e usar a ferramenta de recuperação de dados testdisk no Linux
- Como instalar o Mate Desktop no arch Linux »