O desenvolvimento, a implantação e o gerenciamento de aplicativos se tornaram mais fáceis com a introdução da conteinerização, e é por isso que a implantação da nuvem está ganhando cada vez mais popularidade. O Azure, sendo o melhor do mercado, fornece a implantação do Kubernetes mais rápida e fácil de usar na forma de Azure Kubernetes Service (AKS).
Para melhorar o desempenho do aplicativo no ambiente Azure Kubernetes, NCache deve ser implantado e usado dentro do cluster AKS. NCache é uma solução de cache distribuído na memória que aumenta o desempenho do seu aplicativo em muitas dobras, pois seu cache está mais próximo do aplicativo. Usando NCache, que é distribuído por natureza, permite adicionar quantos servidores forem necessários para melhorar a latência, induzindo uma escalabilidade extrema no AKS.
NCache Adicionar ao carrinho Implantações de contêiner NCache Documentos AKS
NCache Arquitetura de implantação no serviço Azure Kubernetes
O layout geral de NCacheA implantação do Azure Kubernetes Service é assim: você tem aplicativos conectados a um headless Serviço de descoberta de cache. Esse serviço é responsável por permitir que os clientes acessem os pods de cluster que estão executando o serviço de cache. Há também um Serviço de gateway que fornece um balanceador de carga para reduzir o tráfego para pods específicos com base no IP do cliente fornecido.
Um pod é uma unidade básica para construção de serviço que garante que todos os contêineres estejam no mesmo host. Um pod contém um ou mais contêineres que compartilham recursos como RAM, CPU e rede, mas é melhor ter um contêiner por pod.
O fluxo de solicitações e a estrutura de um cluster AKS com NCache implantado nele é mostrado no diagrama abaixo.
Para começar a usar muitos recursos prontos para uso fornecidos pelo NCache em seu cluster do Azure Kubernetes Service, você precisa implantar NCache e os serviços necessários em uma configuração AKS. As etapas fornecidas abaixo ajudarão você a começar a implantar e usar NCache no cluster Azure Kubernetes.
NCache Adicionar ao carrinho Implantações de contêiner NCache Documentos AKS
Etapa 1: criar NCache desenvolvimento
No Azure Kubernetes Service, sempre que falamos em implantar um aplicativo ou serviço, precisamos criar um arquivo YAML. Este arquivo YAML contém todas as informações necessárias para criar um pod dentro de seu cluster AKS. Deixe-me mostrar como seu arquivo YAML deve ser para criar com sucesso um pod que contenha o NCache serviço.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
kind: Deployment apiVersion: apps/v1beta1 # underlying Kubernetes version metadata: name: ncache labels: app: ncache spec: replicas: 2 template: metadata: labels: app: ncache spec: nodeSelector: "beta.kubernetes.io/os": linux containers: - name: ncache image: docker.io/alachisoft/ncache:enterprise-server-linux-5.0.2 ports: - name: cache-mgmt-tcp # for tcp communication containerPort: 8250 - name: cache-mgmt-http # for http communication containerPort: 8251 ... # remaining necessary ports |
Para que o cluster entenda que o que você está criando será um pod de implantação, você precisa mencionar "tipo" como Desdobramento, desenvolvimento. O que você precisa ter cuidado aqui é a versão subjacente do Kubernetes sob a tag “apiVersion”. O Kubernetes continua modificando esse número de versão, portanto, você precisa ter cuidado ao implantar NCache que esse número de versão seja definido para o número de versão correspondente do Kubernetes subjacente.
O número de “réplicas” aqui indica o número de pods que esta implantação terá, que neste caso é 2. Você pode alterar esse valor conforme sua necessidade. Na tag "containers", você fornece o caminho para o NCache Enterprise Imagem do Docker do servidor. Você pode encontrar este caminho em Hub do Docker.
NCache Adicionar ao carrinho Implantações de contêiner NCache Documentos AKS
Alguns dos outros requisitos que você precisa saber para implantar NCache no cluster Azure Kubernetes são informações de portas. Para que seus clientes interajam com sucesso NCache servidores, você precisa especificar o número da porta do contêiner em seu arquivo YAML.
Principalmente, esses são os requisitos básicos que você precisa entender para implantar com sucesso NCache em um cluster AKS. Depois que esse arquivo YAML é criado, você usa esse arquivo para criar pods no AKS.
Criar este arquivo YAML é tudo o que você precisa fazer para implantar com sucesso NCache em um cluster AKS. Execute o seguinte comando no Azure Cloud Shell e pronto! sua NCache A implantação agora é um pod em execução completo no Serviço de Kubernetes do Azure!
1 |
kubectl create -f [dir]/ncache.yaml |
Etapa 2: criar NCache Serviço de descoberta
Fora do cluster Kubernetes, quando você fala sobre clientes de cache se conectando a servidores de cache, é bastante compreensível que eles precisem de endereços IP dos servidores de cache. Esses endereços IP são estáticos e conhecidos por todos os clientes que fazem parte desse sistema. Mas quando você pega os mesmos elementos e os coloca dentro do ambiente Kubernetes, a implementação muda. Dentro de um cluster Kubernetes, cada pod de implantação recebe um endereço IP dinâmico em tempo de execução que é desconhecido para os aplicativos cliente. Essa implementação atrapalha a identificação de seus aplicativos cliente NCache servidores para obter desempenho e escalabilidade.
Para combater esse problema, o Kubernetes permite que você crie um serviço fixo em vez de dinâmico. Portanto, usando isso, você precisa criar um serviço de descoberta sem periféricos que permita que seu aplicativo cliente acesse sem esforço o pod no qual NCache serviço está em execução. As informações fornecidas neste serviço, como um arquivo YAML, permitem que todos os aplicativos clientes se conectem a esse serviço. Este serviço é então responsável por atribuir um servidor a cada solicitação de conexão do cliente; tudo enquanto permanece dentro do cluster AKS.
Então, sem mais delongas, vamos começar a criar o arquivo YAML pronto para implantação.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
kind: Service apiVersion: v1 # underlying Kubernetes version metadata: name: cacheserver labels: app: cacheserver spec: clusterIP: None selector: app: ncache # same label as provided in the ncache YAML file ports: - name: management-tcp port: 8250 targetPort: 8250 - name: client-port port: 9800 targetPort: 9800 |
Seu “tipo” precisa ser um serviço com o “apiVerison” definido para a versão subjacente do Kubernetes. Para tornar este um serviço headless, você precisa definir a tag “clientIP” para Nenhum que especifica que seu serviço de descoberta não terá nenhum IP público atribuído a ele. O resto são as portas necessárias para NCache clientes se comunicarem com o NCache Servidores.
A partir daqui, você vai para o Azure Cloud Shell e executa o comando fornecido para ter um serviço de descoberta sem periféricos em execução totalmente funcional dentro de seu cluster Kubernetes.
1 |
kubectl create -f [dir]/discoveryservice.yaml |
NCache Adicionar ao carrinho Implantações de contêiner NCache Documentos AKS
Etapa 3: criar NCache Serviço de gateway
Dentro de um cluster AKS, o que quer que aconteça é confinado ao cluster. E para você usar NCache da sua máquina local, é preciso haver uma maneira pela qual NCache as operações de gerenciamento podem ser executadas dentro desse cluster. É exatamente por isso que criamos um serviço Gateway; um serviço que é responsável por acessar, gerenciar e monitorar NCache de fora do Serviço Azure Kubernetes.
Novamente, para usar essa funcionalidade no cluster, você precisa de um pod em execução. Para criar um pod em execução, você precisa criar um arquivo YAML contendo todas as tags e valores necessários. Então, vamos começar escrevendo um arquivo YAML para criar um serviço de gateway para NCache gestão.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
kind: Service apiVersion: v1 # underlying Kubernetes version metadata: name: gateway spec: selector: app: ncache # same label as provided in the ncache YAML file type: LoadBalancer sessionAffinity: ClientIP ports: - name: management-http port: 8251 targetPort: 8251 |
Aqui, para que seu cluster do Azure Kubernetes Service saiba que esse pod atuará como um serviço para uma finalidade específica em vez de implantar qualquer coisa, você precisa declarar o "tipo" como um serviço. Esse arquivo também deve mencionar as portas que um serviço de gateway precisa para funcionar sem erros. Marque “tipo” como Balanceador de carga afirma que este serviço de gateway será um balanceador de carga externo que equilibra as solicitações dos clientes em vários servidores. O ponto que você precisa garantir é que o “sessionAffinity” está definido como IP do cliente para garantir que um cliente seja redirecionado para o mesmo servidor todas as vezes.
Esta é praticamente todas as informações que você precisa para criar um serviço de gateway para o seu NCache desdobramento, desenvolvimento. O que você precisa fazer agora é executar o seguinte crio O comando do Azure Shell e o AKS criarão e iniciarão esse serviço para você.
1 |
kubectl create -f [dir]/gatewayservice.yaml |
NCache Adicionar ao carrinho Implantações de contêiner NCache Documentos AKS
Etapa 4: criar um cluster de cache
O que você tem até este ponto está funcionando NCache servidores, um serviço de gateway e um serviço de descoberta para NCache clientes. O que você precisa agora para desfrutar plenamente NCache em seu Serviço de Kubernetes do Azure é criar um cluster de cache dentro de seu cluster de Kubernetes; que é simples.
Você pode executar esta etapa usando NCache Web Manager que vem integrado com o NCache desdobramento, desenvolvimento. As etapas necessárias para criar um cluster com êxito e adicionar nós de servidor a ele são fornecidas em NCache docs em Criar cache clusterizado. A única reviravolta nesta etapa são os IPs dos servidores que você precisa. Eles precisam ser os mesmos IPs que o cluster Kubernetes atribuiu aos seus pods de cache. Você pode obter esses IPs executando o obter vagens comando no Azure Cloud Shell.
Etapa 5: criar implantações de aplicativos
Para implantar e executar aplicativos cliente (seja .NET ou Java) em seu cluster, você precisa criar um arquivo YAML. Seu arquivo YAML de implantação do cliente deve ser algo assim:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
kind: Deployment apiVersion: apps/v1beta1 # Underlying Kubernetes version metadata: name: client spec: replicas: 1 template: metadata: labels: app: client spec: imagePullSecrets: - name: client-private nodeSelector: "beta.kubernetes.io/os": linux containers: - name: client image: # Your docker client image here ports: - name: port1 containerPort: 8250 - name: port2 containerPort: 9800 |
O “nodeSelector” mencionado no arquivo pode ser Windows já que o Kubernetes suporta os dois sistemas operacionais. Além disso, você tem a vantagem de implantar vários aplicativos cliente dentro do mesmo cluster, dependendo de seus requisitos. Para cada aplicativo cliente, você precisa criar um arquivo YAML semelhante para que cada aplicativo seja executado em um pod separado.
Execute o comando a seguir no Cloud Shell fornecido pelo Microsoft Azure para criar e iniciar com êxito seu pod de aplicativo cliente.
1 |
kubectl create -f [dir]/client.yaml |
O fornecido NCache client é extremamente inteligente quando se trata de criar conexões dentro do cluster. Tudo o que esse cliente precisa é o nome do serviço com o qual ele precisa falar para descobrir automaticamente todos os NCache nós de cluster para um determinado cache presente no cluster do Azure Kubernetes.
A vantagem mais viável de usar NCache no AKS é que você não precisa fornecer endereços IP dos pods de cache para conexão do cliente. O serviço de descoberta sem periféricos que você criou antes é responsável por fornecer endereços IP dos pods de cache para seu aplicativo cliente em tempo de execução.
NCache Adicionar ao carrinho Implantações de contêiner NCache Documentos AKS
Etapa 6: monitorar NCache Agrupar
Agora que seus serviços, servidores e aplicativos estão funcionando, você precisa de uma maneira de monitorar a atividade do cache dentro do cluster. Exatamente por isso, NCache vem com várias ferramentas para ajudá-lo a monitorar seu cluster de cache. Essas ferramentas ajudam você a ter uma ideia melhor sobre a integridade, o desempenho, as falhas de rede e a conectividade do cluster.
NCache fornece uma Monitor da Web que mostra graficamente o desempenho em tempo real do seu cache.
Da mesma forma, você tem um Estatísticas de cache opção que fornece uma análise mais detalhada de sua atividade de cache.
Etapa 7: dimensionamento NCache Agrupar
NCache, sendo um cache distribuído extremamente escalável, permite adicionar e remover nós de servidor em tempo de execução para melhorar o desempenho geral do NCache. Ao monitorar seu cluster, se você achar que as solicitações/s são muito maiores do que o número de servidores disponíveis para atender a essas solicitações, você pode adicionar um ou vários nós de cache dentro de sua implantação.
Existem várias maneiras pelas quais você pode dimensionar o NCache cluster em sua implantação AKS. Você pode usar o NCache Gerenciador de Web ou NCache ferramenta PowerShell ou mesmo o NCache arquivo YAML. Para saber mais sobre como esses métodos são usados para adicionar e remover nós do cluster, visite nossa documentação em Adicionando servidores de cache em um cluster AKS e Removendo servidores de cache de um cluster AKS.
NCache Adicionar ao carrinho Implantações de contêiner NCache Documentos AKS
O que aprendemos?
Pelo que vimos, podemos deduzir que o Azure Kubernetes Service é um orquestrador de contêiner totalmente integrado e gerenciado que automatiza atualizações e patches. Para obter escalabilidade e alta disponibilidade em um cluster AKS, onde seus aplicativos e recursos residem, você precisa implantar NCache na mesma. NCache é um cache distribuído na memória escalável que fornece alto desempenho e escalabilidade dentro de seu cluster AKS.
Para obter uma ilustração detalhada passo a passo da implantação NCache no AKS, consulte nossa documentação em Implantando NCache no Serviço de Kubernetes do Azure.
NCache Adicionar ao carrinho Comparação de edições Baixar NCache
Você pode, por favor, usar palavras limpas e frases maiores e mais longas? É realmente doloroso ler os artigos e documentações em seu site…