Thierry  Perret

Thierry Perret

1661321700

Comment Utiliser Kubernetes Pour Faire Facilement Votre Application

Avec les progrès du monde DevOps, chaque organisation a commencé à adopter le modèle des microservices. Docker a aidé les organisations à normaliser le processus de microservices, du code à l'emballage en passant par l'expédition. Alors que Docker a facilité l'emballage et le code d'expédition avec la conteneurisation, Kubernetes est venu comme un sauveur dans la gestion de ces conteneurs Docker lorsqu'ils sont passés de un à mille.

Kubernetes est devenu la plate-forme standard pour orchestrer les conteneurs et déployer des applications. Faire évoluer une application signifie essentiellement s'assurer qu'elle peut gérer plus d'utilisateurs et leur charge aux heures de pointe en divisant sa charge de travail et en la répartissant sur plusieurs nœuds. Aujourd'hui, voyons comment nous pouvons faire évoluer nos applications sur Kubernetes avec différentes techniques.

Mise à l'échelle des applications sur Kubernetes

Lors du déploiement d'applications dans Kubernetes, plusieurs décisions de conception doivent être prises en compte. L'un des aspects les plus importants est la façon dont vous pouvez faire évoluer votre application à l'aide de Kubernetes et la technique à utiliser. La mise à l'échelle d'une application dans Kubernetes nécessite une approche différente de celle des autres services. Kubernetes Autoscaling fournit un mécanisme permettant d'augmenter ou de réduire automatiquement le nombre de pods d'une application en fonction de l'utilisation des ressources ou d'autres déclencheurs définis par l'utilisateur.

1. Surveillez votre application pour savoir quand la mettre à l'échelle :

Vous devez vérifier deux éléments clés lorsque vous surveillez votre application. Tout d'abord, vous souhaitez garder un œil sur le nombre d'utilisateurs qui interagissent avec votre application. Si de nombreuses personnes accèdent à votre application et interagissent avec elle, mais que l'application répond lentement, vous souhaitez évoluer pour vous assurer que les utilisateurs peuvent toujours faire leur travail.

Deuxièmement, vous souhaitez examiner l'utilisation du processeur et de la mémoire de vos nœuds. En général, vous souhaitez maintenir l'utilisation de la mémoire en dessous de 70 % et l'utilisation du processeur en dessous de 80 %. Vous devrez peut-être évoluer si votre application utilise beaucoup plus que cela. Il existe de nombreuses façons de surveiller votre application.

2. Utilisez des fournisseurs de cloud et des limites de ressources pour vous aider à automatiser votre processus de mise à l'échelle.

La plupart des fournisseurs de cloud offrent une sorte de fonctionnalité de mise à l'échelle automatique. Ces systèmes utilisent une variété de métriques - souvent les mêmes que celles que vous pouvez surveiller vous-même - pour déterminer quand démarrer et arrêter de nouvelles instances. Beaucoup de ces systèmes utilisent également des limites de ressources pour vous aider à automatiser votre processus de mise à l'échelle. Les limites de ressources sont un moyen de définir une valeur maximale sur une métrique. Le système déclenchera une action si une métrique dépasse cette valeur. Par exemple, si votre application utilise une certaine quantité de RAM ou de processeur et que ces métriques dépassent leurs limites, la fonctionnalité de mise à l'échelle automatique aidera à faire évoluer l'application.

Si l'application utilise trop d'une ressource spécifique - comme la mémoire - mais n'utilise pas assez d'une ressource différente - comme le processeur - vous pouvez définir une limite de ressources pour la première ressource et faire en sorte que la fonctionnalité de mise à l'échelle automatique surveille la deuxième ressource. Si la deuxième métrique dépasse la limite, la fonctionnalité d'autoscaling peut répondre en ajoutant d'autres instances de l'application.

3. Garder un pourcentage tampon des applications critiques

Lorsque vous pensez qu'une application ou un processus particulier est essentiel pour l'entreprise, vous souhaitez être plus sûr et disposer d'un tampon supplémentaire en termes de répliques de pod et d'autres ressources afin qu'il ne tombe pas en panne et n'affecte pas le fonctionnement de l'entreprise.

