O AKS (Serviço de Contêiner do Azure) é o serviço Kubernetes gerenciado no Microsoft Azure. No momento, ele está em pré-visualização, portanto, há algumas coisas que podem mudar no futuro.
Nesta postagem, vou criar um cluster do AKS e instalar um cluster do Couchbase nele, usando o comando Operador de Kubernetes do Couchbase (que também está em pré-lançamento).
Esta postagem pressupõe que você já tenha criado uma conta do Azure. Se não tiver, dê uma olhada em Azure: Começar a usar é fácil e gratuito.
Shell de nuvem do Azure
Primeiro, faça login no Portal do Azure. Vou usar um recurso relativamente novo e muito legal do Azure chamado Cloud Shell. Clique no ícone "prompt de comando" no canto superior direito da tela do portal do Azure.
Clicar nessa opção abrirá uma janela de prompt de comando do shell diretamente em seu navegador. Na primeira vez que você fizer isso, o Azure solicitará que você decida entre o Bash e o PowerShell. Eu decidi usar o PowerShell. (Se você estiver mais confortável com o Bash, ainda assim poderá acompanhar o processo). Você precisará configurar uma conta de armazenamento na primeira vez (e somente na primeira vez) que usar o Cloud Shell. Isso levará alguns minutos.
Quando você tiver um prompt de comando, poderá começar a digitar comandos diretamente no navegador!
Se você for como eu e tiver várias assinaturas de conta no Azure (por exemplo, tenho uma assinatura MSDN e uma assinatura Pay-as-you-go), verifique qual é a "padrão" digitando este comando:
1 |
az conta lista |
Esse comando imprimirá uma lista de suas contas no formato JSON. Dê uma olhada no isDefault
no JSON. Por exemplo, o meu tinha "Pay as you go" como padrão (o que eu não quero, porque tenho bastante crédito em minha conta do MSDN).
Se você quiser alterar o padrão, digite um comando como este:
1 |
az conta definir --assinatura "Visual Studio Ultimate com MSDN" |
Você pode usar o nome da assinatura (como eu fiz) ou o ID.
Azure-cli
Os dois comandos acima que usaram "az" estão usando a "CLI do Azure". Você pode instalá-la em seu computador local, e ela vem pronta para uso quando se usa o Cloud Shell.
Antes de podermos criar um cluster do Kubernetes com um cluster do Couchbase, vamos usar o azure-cli para estabelecer as bases.
Primeiro, crie um grupo de recursos. Um grupo de recursos é um agrupamento lógico que você pode usar para organizar os vários serviços e instâncias no Azure. Você pode obter uma lista de todos os seus grupos de recursos atuais com este comando:
1 |
az grupo lista |
Você pode criar um novo grupo de recursos de várias maneiras, mas veja como fazer isso na linha de comando:
1 |
az grupo criar --nome cb_aks_spike --localização leste |
Nesse ponto, o grupo de recursos deve aparecer quando você executar lista de grupos az
ou quando você visualizar seus grupos de recursos na interface de usuário normal do Portal do Azure.
Se estiver tentando usar o Windows PowerShell local, talvez seja necessário executar as etapas a seguir:
- Verifique se você tem o ContainerService registrado. Você pode descobrir isso executando
az provider list | ConvertFrom-Json | Format-Wide
e verificar se ele está listado lá. - Se ele não estiver listado, inicie o registro do ContainerService:
registro do provedor az -n Microsoft.ContainerService
- Em seguida, monitore o progresso do registro do ContainerService:
az provider show -n Microsoft.ContainerService
(aguarde até que "registrationState" não seja "Registering" e se torne "Registered")
Essas etapas podem não ser necessárias quando o AKS sair da versão prévia para uma versão geral.
Criar cluster AKS
Em seguida, crie um cluster AKS dentro do grupo de recursos criado na seção anterior:
1 |
az aks criar --recurso-grupo cb_aks_spike --nome cbAKScluster --gerar-ssh-chaves |
(O nome do cluster AKS só pode conter letras, números e traços).
Isso levará algum tempo para ser concluído. Quando estiver concluído, você terá um serviço de contêiner gerenciado com:
- Um pool de nós de tamanho 3 (o padrão, você pode especificar com -node-count)
- Cada nó é uma instância DS1_v2 do Azure (CPU única, máquinas com 3,5 GB de RAM, que são baratas e adequadas para esta demonstração, mas você provavelmente desejará usar uma máquina mais potente para o Couchbase na produção)
Observe que você criou um arquivo Cluster do Kubernetes. Em seguida, instalaremos um Cluster do Couchbase dentro de o cluster do Kubernetes. É importante manter o controle e comunicar o cluster específico sempre que fizer referência a ele.
Use o kubectl para colocar o Couchbase no AKS
Esta próxima parte será executada localmente no PowerShell, e não no Azure Cloud Shell. Você precisará estar conectado e ter Azure-cli já instalado juntamente com Kubectl (que você provavelmente já tem).
Em seguida, instale o AKS cli localmente com este comando: az aks install-cli
.
Depois disso, você precisará se conectar ao cluster AKS criado anteriormente.
1 |
az aks obter-credenciais --recurso-grupo=cb_aks_spike --nome=cbAKScluster |
Quando isso for bem-sucedido, você poderá usar o kubectl para obter uma lista dos três nós criados anteriormente.
1 |
kubectl obter nós |
A saída desse comando deve ser semelhante:
O Couchbase introduziu um Operador de Kubernetesque está atualmente na versão beta. Você não tem ter para usar esse operador, mas ele tornará o uso do Couchbase no Kubernetes uma experiência muito melhor.
Comece implantando o operador com kubectl
:
1 |
kubectl criar -f https://s3.amazonaws.com/packages.couchbase.com/kubernetes/beta/operator.yaml |
Quando isso for concluído, você poderá visualizar todas as implantações com kubectl get deployments
.
Agora é hora de implantar o Couchbase. Você precisará criar um segredo e um cluster, ambos com arquivos YAML. Você pode usar alguns exemplos de arquivos YAML disponíveis nestes URLs:
1 2 |
kubectl criar -f https://s3.amazonaws.com/packages.couchbase.com/kubernetes/beta/secret.yaml kubectl criar -f https://s3.amazonaws.com/packages.couchbase.com/kubernetes/beta/couchbase-cluster.yaml |
É claro que você pode criar sua própria configuração de cluster YAML.
Criei minha própria variação menor desse exemplo, ajustando a cota de memória, os serviços e o nome do bucket.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
Versão da API: couchbase.banco de dados.couchbase.com/v1beta1 gentil: CouchbaseCluster metadados: nome: cb-exemplo especificação: imagem de base: couchbase/servidor versão: empresa-5.0.1 authSecret: cb-exemplo-autenticação exposeAdminConsole: verdadeiro agrupamento: DataServiceMemoryQuota: 512 indexServiceMemoryQuota: 256 searchServiceMemoryQuota: 256 indexStorageSetting: memory_optimized autoFailoverTimeout: 30 baldes: - nome: myBucket tipo: couchbase memoryQuota: 128 réplicas: 2 ioPrioridade: alta evictionPolicy (política de despejo): valueOnly Resolução de conflitos: seqno enableFlush: verdadeiro enableIndexReplica: falso servidores: - tamanho: 3 nome: todos_serviços serviços: - dados - índice - consulta dataPath: /optar/couchbase/var/lib/couchbase/dados indexPath: /optar/couchbase/var/lib/couchbase/dados |
Nesse ponto, o AKS começará a criar os "pods". Você pode verificar o status com: kubectl get pods
.
Isso levará alguns minutos para ser concluído.
Acessar o cluster AKS
O cluster do Couchbase agora está sendo executado no cluster do Kubernetes. Uma outra maneira de acessar o Couchbase, apenas para verificar se está funcionando, é com o encaminhamento de porta. Execute este comando localmente:
1 |
kubectl porto-avançar cb-exemplo-0000 8091:8091 |
Ao fazer isso, você está encaminhando o localhost na porta 8091 para o pod cb-example-0000 na porta 8091. Isso significa que, se você abrir o http://localhost:8091 em seu navegador local, você será direcionado para o cluster do Couchbase em execução no AKS no Azure.
Uma maneira fácil de ver o AKS e o operador do Kubernetes em ação é remover o bucket. O operador do Couchbase perceberá isso e recriará o bucket automaticamente.
Resumo
Agora você já está familiarizado com o Couchbase e o AKS no Azure. Aqui estão mais alguns recursos para continuar sua jornada:
- Guia do Couchbase Operator com AKS do Equipe de parceiros do Couchbase.
- Primeiros passos com a Azure-cli da equipe de documentação da Microsoft.
- Operador de Kubernetes do Couchbase documentação
- Dúvidas? Acesse a seção Fóruns do Couchbase Server.
Perguntas ou comentários para mim? Você pode me encontrar em Twitter @mgroves.