Primeiros passos com o Kubernetes 1.4 usando Spring Boot e Couchbase explica como começar a usar o Kubernetes 1.4 no Amazon Web Services. A
O serviço Couchbase é criado no cluster e um aplicativo Spring Boot armazena um documento JSON no banco de dados. Ele usa kube-up.sh a partir do download do binário do Kubernetes em github.com/kubernetes/kubernetes/releases/download/v1.4.0/kubernetes.tar.gz  para iniciar o cluster. Esse script é capaz de criar um cluster do Kubernetes apenas com um único mestre. Essa é uma falha fundamental dos aplicativos distribuídos, em que o mestre se torna um ponto único de falha.

Conheça kops - abreviação de Kubernetes Operations.

Essa é a maneira mais fácil de colocar um cluster Kubernetes altamente disponível em funcionamento. O kubectl é a CLI para executar comandos em clusters em execução. Pense em kops como kubectl para cluster.
Este blog mostrará como criar um cluster Kubernetes altamente disponível na Amazon usando kops. Depois que o cluster for criado, ele criará um serviço Couchbase nele e executará um aplicativo Spring Boot para armazenar o documento JSON
no banco de dados.

Muito obrigado a justinsb, sarahz, lâminas, jaygorrell, shrugs, bkpandey e outros em Canal do Kubernetes no Slack por me ajudar com os detalhes!

Faça o download do kops e do kubectl

  • Baixar Última versão do Kops. Este blog foi testado com 1.4.1 no OSX.Conjunto completo de comandos para
    kops pode ser visto:
  • Baixar kubectl:
  •  Incluir kubectl em seu PATH.

Criar registros de Bucket e NS na Amazon

No momento, há um pouco de configuração envolvida, e esperamos que isso seja resolvido nas próximas versões. Criação de um cluster no AWS fornecem etapas detalhadas e mais informações.
Aqui está o que o blog seguiu:

  • Escolha um domínio onde o cluster do Kubernetes será hospedado. Este blog usa kubernetes.arungupta.me domínio. Você pode escolher um domínio de nível superior ou um subdomínio.
  • Amazon Route 53 é um serviço de DNS altamente disponível e dimensionável. Faça login no Console da Amazon e criou um zona hospedada para esse domínio usando o serviço Route 53.
    kops-hosted-zone
    A zona criada tem a mesma aparência:
    kops-hosted-zone-created
    Os valores mostrados no Valor são importantes, pois serão usadas posteriormente para criar registros NS.
  • Crie um bucket S3 usando Console da Amazon para armazenar a configuração do cluster - isso é chamado de loja estatal.
    kops-s3-bucket
  • O domínio kubernetes.arungupta.me está hospedado na GoDaddy. Para cada valor mostrado na coluna Value (Valor) da zona hospedada no Route53, crie um registro NS usando Centro de Controle de Domínios da GoDaddy para
    Selecione o tipo de registro:
    kops-godaddy-add-zone-record
    Para cada valor, adicione o registro conforme mostrado:
    kops-godaddy-add-ns-record
    O conjunto completo de registros tem a seguinte aparência:
    kops-godaddy-ns-records

Iniciar o cluster multimaster do Kubernetes

Vamos entender um pouco sobre as regiões e zonas da Amazônia:

O Amazon EC2 está hospedado em vários locais em todo o mundo. Esses locais são compostos por regiões e zonas de disponibilidade. Cada região é uma área geográfica separada. Cada região tem vários locais isolados, conhecidos como Zonas de Disponibilidade.

Um cluster Kubernetes altamente disponível pode ser criado entre zonas, mas não entre regiões.

  • Descubra as zonas de disponibilidade em uma região:
  • Crie um cluster com vários mestres:

    A maioria dos switches é autoexplicativa. Alguns switches precisam de um pouco de explicação:

    • Especificação de várias zonas usando --zonas-mestre (deve ser um número ímpar) criar vários mestres no AZ
    • --cloud=aws é opcional se a nuvem puder ser inferida das zonas
    • -sim é usado para especificar a criação imediata do cluster. Caso contrário, somente o estado é armazenado no bucket, e o cluster precisa ser criado separadamente.

    O conjunto completo de switches da CLI pode ser visto:

  • Depois que o cluster for criado, obtenha mais detalhes sobre o cluster:

  • Verifique a versão do cliente e do servidor do cluster:

  • Verifique todos os nós do cluster:

    Ou descobrir apenas os nós mestres:

  • Verifique todos os clusters:

Complemento do painel do Kubernetes

Por padrão, um cluster criado com o kops não tem o painel da interface do usuário. Mas ele pode ser adicionado como um complemento:

Agora, os detalhes completos sobre o cluster podem ser vistos:

E o painel da interface do usuário do Kubernetes está no URL mostrado. No nosso caso, ele é https://api.kubernetes.arungupta.me/ui e se parece com isso:

As credenciais para acessar esse painel podem ser obtidas usando o Visualização de configuração do kubectl comando. Os valores são mostrados da seguinte forma:

Implantar o serviço Couchbase

Conforme explicado em Primeiros passos com o Kubernetes 1.4 usando Spring Boot e CouchbaseVamos executar um serviço do Couchbase:

Esse arquivo de configuração está em github.com/arun-gupta/kubernetes-java-sample/blob/master/maven/couchbase-service.yml. Obtenha a lista de serviços:

Descreva o serviço:

Obtenha as cápsulas:

Executar o aplicativo Spring Boot

O aplicativo Spring Boot é executado no serviço Couchbase e armazena um documento JSON nele. Inicie o aplicativo Spring Boot:

Esse arquivo de configuração está em github.com/arun-gupta/kubernetes-java-sample/blob/master/maven/bootiful-couchbase.yml. Veja a lista de todos os pods:

Verifique os registros do pod completo:

O painel atualizado agora tem a seguinte aparência:
kops-dashboard-with-apps

Excluir o cluster do Kubernetes

O cluster do Kubernetes pode ser excluído como:

couchbase.com/containers fornecem mais detalhes sobre como executar o Couchbase em diferentes estruturas de contêineres. Mais informações sobre o Couchbase:

Autor

Postado por Arun Gupta, vice-presidente de defesa do desenvolvedor, Couchbase

Arun Gupta é o vice-presidente de defesa do desenvolvedor na Couchbase. Ele criou e liderou comunidades de desenvolvedores por mais de 10 anos na Sun, Oracle e Red Hat. Ele tem grande experiência na liderança de equipes multifuncionais para desenvolver e executar estratégias, planejamento e execução de conteúdo, campanhas de marketing e programas. Antes disso, liderou equipes de engenharia na Sun e é membro fundador da equipe Java EE. Gupta é autor de mais de 2.000 postagens em blogs sobre tecnologia. Ele tem uma vasta experiência em palestras em mais de 40 países sobre diversos tópicos e é um JavaOne Rock Star há três anos consecutivos. Gupta também fundou o capítulo Devoxx4Kids nos EUA e continua a promover a educação tecnológica entre as crianças. Autor de vários livros sobre tecnologia, corredor ávido, viajante do mundo inteiro, campeão de Java, líder de JUG, membro do NetBeans Dream Team e capitão do Docker, ele pode ser facilmente acessado em @arungupta.

Deixar uma resposta