Le développement, le déploiement et la gestion des applications sont devenus plus faciles avec l'introduction de la conteneurisation, c'est pourquoi le déploiement dans le cloud gagne en popularité. Azure, étant le meilleur du secteur, fournit le déploiement Kubernetes le plus rapide et le plus facile à utiliser sous la forme de Azure Kubernetes Service (AKS).
Pour améliorer les performances de l'application dans l'environnement Azure Kubernetes, NCache doit être déployé et utilisé à l'intérieur du cluster AKS. NCache est une solution de mise en cache distribuée en mémoire qui augmente de plusieurs fois les performances de votre application à mesure que votre cache est plus proche de l'application. En utilisant NCache, qui est distribué par nature, vous permet d'ajouter autant de serveurs que nécessaire pour améliorer la latence, induisant ainsi une évolutivité extrême dans AKS.
NCache Détails Déploiements de conteneurs NCache Documents AKS
NCache Architecture de déploiement dans Azure Kubernetes Service
La disposition générale de NCacheLe déploiement de dans Azure Kubernetes Service se présente comme suit : vous avez des applications connectées à un headless Service de découverte de cache. Ce service est chargé d'autoriser les clients à accéder aux pods de cluster qui exécutent le service de cache. Il y a aussi un Service de passerelle qui fournit un équilibreur de charge pour ramener le trafic vers des pods spécifiques en fonction de l'adresse IP client fournie.
Un pod est une unité de base pour le service de construction qui garantit que tous les conteneurs se trouvent sur le même hôte. Un pod contient un ou plusieurs conteneurs qui partagent des ressources telles que la RAM, le processeur et le réseau, mais il est préférable d'avoir un conteneur par pod.
Le flux de requêtes et la structure d'un cluster AKS avec NCache déployé dans celui-ci est illustré dans le schéma ci-dessous.
Pour commencer à utiliser de nombreuses fonctionnalités prêtes à l'emploi fournies par NCache dans votre cluster Azure Kubernetes Service, vous devez déployer NCache et les services requis dans une configuration AKS. Les étapes fournies ci-dessous vous aideront à démarrer dans le déploiement et l'utilisation NCache dans le cluster Azure Kubernetes.
NCache Détails Déploiements de conteneurs NCache Documents AKS
Étape 1: Créer NCache Déploiement
Dans Azure Kubernetes Service, chaque fois que nous parlons de déployer une application ou un service, nous devons créer un fichier YAML. Ce fichier YAML contient toutes les informations nécessaires pour créer un pod dans votre cluster AKS. Laissez-moi vous montrer à quoi devrait ressembler votre fichier YAML pour créer avec succès un pod contenant le NCache après-vente.
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 |
Pour que le cluster comprenne que ce que vous créez va être un pod de déploiement, vous devez mentionner "kind" comme Déploiement. Ce dont vous devez vous méfier ici, c'est de la version sous-jacente de Kubernetes sous la balise "apiVersion". Kubernetes ne cesse de modifier ce numéro de version, vous devez donc être prudent lors du déploiement NCache que ce numéro de version est défini sur le numéro de version correspondant de Kubernetes sous-jacent.
Le nombre de "répliques" ici indique le nombre de pods que ce déploiement va avoir, qui dans ce cas est de 2. Vous pouvez modifier cette valeur selon vos besoins. Sous la balise "containers", vous indiquez le chemin d'accès au NCache Enterprise Image Docker du serveur. Vous pouvez trouver ce chemin sur Docker Hub.
NCache Détails Déploiements de conteneurs NCache Documents AKS
Certaines des autres exigences que vous devez connaître pour déployer NCache dans le cluster Azure Kubernetes sont des informations sur les ports. Pour que vos clients interagissent avec succès NCache serveurs, vous devez spécifier le numéro de port du conteneur dans votre fichier YAML.
Ce sont principalement les exigences de base que vous devez comprendre pour déployer avec succès NCache dans un cluster AKS. Une fois ce fichier YAML créé, vous l'utilisez pour créer des pods dans AKS.
La création de ce fichier YAML est tout ce que vous avez à faire pour déployer avec succès NCache dans un cluster AKS. Exécutez la commande suivante dans Azure Cloud Shell et le tour est joué ! ton NCache déploiement est désormais un pod en cours d'exécution à part entière dans Azure Kubernetes Service !
1 |
kubectl create -f [dir]/ncache.yaml |
Étape 2: Créer NCache Service Découverte
En dehors du cluster Kubernetes, lorsque vous parlez de clients de cache se connectant à des serveurs de cache, il est tout à fait compréhensible qu'ils aient besoin des adresses IP des serveurs de cache. Ces adresses IP sont statiques et connues de chaque client faisant partie de ce système. Mais lorsque vous prenez les mêmes éléments et que vous les placez dans l'environnement Kubernetes, l'implémentation change. Dans un cluster Kubernetes, chaque pod de déploiement se voit attribuer une adresse IP dynamique au moment de l'exécution, inconnue des applications clientes. Cette implémentation empêche vos applications clientes d'identifier NCache serveurs pour atteindre les performances et l'évolutivité.
Pour contrer ce problème, Kubernetes vous permet de créer un service fixe au lieu d'être dynamique. Donc, en utilisant cela, vous devez créer un service de découverte sans tête qui permet à votre application cliente d'accéder sans effort au pod sur lequel NCache service est en cours d'exécution. Les informations fournies dans ce service, sous forme de fichier YAML, permettent à toutes les applications clientes de se connecter à ce service. Ce service se charge alors d'affecter un serveur à chaque demande de connexion client ; tout en restant à l'intérieur du cluster AKS.
Alors, sans plus tarder, commençons à créer le fichier YAML prêt à être déployé.
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 |
Votre "genre" doit être un service avec "apiVerison" défini sur la version sous-jacente de Kubernetes. Pour en faire un service sans tête, vous devez définir la balise "clientIP" sur aucun qui spécifie que votre service de découverte ne se verra attribuer aucune adresse IP publique. Le reste sont les ports requis pour NCache clients de communiquer avec le NCache les serveurs.
À partir de là, vous accédez à Azure Cloud Shell et exécutez la commande fournie pour disposer d'un service de découverte sans tête entièrement fonctionnel dans votre cluster Kubernetes.
1 |
kubectl create -f [dir]/discoveryservice.yaml |
NCache Détails Déploiements de conteneurs NCache Documents AKS
Étape 3: Créer NCache Service de passerelle
À l'intérieur d'un cluster AKS, tout ce qui se passe est confiné au cluster. Et pour vous d'utiliser NCache à partir de votre machine locale, il doit y avoir un moyen par lequel NCache les opérations de gestion peuvent être effectuées au sein de ce cluster. C'est exactement pourquoi nous créons un service de passerelle ; un service chargé d'accéder, de gérer et de surveiller NCache depuis l'extérieur du service Azure Kubernetes.
Encore une fois, pour utiliser cette fonctionnalité dans le cluster, vous avez besoin d'un pod en cours d'exécution. Pour créer un pod en cours d'exécution, vous devez créer un fichier YAML contenant toutes les balises et valeurs nécessaires. Alors, commençons par écrire un fichier YAML pour créer un service de passerelle pour NCache la gestion.
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 |
Ici, pour que votre cluster Azure Kubernetes Service sache que ce pod agira comme un service dans un but particulier au lieu de déployer quoi que ce soit, vous devez indiquer le « type » en tant que après-vente. Ce fichier doit également mentionner les ports dont un service de passerelle a besoin pour fonctionner sans erreur. Tag "type" comme Équilibreur de charge indique que ce service de passerelle sera un équilibreur de charge externe qui équilibre les demandes des clients sur plusieurs serveurs. Le point que vous devez vous assurer est que la "sessionAffinity" est définie sur ClientIP pour s'assurer qu'un client est redirigé vers le même serveur à chaque fois.
C'est à peu près toutes les informations dont vous avez besoin pour créer un service de passerelle pour votre NCache déploiement. Ce que vous devez faire maintenant est d'exécuter ce qui suit engendrent La commande d'Azure Shell et AKS créeront et démarreront ce service pour vous.
1 |
kubectl create -f [dir]/gatewayservice.yaml |
NCache Détails Déploiements de conteneurs NCache Documents AKS
Étape 4 : Créer un cluster de cache
Ce que vous avez jusqu'à présent fonctionne NCache serveurs, un service de passerelle et un service de découverte pour NCache clients. Ce dont vous avez besoin maintenant pour profiter pleinement NCache dans votre service Azure Kubernetes consiste à créer un cluster de cache dans votre cluster Kubernetes ; qui est simple.
Vous pouvez effectuer cette étape en utilisant NCache Web Manager qui est intégré avec le NCache déploiement. Les étapes nécessaires pour créer avec succès un cluster et y ajouter des nœuds de serveur sont fournies dans NCache documents sur Créer un cache en cluster. La seule difficulté de cette étape est l'adresse IP des serveurs dont vous avez besoin. Celles-ci doivent être les mêmes adresses IP que le cluster Kubernetes a attribuées à vos pods de cache. Vous pouvez obtenir ces adresses IP en exécutant le obtenir des gousses commande dans Azure Cloud Shell.
Étape 5 : Créer des déploiements d'applications
Pour déployer et exécuter des applications clientes (que ce soit .NET ou Java) dans votre cluster, vous devez créer un fichier YAML. Votre fichier YAML de déploiement client doit ressembler à ceci :
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 |
Le "nodeSelector" mentionné dans le fichier pourrait être fenêtres car Kubernetes prend en charge les deux systèmes d'exploitation. De plus, vous avez la possibilité de déployer plusieurs applications clientes dans le même cluster en fonction de vos besoins. Pour chaque application cliente, vous devez créer un fichier YAML similaire afin que chaque application s'exécute sur un pod distinct.
Exécutez la commande suivante dans le Cloud Shell fourni par Microsoft Azure pour créer et démarrer avec succès votre pod d'application client.
1 |
kubectl create -f [dir]/client.yaml |
Le fourni NCache client est extrêmement intelligent lorsqu'il s'agit de créer des connexions au sein du cluster. Tout ce dont ce client a besoin est le nom du service auquel il doit parler pour qu'il découvre automatiquement tous les sous-jacents. NCache nœuds de cluster pour un cache donné présent dans votre cluster Azure Kubernetes.
L'avantage le plus réalisable de l'utilisation NCache dans AKS est que vous n'avez pas besoin de fournir les adresses IP des pods de cache pour la connexion client. Le service de découverte sans tête que vous avez créé auparavant est chargé de fournir les adresses IP des pods de cache à votre application cliente lors de l'exécution.
NCache Détails Déploiements de conteneurs NCache Documents AKS
Étape 6: Surveiller NCache Grappe
Maintenant que vos services, serveurs et applications sont opérationnels, vous avez besoin d'un moyen de surveiller l'activité du cache à l'intérieur du cluster. Pour cette raison précise, NCache est livré avec divers outils pour vous aider à surveiller votre cluster de cache. Ces outils vous aident à avoir une meilleure idée de la santé, des performances, des problèmes de réseau et de la connectivité de votre cluster.
NCache fournit une Moniteur Web qui affiche graphiquement les performances en temps réel de votre cache.
De même, vous avez un Statistiques du cache option qui fournit une analyse plus détaillée de l'activité de votre cache.
Étape 7 : mise à l'échelle NCache Grappe
NCache, étant un cache distribué extrêmement évolutif, vous permet d'ajouter et de supprimer des nœuds de serveur lors de l'exécution pour améliorer les performances globales de NCache. Lors de la surveillance de votre cluster, si vous pensez que les requêtes/s sont bien supérieures au nombre de serveurs disponibles pour traiter ces requêtes, vous pouvez ajouter un ou plusieurs nœuds de cache dans votre déploiement.
Il existe plusieurs façons de mettre à l'échelle le NCache cluster dans votre déploiement AKS. Vous pouvez utiliser le NCache Gestionnaire Web ou NCache outil PowerShell ou même l'outil NCache Fichier YAML. Pour en savoir plus sur la manière dont ces méthodes sont utilisées pour ajouter et supprimer des nœuds du cluster, consultez notre documentation sur Ajout de serveurs de cache dans un cluster AKS ainsi que le Suppression des serveurs de cache d'un cluster AKS.
NCache Détails Déploiements de conteneurs NCache Documents AKS
Qu'avons-nous appris?
De ce que nous avons vu, nous pouvons déduire qu'Azure Kubernetes Service est un orchestrateur de conteneurs entièrement intégré et géré qui automatise les mises à niveau et les correctifs. Pour atteindre l'évolutivité et la haute disponibilité dans un cluster AKS, où résident vos applications et vos ressources, vous devez déployer NCache dedans. NCache est un cache distribué en mémoire évolutif qui offre des performances et une évolutivité élevées au sein de votre cluster AKS.
Pour obtenir une illustration détaillée étape par étape du déploiement NCache dans AKS, reportez-vous à notre documentation sur Déploiement NCache dans le service Azure Kubernetes.
Pouvez-vous s'il vous plaît utiliser des formulations propres, puis des phrases fantaisistes plus grandes et plus longues ? C'est vraiment pénible de lire les articles et documentations de votre site web…