Qu'est-ce que l'autoscaling dans Kubernetes ?

L'autoscaling consiste à configurer votre application pour ajuster automatiquement le nombre de pods en fonction de la demande actuelle et de la disponibilité des ressources. Par exemple, si trop peu de pods sont en cours d'exécution, le système peut créer automatiquement plus de pods pour répondre à la demande. D'autre part, vous pouvez également réduire s'il y a trop de pods. Il existe trois types d'autoscaling dans Kubernetes : l'autoscaler de pod horizontal, l'autoscaler de pod vertical et l'autoscaler de cluster. Plongeons-nous et comprenons chaque option en détail.

Autoscaler de pod horizontal

Crédits image : stacksimplify

HPA (Horizontal Pod Autoscaler) permet la mise à l'échelle automatique du nombre de pods dans un contrôleur de réplication ou un déploiement particulier. Un contrôleur de réplication est un groupe logique de pods créés ensemble et traités comme une seule unité. D'autre part, un déploiement est un groupe logique de pods créés en tant qu'un ou plusieurs pods. HPA est configuré en tant que ressource Kubernetes et son état est géré en tant que ressource distincte. Lorsque de nouveaux pods sont créés, le HPA met à jour l'état pour refléter la situation actuelle.

Autoscaler de pod vertical

Crédits image : vol

VPA (Vertical Pod Autoscaler) permet la mise à l'échelle automatique des limites de ressources CPU et mémoire d'un type de pod particulier (en fonction du nom dans le champ de type). La ressource VPA a un champ de mise à l'échelle (ou mise à l'échelle automatique) et un champ cible (ou utilisation cible). L'échelle détermine le nombre maximal de pods de ce type autorisés dans le cluster. L'utilisation cible détermine le pourcentage d'utilisation des ressources par rapport à la limite. Par exemple, vous avez un type de pods qui consomme 10 % du processeur. Un VPA avec une utilisation cible définie sur 10 % fera évoluer ce type de pods pour faire correspondre leur utilisation du processeur à la quantité maximale autorisée par le VPA (100 %).

Autoscalers de cluster

Crédits image : Ajay sur Medium

L'autoscaler de cluster adapte le nombre de pods dans un cluster en fonction de l'utilisation des ressources observée et des métriques définies par l'utilisateur. Il est conçu pour augmenter ou réduire le nombre de pods en fonction de métriques telles que l'utilisation du processeur dans un espace de noms particulier. L'autoscaler de cluster est configuré en tant que ressource Kubernetes avec une échelle (nombre maximal de pods) et des métriques (métriques définies par l'utilisateur). Lorsque de nouveaux pods sont créés ou supprimés, l'autoscaler met à jour l'état pour refléter la situation actuelle.

Mise à l'échelle de votre application à l'aide de Harness

Harness est une plate-forme de livraison continue moderne et fonctionne bien avec vos déploiements Kubernetes . Sélectionnez le module de livraison continue et configurez l'étape et les étapes pour déployer votre application sur Kubernetes.

Supposons que vous ayez votre deployment.yamlfichier comme ci-dessous,

apiVersion: apps/v1
kind: Deployment
metadata:
 labels:
   app: todo-app
 name: todo-app
spec:
 replicas: 2
 selector:
   matchLabels:
     app: todo-app
 template:
   metadata:
     labels:
       app: todo-app
   spec:
     containers:
     - image: thoba/todo-list-app
       name: todo-app
       ports:
       - containerPort: 8080

Notez que votre nombre de répliques est de 2.

Maintenant, configurons notre déploiement pour faire évoluer notre application.

Dans l'étape Ajouter, sélectionnez Kubernetes et mettre à l'échelle.

Ajoutez les instances attendues et les détails de la charge de travail.

Nous aimerions augmenter notre déploiement de 2 à 4 pods en cours d'exécution.

Alors, appliquez les modifications, enregistrez le pipeline et exécutez-le.

Après l'exécution réussie du pipeline, vous devriez pouvoir voir vos réplicas de pod passer de 2 à 4 comme spécifié.

