Criando o cluster Kubernetes usando o serviço EKS da Amazon

Criando o cluster Kubernetes usando o serviço EKS da Amazon
Kubernetes é um corpo complexo de software. É destinado a um cluster distribuído de nós de computação e foi projetado para suportar picos na carga de trabalho, falhas de link e falhas de nó. É também um projeto em movimento rápido com alterações constantes (e muitas vezes incompatíveis) e dependências de terceiros.

Dada toda a complexidade subjacente a isso, é muito difícil e caro para uma organização se auto-hospedar e manter um cluster de Kubernetes e executar suas aplicações em cima dele. Se você não estiver no negócio de operar os clusters de Kubernetes, convém usar o Elastic Kubernetes Service (EKS) da Amazon para implantar seus aplicativos. Isso reduzirá bastante o custo de operação e você pode ficar tranquilo sabendo que desenvolvedores e operadores experientes são encarregados disso, em vez disso.

Pré -requisitos

  • Uma conta da AWS com acesso ao console e permissões apropriadas. Entre em contato com o operador da AWS da sua empresa para obter os privilégios apropriados.
  • Um usuário do AWS IAM com acesso programático. Estaremos agindo como esse usuário ao controlar nosso cluster Kubernetes. Veja como você pode instalar e configurar a AWS CLI para a conta em que o cluster EKS será criado.
  • Um entendimento básico de Kubernetes

Criando um cluster de Kubernetes

Você também pode criar o cluster via CLI, mas a maioria dos novos usuários acharia o console gráfico mais amigável. Então, estaremos usando isso, em vez disso. Supondo que você tenha logado no seu console da AWS, podemos começar indo para Serviços No canto superior direito e clicando em Eks No menu suspenso:

O próximo menu mostrará a página de introdução da AWS, vamos para o Clusters opção sob o submenu EKS.

Aqui você pode ver a lista de todos os clusters Kubernetes criados em sua conta. Como não há nenhum, vamos criar um.

Clique em Criar cluster. Dê um nome, selecione a versão do Kubernetes que você deseja, no momento da redação da versão 1.11 é apoiado pela Amazon. Em seguida, clique em Nome do papel, Porque precisamos criar uma função que precisamos para o fornecedor da Amazon EKs para que ele possa gerenciar nosso cluster.

Criando e atribuindo função

Antes de começarmos com isso, vamos entender uma diferença importante entre Amazon Eks (um serviço da AWS) e seu cluster Kubernetes sobre AWS. A AWS segrega responsabilidades sempre que puder, para lhe dar um controle muito fino sobre tudo. Se você deseja dar a si mesmo ou a terceiros, controle completo sobre esses recursos, você também pode fazer isso.

Imagine Amazon Eks Como uma dessas partes que gerenciará seu cluster Kubernetes (seu cluster EKS) em seu nome, mas requer sua permissão explícita para fazer exatamente isso. Para fazer isso, 'criaremos' e atribuiremos o Papel de gerenciar clusters de EKs sob nossa conta da AWS e atribuí -la a Amazon Eks.

Na nova guia IAM, que abriu após clicar no nome do papel, você verá algumas funções padrão para cobrança e suporte já estão em vigor. Vamos criar um novo para EKS. Clique em Criar papel.

Selecione o tipo de entidade confiável como Serviço da AWS, para o qual a função seria criada e depois selecionar eks para que seu cluster EKS possa falar diretamente com o Amazon Eks diretamente e execute o ideal. Então clique Próximo.

Agora, você poderá ver as permissões e limites de permissão que estão associados a este papel. Os valores padrão estão bem, basta clicar para o próximo.

O próximo menu solicitará que você adicione tags (pares de valor-chave) a esta função. É completamente opcional, mas bastante útil se você estiver usando a CLI para gerenciar seus recursos da AWS e há muitos papéis e recursos diferentes para gerenciar. Não estaremos adicionando tags, clique Próximo e dê ao seu papel um nome e descrição significativos.

