A introdução da tecnologia de contêiner melhorou significativamente a facilidade de desenvolvimento de aplicativos, e o Kubernetes está na vanguarda desse progresso. O Kubernetes é uma plataforma de código aberto que lida com a orquestração de seus contêineres em várias máquinas. Uma dessas plataformas Kubernetes, Red Hat OpenShift (por Red Hat), fornece aos usuários a capacidade de dimensionar automaticamente os aplicativos em nuvem. Possui contêineres de aplicativos alimentados por Estivador com serviços de orquestração e gerenciamento cortesia do Kubernetes. Como tal, o OpenShift está ganhando popularidade por sua arquitetura de contêiner simples. Ele fornece uma arquitetura de implantação integrada para gerenciar os contêineres usando os serviços de orquestração do Kubernetes. Portanto, vários produtos estão aproveitando essa implantação.
Por exemplo, é totalmente NCache-suportado. NCache é uma solução de cache distribuído na memória que garante alto desempenho e escalabilidade. Cache de seus dados com NCache reduz suas viagens de rede e a carga em seu banco de dados, pois seus dados residem no cache, mais perto de seu aplicativo. Neste artigo, nosso foco está nas etapas necessárias para NCache implantação no Red Hat OpenShift.
NCache Adicionar ao carrinho NCache Implantação no OpenShift-Docs Use NCache em OpenShift-Vídeo
NCache Arquitetura de implantação no Red Hat OpenShift
Com o NCache, você pode aproveitar a orquestração de nuvem baseada no ambiente OpenShift com recursos adicionais NCache recursos usando um aplicativo de contêiner fácil de gerenciar. Você pode começar com um único cluster Kubernetes com diferentes implantações de aplicativos e, principalmente, o NCache implantação de cluster. Atualmente, os aplicativos de contêiner baseados em Docker em execução no ambiente são:
- Aplicação Web Java
- Aplicativo Java Web Services
- ASP.NET Core Formulário on line
Esses aplicativos têm NCache instalado; especificamente, os aplicativos Java usam clientes Java de NCache, enquanto uma implantação separada para ASP.NET core aplicativos usam uma imagem do Docker em Linux e empregar o .NET Core cliente para NCache comunicação. Para implantação do lado do servidor, ele usa um Docker baseado em Linux imagem para NCache disponível em Hub do Docker.
Os aplicativos se conectam a um serviço chamado Cache Discovery Service – um serviço headless dentro do Kubernetes. Serve para gerenciar o roteamento e alocação de recursos que fazem parte do NCache conjunto. Da mesma forma, um gateway de monitoramento remoto também se conecta a esse serviço para permitir o monitoramento do cluster de cache de fora do Kubernetes para quaisquer operações como NCache gerenciamento de cache.
Ao trabalhar com o Kubernetes, usamos pods. Essencialmente, no Kubernetes, os IPs são atribuídos a pods. Um pod é um objeto do Kubernetes que encapsula a instância de contêiner subjacente enquanto atua como uma camada virtual sobre um contêiner. Um único pod pode ter vários contêineres, mas é altamente recomendável que um único pod contenha um único contêiner. Resumindo, toda a alocação de recursos em um cluster Kubernetes ocorre no pod em vez do contêiner.
O diagrama a seguir fornece uma representação geral do fluxo de arquitetura do NCache desdobramento, desenvolvimento:
NCache Adicionar ao carrinho Introdução ao Docker DockerLinux
Etapa 1: implantar NCache Servidores
Implantando NCache servidores no Red Hat OpenShift requer que você crie um arquivo YAML com seu NCache configurações. Essas implantações YAML contêm todos os componentes do seu aplicativo e são muito fáceis de implantar. Certifique-se de ajustar esses componentes de acordo com os requisitos de sua aplicação. Abaixo está o arquivo YAML de amostra com as configurações:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
apiVersion: apps/v1beta1 kind: Deployment metadata: name: ncache labels: app: ncache spec: replicas: 2 template: metadata: labels: app: ncache spec: containers: - name: ncache image: docker.io/alachisoft/ncache:latest ports: - name: management-tcp containerPort: 8250 - name: management-http containerPort: 8251 - name: client-port containerPort: 9800 |
O Kubernetes está evoluindo muito rapidamente e continua apresentando novos recursos, com esses recursos tornando-se rapidamente parte da API principal. No entanto, vários recursos não seguem essa trajetória devido ao seu caráter experimental. Então, definimos a “apiVersion” de acordo. A versão usada aqui é “v1beta1”, que depende da versão subjacente do Kubernetes. Portanto, verifique se você não está usando uma versão obsoleta.
As portas mencionadas no arquivo de implantação incluem o seguinte:
- port 8250: Para gerenciamento TCP.
- port 8251: Para gerenciamento e monitoramento de HTTP.
- port 9800: Para comunicação entre os aplicativos cliente que se conectam ao NCache.
Primeiro, definimos kind como implantação. A próxima coisa é o número de réplicas (2 neste caso), e você pode aumentá-lo de acordo com sua lógica. Para obter mais detalhes sobre réplicas de pods, consulte SUA PARTICIPAÇÃO FAZ A DIFERENÇA. Para contêineres, você precisa especificar a imagem do Docker fornecendo o caminho do NCache Enterprise Imagem do servidor Linux Docker disponível em Hub do Docker. O comando geral para extrair esta imagem do Docker é:
1 |
docker pull alachisoft/ncache:latest |
Depois de criar o arquivo YAML com todas as configurações necessárias, você precisa importar o arquivo usando o console web do OpenShift. Crie um novo projeto com um nome de sua escolha e importe o arquivo YAML para o projeto que contém o NCache implantações. Você também pode usar o Ferramenta CLI do OpenShift, que mostra o status das implantações.
NCache Adicionar ao carrinho NCache Cenários de implantação Docker de Encaminhamento de Porta
Etapa 2: criar serviço de descoberta de cache
Conforme estabelecido anteriormente, o Cache Discovery Service é responsável por rotear todos os NCache comunicação com os pods subjacentes. Este serviço de descoberta atua como o gateway de comunicação central entre os aplicativos cliente e NCache clusters de cache que fazem parte do cluster Kubernetes. Além disso, é um serviço headless e recupera os endereços IP do subjacente NCache pods de servidor de cache no cluster Kubernetes.
Para criar tal serviço, você deve construir outro YAML, conforme demonstrado abaixo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
apiVersion: v1 kind: Service metadata: name: cacheserver labels: app: cacheserver spec: clusterIP: None sessionAffinity: ClientIP selector: app: ncache ports: - name: management-tcp port: 8250 targetPort: 8250 - name: client-port port: 9800 targetPort: 9800 |
Aqui é nomeado servidor de cache. No entanto, você pode consultá-lo conforme apropriado para suas configurações. Neste caso, o “espécie” é serviço. Além disso, contém as portas com o nome e os números das portas necessárias para a comunicação junto com o serviço de descoberta. A “sessionAffinity” é definida como o ClientIP – garantindo que as operações de gerenciamento e monitoramento fora do cluster Kubernetes sejam aderentes a um dos pods no momento determinado. Após criar o arquivo YAML, importe este arquivo através do assistente, e ele automaticamente constrói seu serviço de descoberta de cache, conforme a imagem abaixo.
Etapa 3: criar gateway de gerenciamento
Esta etapa organiza o gerenciamento e o monitoramento das operações fora do cluster Kubernetes. Todas as operações de gerenciamento que ocorrem são roteadas por meio desse gateway para esse serviço de descoberta de cache e isso, por sua vez, também o ajudará a gerenciar e monitorar todos os pods subjacentes.
Para criar o gateway de gerenciamento:
- Vá para a seção “Networking” do portal OpenShift.
- Escolha uma "Rota" no menu suspenso.
- Crie uma rota para o serviço headless – também conhecido como Cache Discovery Service.
- Forneça um nome para a rota e selecione o serviço “cacheserver” criado na etapa anterior. Além disso, forneça a porta de destino 8251 para gerenciamento e monitoramento fora do cluster Kubernetes.
5. Depois de criado, escolha o caminho do local redirecionando para NCache Web Manager em um dos pods do servidor de cache para "Localização".
Etapa 4: criar um cluster de cache
Agora que implantamos com sucesso NCache no Red Hat OpenShift, podemos criar um cluster de cache usando NCache Web Manager.
Crie o cluster de cache seguindo as etapas no documentação e certifique-se de que os IPs usados sejam os IPs de seus pods de cache. Para obter os IPs dos pods de cache, vá para a seção “Pods” no console da Web do OpenShift ou na ferramenta de linha de comando. Uma vez o criação de cache estiver completo, inicie o cache usando NCache Web Manager.
NCache Adicionar ao carrinho Criar um cluster de cache Operação de gerenciamento de cache
Etapa 5: implantar aplicativos cliente
Agora você pode implantar e executar seus aplicativos cliente criando um arquivo YAML contendo a implantação para clientes. Importamos esse arquivo de implantação usando o portal OpenShift. As aplicações clientes podem ser .NET Core ou Java, conforme necessário.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
apiVersion: apps/v1beta1 kind: Deployment metadata: name: clientapp labels: app: clientapp spec: replicas: 1 template: metadata: labels: app: clientapp spec: containers: - name: clientapp image: your-client-application-repo-path ports: - name: management-tcp containerPort: 8250 |
Aqui, para conectar ao cache, não precisamos dos endereços IP dos pods do cache. O serviço de descoberta de cache que criamos com o nome “cacheServer” fornece o endereço IP dos pods de cache para nosso aplicativo cliente em tempo de execução. o NCache O cliente tem essa lógica integrada para conversar com seu serviço nomeado e descobrir automaticamente todos os recursos subjacentes na plataforma OpenShift Kubernetes.
Portanto, o NCache cliente é inteligente o suficiente para se conectar a um cluster totalmente conectado fornecendo o nome do serviço.
Etapa 6: Monitoramento NCache Agrupar
NCache vem com várias ferramentas para ajudá-lo a monitorar seu cluster de cache. O monitoramento do cluster de cache fornece informações em tempo real sobre a integridade do cluster, a atividade do cache, o número de operações ocorrendo e muito mais. Você também pode monitorar seu cluster de cache para tomar medidas adequadas para interrupção de rede, sobrecarga de memória e muito mais.
NCache Web Manager é uma ferramenta de gestão disponibilizada pela NCache para configurar os caches e monitorar seu desempenho. De forma similar, NCache Monitor da Web é uma ferramenta de gerenciamento da web que permite monitorar o desempenho do cache em tempo real.
Etapa 7: dimensionamento NCache Agrupar
NCache é um sistema de cache distribuído com uma arquitetura muito escalável. Assim, para alcançar uma maior capacidade e funcionalidade para NCache em seu ambiente OpenShift, você pode dimensionar seu NCache cluster adicionando mais pods. Existem várias maneiras de fazer isso. Começando com o portal da Web do OpenShift:
- Vá para “Implantações”.
- Clique no botão “Editar contagem”.
- Aumente o número de pods clicando no botão “+”.
Continuar com essas etapas automaticamente aumenta a contagem de réplicas em seu arquivo de implantação, de acordo com o número de pods adicionados. Também pode ocorrer usando Ferramenta OpenShift CLI (oc).
Observe que, ao adicionar esses pods, você cria outro pod, mas ele não se torna parte do cluster sozinho. Então, para adicionar servidores de cache para um cluster de cache em execução, vá para a página Server Nodes em NCache Web Manager e adicione um IP de servidor para adicionar esse nó de servidor no cluster. Um nó de servidor é adicionado ao seu cluster de cache em tempo de execução e melhora drasticamente o desempenho com NCacheé fácil escalar.
NCache Adicionar ao carrinho NCache Implantação no OpenShift Use NCache no OpenShift
Conclusão
Essencialmente, NCache a implantação no Red Hat OpenShift é um procedimento passo a passo fácil de seguir. A conteinerização é uma necessidade tecnológica emergente do mundo de hoje pela natureza leve que oferece. NCache é uma solução de cache distribuído extremamente rápida e, com o Red Hat OpenShift, você pode gerenciar facilmente seu cluster Kubernetes conteinerizado. Então, entre no mundo da NCache para executar seus aplicativos no cluster Kubernetes com apenas algumas etapas fáceis.
NCache Adicionar ao carrinho Baixar NCache Comparação de edições