Vous pouvez le vérifier en exécutant la commandekubectl get deployment

Toutes nos félicitations! Vous venez de faire évoluer vos pods de réplique de déploiement de 2 à 4 avec succès à l'aide de Harness CD .

Conclusion

La mise à l'échelle d'une application dans Kubernetes est un concept essentiel à comprendre - et nécessaire. Par exemple, si une application reçoit beaucoup de trafic, elle devra peut-être évoluer pour gérer toutes ces demandes. Cependant, avant de mettre à l'échelle votre application, assurez-vous de comprendre les stratégies dont vous disposez et quelle est la meilleure pour votre application. Kubernetes Autoscaling a été le concept le plus discuté, et j'espère que cet article vous a aidé à comprendre les différentes techniques pour faire évoluer votre application à l'aide de Kubernetes.

Lien : https://faun.pub/scaling-your-application-using-kubernetes-9ad0d6bcf0d6

#kubernetes

What is GEEK

Buddha Community

Comment Utiliser Kubernetes Pour Faire Facilement Votre Application
Christa  Stehr

Christa Stehr

1602964260

50+ Useful Kubernetes Tools for 2020 - Part 2

Introduction

Last year, we provided a list of Kubernetes tools that proved so popular we have decided to curate another list of some useful additions for working with the platform—among which are many tools that we personally use here at Caylent. Check out the original tools list here in case you missed it.

According to a recent survey done by Stackrox, the dominance Kubernetes enjoys in the market continues to be reinforced, with 86% of respondents using it for container orchestration.

(State of Kubernetes and Container Security, 2020)

And as you can see below, more and more companies are jumping into containerization for their apps. If you’re among them, here are some tools to aid you going forward as Kubernetes continues its rapid growth.

(State of Kubernetes and Container Security, 2020)

#blog #tools #amazon elastic kubernetes service #application security #aws kms #botkube #caylent #cli #container monitoring #container orchestration tools #container security #containers #continuous delivery #continuous deployment #continuous integration #contour #developers #development #developments #draft #eksctl #firewall #gcp #github #harbor #helm #helm charts #helm-2to3 #helm-aws-secret-plugin #helm-docs #helm-operator-get-started #helm-secrets #iam #json #k-rail #k3s #k3sup #k8s #keel.sh #keycloak #kiali #kiam #klum #knative #krew #ksniff #kube #kube-prod-runtime #kube-ps1 #kube-scan #kube-state-metrics #kube2iam #kubeapps #kubebuilder #kubeconfig #kubectl #kubectl-aws-secrets #kubefwd #kubernetes #kubernetes command line tool #kubernetes configuration #kubernetes deployment #kubernetes in development #kubernetes in production #kubernetes ingress #kubernetes interfaces #kubernetes monitoring #kubernetes networking #kubernetes observability #kubernetes plugins #kubernetes secrets #kubernetes security #kubernetes security best practices #kubernetes security vendors #kubernetes service discovery #kubernetic #kubesec #kubeterminal #kubeval #kudo #kuma #microsoft azure key vault #mozilla sops #octant #octarine #open source #palo alto kubernetes security #permission-manager #pgp #rafay #rakess #rancher #rook #secrets operations #serverless function #service mesh #shell-operator #snyk #snyk container #sonobuoy #strongdm #tcpdump #tenkai #testing #tigera #tilt #vert.x #wireshark #yaml

Thierry  Perret

Thierry Perret

1661321700

Comment Utiliser Kubernetes Pour Faire Facilement Votre Application

Avec les progrès du monde DevOps, chaque organisation a commencé à adopter le modèle des microservices. Docker a aidé les organisations à normaliser le processus de microservices, du code à l'emballage en passant par l'expédition. Alors que Docker a facilité l'emballage et le code d'expédition avec la conteneurisation, Kubernetes est venu comme un sauveur dans la gestion de ces conteneurs Docker lorsqu'ils sont passés de un à mille.

Kubernetes est devenu la plate-forme standard pour orchestrer les conteneurs et déployer des applications. Faire évoluer une application signifie essentiellement s'assurer qu'elle peut gérer plus d'utilisateurs et leur charge aux heures de pointe en divisant sa charge de travail et en la répartissant sur plusieurs nœuds. Aujourd'hui, voyons comment nous pouvons faire évoluer nos applications sur Kubernetes avec différentes techniques.