E é isso! Clicando em Criar papel e podemos voltar para a nossa criação de cluster eks. Na próxima vez que você quiser criar outro cluster, você pode reutilizar esse mesmo papel novamente.

De volta à criação de cluster

Mesmo que sua conta da AWS seja nova, ainda há VPC padrão (nuvem privada virtual) com algumas sub -redes criadas dentro dela. Eles geralmente são espalhados por diferentes regiões da AWS e você precisa selecionar pelo menos dois deles para que seja um cluster.

E selecione o grupo de segurança padrão para permitir que a maioria dos tráfego de entrada e saída seja normalmente.

Clique em Criar E seu cluster Kubernetes estará em funcionamento em minutos. Depois que seu cluster for criado. Você sempre pode obter uma visão geral, indo para EKS → Cluster → mycluster. Claro, a última parte, o nome do seu cluster será diferente.

Configuração local

A maneira como a plataforma EKS funciona é que ela permite que você interaja com o plano de controle no terminal da API do avião. O plano de controle é equivalente aos nós mestres em clusters de baunilha kubernetes. Ele é executado etcd, CAS e, claro, o servidor API que você usará para controlar seu cluster Kubernetes.

Você terá que configurar seu Kubectl e/ou seu painel para trabalhar com esse terminal da API e, uma vez que isso seja configurado, você pode começar a listar todos os seus recursos, implantações, etc., como faria com um cluster de Kubernetes regulares.

Se você ainda não tem o Kubectl instalado no seu computador, você pode fazê -lo seguindo este link para Mac, Windows ou sua distro favorita Linux.

Precisaríamos de um binário adicional que seria o AWS IAM Authenticator binário para sua plataforma. Baixe aqui e torne -o um executável.

$ sudo chmod +x ./AWS-IAM-Autenticador

Adicione -o a uma das suas pastas $ PATH, por exemplo /usr /bin ou /sbin ou /usr /local /sbin. Ou você pode fazer o que a Amazon recomenda e apenas adicioná -lo no seu diretório doméstico e fazer $ home uma parte da sua variável de caminho.

$ cp ./AWS-IAM-Authenticator $ Home/Bin/Aws-IAM-Authenticator &&
Caminho de exportação = $ Home/Bin: $ Path

Próximo teste se os binários funcionam.

Versão $ kubectl
Ajuda $ aws-IAM-Autenticator

Agora, precisamos configurar esses binários para que eles possam conversar com nosso cluster de Kubernetes. Você pode fazer isso manualmente se não quiser configurar a AWS CLI, mas essa não é uma abordagem confiável. É por isso que mencionei nos pré -requisitos de que a AWS CLI era necessária. Então, supondo que você o instalou e o configurou para funcionar com sua conta da AWS, execute o seguinte comando:

Nota: Se você já estava usando o Kubectl para gerenciar outro cluster Kubernetes, com os arquivos de configuração no padrão ~/.Kube localização. Você pode querer fazer backup desta pasta antes de executar o seguinte comando.

$ aws eks update-kubeconfig-name mycluster

O nome do seu cluster seria diferente de “mycluster ”, substitua isso em vez disso. O comando update-kubeconfig atualizará sua configuração Kubectl, editando os arquivos no ~/.Kube pasta. Se esse local não existir, ele criará um novo para você.

Agora você está pronto para interagir com seu cluster.

$ aws eks descrevem cluster-nome mycluster

Onde a próxima?

Agora você está finalmente pronto para adicionar nós do trabalhador usando o CloudFormation e implantar seu aplicativo em todas as regiões em que o VPC do cluster tem acesso a. Todo esse processo também pode ser automatizado para o Nº diploma se você optar por usar a AWS CLI para tudo, desde a criação do cluster até a implantação e escala de seus aplicativos.

Espero que você tenha achado este tutorial útil e perspicaz.