Mise à l'échelle des applications sur Kubernetes

Lors du déploiement d'applications dans Kubernetes, plusieurs décisions de conception doivent être prises en compte. L'un des aspects les plus importants est la façon dont vous pouvez faire évoluer votre application à l'aide de Kubernetes et la technique à utiliser. La mise à l'échelle d'une application dans Kubernetes nécessite une approche différente de celle des autres services. Kubernetes Autoscaling fournit un mécanisme permettant d'augmenter ou de réduire automatiquement le nombre de pods d'une application en fonction de l'utilisation des ressources ou d'autres déclencheurs définis par l'utilisateur.

1. Surveillez votre application pour savoir quand la mettre à l'échelle :

Vous devez vérifier deux éléments clés lorsque vous surveillez votre application. Tout d'abord, vous souhaitez garder un œil sur le nombre d'utilisateurs qui interagissent avec votre application. Si de nombreuses personnes accèdent à votre application et interagissent avec elle, mais que l'application répond lentement, vous souhaitez évoluer pour vous assurer que les utilisateurs peuvent toujours faire leur travail.

Deuxièmement, vous souhaitez examiner l'utilisation du processeur et de la mémoire de vos nœuds. En général, vous souhaitez maintenir l'utilisation de la mémoire en dessous de 70 % et l'utilisation du processeur en dessous de 80 %. Vous devrez peut-être évoluer si votre application utilise beaucoup plus que cela. Il existe de nombreuses façons de surveiller votre application.

2. Utilisez des fournisseurs de cloud et des limites de ressources pour vous aider à automatiser votre processus de mise à l'échelle.

La plupart des fournisseurs de cloud offrent une sorte de fonctionnalité de mise à l'échelle automatique. Ces systèmes utilisent une variété de métriques - souvent les mêmes que celles que vous pouvez surveiller vous-même - pour déterminer quand démarrer et arrêter de nouvelles instances. Beaucoup de ces systèmes utilisent également des limites de ressources pour vous aider à automatiser votre processus de mise à l'échelle. Les limites de ressources sont un moyen de définir une valeur maximale sur une métrique. Le système déclenchera une action si une métrique dépasse cette valeur. Par exemple, si votre application utilise une certaine quantité de RAM ou de processeur et que ces métriques dépassent leurs limites, la fonctionnalité de mise à l'échelle automatique aidera à faire évoluer l'application.

Si l'application utilise trop d'une ressource spécifique - comme la mémoire - mais n'utilise pas assez d'une ressource différente - comme le processeur - vous pouvez définir une limite de ressources pour la première ressource et faire en sorte que la fonctionnalité de mise à l'échelle automatique surveille la deuxième ressource. Si la deuxième métrique dépasse la limite, la fonctionnalité d'autoscaling peut répondre en ajoutant d'autres instances de l'application.

3. Garder un pourcentage tampon des applications critiques

Lorsque vous pensez qu'une application ou un processus particulier est essentiel pour l'entreprise, vous souhaitez être plus sûr et disposer d'un tampon supplémentaire en termes de répliques de pod et d'autres ressources afin qu'il ne tombe pas en panne et n'affecte pas le fonctionnement de l'entreprise.

Qu'est-ce que l'autoscaling dans Kubernetes ?

L'autoscaling consiste à configurer votre application pour ajuster automatiquement le nombre de pods en fonction de la demande actuelle et de la disponibilité des ressources. Par exemple, si trop peu de pods sont en cours d'exécution, le système peut créer automatiquement plus de pods pour répondre à la demande. D'autre part, vous pouvez également réduire s'il y a trop de pods. Il existe trois types d'autoscaling dans Kubernetes : l'autoscaler de pod horizontal, l'autoscaler de pod vertical et l'autoscaler de cluster. Plongeons-nous et comprenons chaque option en détail.

Autoscaler de pod horizontal

Crédits image : stacksimplify

HPA (Horizontal Pod Autoscaler) permet la mise à l'échelle automatique du nombre de pods dans un contrôleur de réplication ou un déploiement particulier. Un contrôleur de réplication est un groupe logique de pods créés ensemble et traités comme une seule unité. D'autre part, un déploiement est un groupe logique de pods créés en tant qu'un ou plusieurs pods. HPA est configuré en tant que ressource Kubernetes et son état est géré en tant que ressource distincte. Lorsque de nouveaux pods sont créés, le HPA met à jour l'état pour refléter la situation actuelle.

Autoscaler de pod vertical

Crédits image : vol

VPA (Vertical Pod Autoscaler) permet la mise à l'échelle automatique des limites de ressources CPU et mémoire d'un type de pod particulier (en fonction du nom dans le champ de type). La ressource VPA a un champ de mise à l'échelle (ou mise à l'échelle automatique) et un champ cible (ou utilisation cible). L'échelle détermine le nombre maximal de pods de ce type autorisés dans le cluster. L'utilisation cible détermine le pourcentage d'utilisation des ressources par rapport à la limite. Par exemple, vous avez un type de pods qui consomme 10 % du processeur. Un VPA avec une utilisation cible définie sur 10 % fera évoluer ce type de pods pour faire correspondre leur utilisation du processeur à la quantité maximale autorisée par le VPA (100 %).

Autoscalers de cluster

Crédits image : Ajay sur Medium

L'autoscaler de cluster adapte le nombre de pods dans un cluster en fonction de l'utilisation des ressources observée et des métriques définies par l'utilisateur. Il est conçu pour augmenter ou réduire le nombre de pods en fonction de métriques telles que l'utilisation du processeur dans un espace de noms particulier. L'autoscaler de cluster est configuré en tant que ressource Kubernetes avec une échelle (nombre maximal de pods) et des métriques (métriques définies par l'utilisateur). Lorsque de nouveaux pods sont créés ou supprimés, l'autoscaler met à jour l'état pour refléter la situation actuelle.

Mise à l'échelle de votre application à l'aide de Harness

Harness est une plate-forme de livraison continue moderne et fonctionne bien avec vos déploiements Kubernetes . Sélectionnez le module de livraison continue et configurez l'étape et les étapes pour déployer votre application sur Kubernetes.

Supposons que vous ayez votre deployment.yamlfichier comme ci-dessous,

apiVersion: apps/v1
kind: Deployment
metadata:
 labels:
   app: todo-app
 name: todo-app
spec:
 replicas: 2
 selector:
   matchLabels:
     app: todo-app
 template:
   metadata:
     labels:
       app: todo-app
   spec:
     containers:
     - image: thoba/todo-list-app
       name: todo-app
       ports:
       - containerPort: 8080

Notez que votre nombre de répliques est de 2.

Maintenant, configurons notre déploiement pour faire évoluer notre application.

Dans l'étape Ajouter, sélectionnez Kubernetes et mettre à l'échelle.

Ajoutez les instances attendues et les détails de la charge de travail.

Nous aimerions augmenter notre déploiement de 2 à 4 pods en cours d'exécution.

Alors, appliquez les modifications, enregistrez le pipeline et exécutez-le.

Après l'exécution réussie du pipeline, vous devriez pouvoir voir vos réplicas de pod passer de 2 à 4 comme spécifié.

Vous pouvez le vérifier en exécutant la commandekubectl get deployment

Toutes nos félicitations! Vous venez de faire évoluer vos pods de réplique de déploiement de 2 à 4 avec succès à l'aide de Harness CD .

Conclusion

La mise à l'échelle d'une application dans Kubernetes est un concept essentiel à comprendre - et nécessaire. Par exemple, si une application reçoit beaucoup de trafic, elle devra peut-être évoluer pour gérer toutes ces demandes. Cependant, avant de mettre à l'échelle votre application, assurez-vous de comprendre les stratégies dont vous disposez et quelle est la meilleure pour votre application. Kubernetes Autoscaling a été le concept le plus discuté, et j'espère que cet article vous a aidé à comprendre les différentes techniques pour faire évoluer votre application à l'aide de Kubernetes.

Lien : https://faun.pub/scaling-your-application-using-kubernetes-9ad0d6bcf0d6

#kubernetes

Maud  Rosenbaum

Maud Rosenbaum

1601051854

Kubernetes in the Cloud: Strategies for Effective Multi Cloud Implementations

Kubernetes is a highly popular container orchestration platform. Multi cloud is a strategy that leverages cloud resources from multiple vendors. Multi cloud strategies have become popular because they help prevent vendor lock-in and enable you to leverage a wide variety of cloud resources. However, multi cloud ecosystems are notoriously difficult to configure and maintain.

This article explains how you can leverage Kubernetes to reduce multi cloud complexities and improve stability, scalability, and velocity.

Kubernetes: Your Multi Cloud Strategy

Maintaining standardized application deployments becomes more challenging as your number of applications and the technologies they are based on increase. As environments, operating systems, and dependencies differ, management and operations require more effort and extensive documentation.

In the past, teams tried to get around these difficulties by creating isolated projects in the data center. Each project, including its configurations and requirements were managed independently. This required accurately predicting performance and the number of users before deployment and taking down applications to update operating systems or applications. There were many chances for error.

Kubernetes can provide an alternative to the old method, enabling teams to deploy applications independent of the environment in containers. This eliminates the need to create resource partitions and enables teams to operate infrastructure as a unified whole.

In particular, Kubernetes makes it easier to deploy a multi cloud strategy since it enables you to abstract away service differences. With Kubernetes deployments you can work from a consistent platform and optimize services and applications according to your business needs.

The Compelling Attributes of Multi Cloud Kubernetes

Multi cloud Kubernetes can provide multiple benefits beyond a single cloud deployment. Below are some of the most notable advantages.

Stability

In addition to the built-in scalability, fault tolerance, and auto-healing features of Kubernetes, multi cloud deployments can provide service redundancy. For example, you can mirror applications or split microservices across vendors. This reduces the risk of a vendor-related outage and enables you to create failovers.

#kubernetes #multicloud-strategy #kubernetes-cluster #kubernetes-top-story #kubernetes-cluster-install #kubernetes-explained #kubernetes-infrastructure #cloud

Mitchel  Carter

Mitchel Carter

1601305200

Microsoft Announces General Availability Of Bridge To Kubernetes

Recently, Microsoft announced the general availability of Bridge to Kubernetes, formerly known as Local Process with Kubernetes. It is an iterative development tool offered in Visual Studio and VS Code, which allows developers to write, test as well as debug microservice code on their development workstations while consuming dependencies and inheriting the existing configuration from a Kubernetes environment.

Nick Greenfield, Program Manager, Bridge to Kubernetes stated in an official blog post, “Bridge to Kubernetes is expanding support to any Kubernetes. Whether you’re connecting to your development cluster running in the cloud, or to your local Kubernetes cluster, Bridge to Kubernetes is available for your end-to-end debugging scenarios.”

Bridge to Kubernetes provides a number of compelling features. Some of them are mentioned below-

#news #bridge to kubernetes #developer tools #kubernetes #kubernetes platform #kubernetes tools #local process with kubernetes #microsoft

Houston  Sipes

Houston Sipes

1600992000

Did Google Open Sourcing Kubernetes Backfired?

Over the last few years, Kubernetes have become the de-facto standard for container orchestration and has also won the race against Docker for being the most loved platforms among developers. Released in 2014, Kubernetes has come a long way with currently being used across the entire cloudscape platforms. In fact, recent reports state that out of 109 tools to manage containers, 89% of them are leveraging Kubernetes versions.

Although inspired by Borg, Kubernetes, is an open-source project by Google, and has been donated to a vendor-neutral firm — The Cloud Native Computing Foundation. This could be attributed to Google’s vision of creating a platform that can be used by every firm of the world, including the large tech companies and can host multiple cloud platforms and data centres. The entire reason for handing over the control to CNCF is to develop the platform in the best interest of its users without vendor lock-in.

#opinions #google open source #google open source tools #google opening kubernetes #kubernetes #kubernetes platform #kubernetes tools #open source kubernetes backfired