Je ne sais pas comment connaître le printemps, combien Kubernetes sait

Auteur | Autonomisation continue

Editor -in -LAW | ABRID

Produit | CSDN (ID: CSDNNEWS)

Articles à une minute Vue rapide

Kubernetes est né du système Borg de Google et est un puissant système d'arrangement de conteneurs. À l'heure actuelle, il est devenu l'outil de développement le plus populaire pour les développeurs et le personnel des opérations et de la maintenance. À partir des principaux composants et des principaux types de ressources de Kubernetes, cet article explique brièvement les principes techniques de base de Kubernetes. Dans le même temps, a analysé de manière approfondie les principaux composants du pod, du déploiement, du service, etc., et combinés avec des cas pour montrer leurs méthodes d'application de base.

  • L'origine et la composition de Kubernetes

  • Kubernetes Mode de commande de fondation et mode de déclaration de fondation importante

  • Type de ressource kubernetes

  • Jingdong Zhilianyun Kubernetes Cluster Service

Aujourd'hui, la technologie informatique change les unes avec les autres et les nuages des entreprises. En tant que nouveau concept technique né à l'ère du cloud computing, le conteneur est la plus petite particule et unité de la période native des nuages. Après une infrastructure de pratique à long terme .

Gartner prédit également que 75% des entreprises mondiales en 2022 utiliseront des applications conteneurisées (actuellement environ 30%) et 50% des logiciels d'application s'adapteront à l'environnement trop intégré (actuellement environ 20%). Le statut du conteneur est évident.

Les «choses So-Salled ont la fin de la question, les choses sont terminées, et celle le sait, alors la route est étroite.» En tant que noyau de la plate-forme cloud, si vous voulez mieux gérer l'application du grand - Les conteneurs d'échelle, tout d'abord, nous devons comprendre son outil de disposition de contentement de container de base. Comme tous les autres composants, le conteneur doit être surveillé et contrôlé, et les utilisateurs ont besoin d'un cadre d'arrangement pour planifier et gérer le conteneur.

Kubernetes, en tant que premier outil pour les conteneurs d'applications de niveau d'entreprise à grande échelle, fournit une série de fonctions complètes telles que l'opération de déploiement, la planification des ressources, la découverte de services et l'expansion dynamique pour les applications conteneurisées. En termes simples, Kubernetes permet le développement et la livraison des applications à un degré plus rapide et maximum de difficulté et de complexité et de complexité de la maintenance des utilisateurs, et peut augmenter automatiquement la capacité en fonction des indicateurs de ressources ou des indicateurs d'application.

La communauté technologique CSDN a longtemps prêté attention à la technologie des conteneurs dans les services cloud et sélectionne le service de conteneurs approprié pour que les développeurs puissent fournir des suggestions de référence. Dès 2015, CSDN a interviewé des experts techniques de JD pour signaler le contenu de la pratique technique dans son conteneur, ce qui a suscité l'attention des internautes.

"Deccripting Jingdong 618 Technology: Reconstruction de 11 000 Docker Support pour la plate-forme de trading multi-centres"

Pour Kubernetes Technology, le 24 mars, Liu Junhui, un expert en JD Cloud et AI Cloud Products R&D Department, a partagé la deuxième conférence sur la série d'ouverture de "Six Weeks Cloud Native" sur la classe ouverte en ligne CSDN. Près de Kubernetes , du concept à l'application de base ". Dans le discours, Liu Junhui a systématiquement expliqué les principes techniques de base de Kubernetes et a montré ses méthodes d'application de base en conjonction avec le cas.

Quels sont les composants et les ressources de Kubernetes? Passons en revue l'essence de la journée ensemble!

L'origine et la composition de Kubernetes

Kubernetes vient du grec, traduit en chinois, ce qui signifie "Helmsman". Comme nous le savons tous, le conteneur lui-même signifie également un conteneur, et le conteneur de transport du navire doit être exploité par le barbe, il peut également être considéré que Kubernetes lui-même est positionné comme un calendrier du conteneur. Cependant, nous voyons souvent que de nombreux praticiens appellent Kubernetes K8S. On dit que parce que le mot kubernetes est trop long et il n'est pas facile à retenir, et il y a 8 lettres au milieu de la première lettre et lettre de queue, il est donc Brièvement référé à K8S.

Mais si vous voulez en savoir plus sur les K8, vous devez d'abord comprendre quelques concepts connexes, à savoir les grappes, les nuds et les maîtres.

  • Groupe

La différence entre K8s et Docker est qu'elle se concentre sur la gestion du conteneur, car elle est confrontée à un cluster à échelle multi-échelle relativement large, il adopte donc la façon d'extraire la tâche de gestion seule. Un ou plusieurs nuds de gestion. D'une manière générale, dans l'environnement de production, K8S aura 3 à 5 nuds de gestion, de sorte que lorsqu'un nud de gestion échoue, il peut garantir que le cluster puisse toujours s'exécuter normalement. Bien sûr, similaire à Docker, K8S a également un client, qui est le client utilisé pour utiliser et gérer les nuds. En même temps, traiter avec le cluster. Ce client est appelé Kubectl.

  • Maître

Master est le Kubernetes Cluster Management Center. Chaque cluster Kubernetes a besoin d'un nud maître pour être responsable de la gestion et du contrôle de l'ensemble du cluster. Il est responsable de la réception et de l'exécution de toute la commande de contrôle K8S initiée par l'utilisateur.

Il y a une base de données appelée etcd sur la base de données KV distribuée au nud maître. Cette base de données est en fait fournie par un tiers, mais Kubernetes et il est fortement lié. Utiliser etcd. Cette base de données préserve les informations de la charge de travail actuelle de ce cluster, qui peut être décrite comme le seul centre d'information, ou "source unique de vérité", c'est-à-dire que toutes les sources de données et les sources d'information proviennent de cette base de données. Lorsque nous exploitons le Le cluster Kubernetes à l'époque, la première étape qu'il a fait a été de mettre à jour cette base de données, puis d'autres ont effectué les informations de cette base de données.

Les nuds maîtres occupent généralement plusieurs serveurs indépendants. Dans l'analyse finale, c'est parce qu'il est vraiment important. C'est la "tête" de l'ensemble du cluster. S'il est des temps d'arrêt ou indisponibles, la gestion des instruments de contenu en cluster ne sera pas valide.

Kube-apiserver est la chose la plus importante pour contrôler les plans de Kubernetes. C'est l'entrée de contrôle de Kubernetes. Le client Kubectl mentionné ci-dessus et communique avec Kube-apiserver. La méthode de communication est basée sur l'API définie par l'API avec une définition très claire et complète. Tant que vous avez une API, vous pouvez gérer le cluster Kubernetes.

  • nud

À l'exception de Master, d'autres serveurs du cluster Kubernetes sont appelés nuds de nuds. Il s'agit d'un nud de chargement de travail dans le cluster Kubernetes et du fonctionnement réel de l'application de conteneur. Chaque nud sera attribué par le maître (généralement un conteneur Docker). Lorsqu'un nud est en panne, la charge de travail dessus sera automatiquement transférée vers d'autres nuds par le maître.

Comme le montre la figure, le nud de nud est toujours contrôlé par le nud maître. Comment fonctionne-t-il? En fait, il a une porte arrière appelée Kubelet. Kubelet en a un sur chaque nud. Il s'agit d'un service et ne communique qu'avec le maître, et Kubelet ne communique pas.

Kubernetes Mode de commande de fondation et mode de déclaration de fondation importante

Kubernetes peut en fait exécuter le conteneur. Comme le montre la figure ci-dessous, le Helloworld peut être exécuté via la ligne de commande, qui n'est pas différente du conteneur en cours d'exécution avec Docker.

Mais il n'est pas recommandé de le faire, pourquoi? Ici, nous devons introduire un concept très important, c'est-à-dire le mode de commande et le mode de déclaration. "Ici, le mode de commande et le mode de déclaration sont un fondement important de Kubernetes. Pour créer des ressources par déclaration.

Par exemple, en supposant que nous voulons terminer une tâche, cette tâche consiste à exécuter 5 copies nginx. toute autonomie elle-même.

Et le mode d'instruction enregistre toutes les étapes ci-dessus, déclarer directement ce qui doit être fait dans un fichier, définir un paramètre dans le fichier et enfin exécuter 5 copies Nginx.

La question est donc de savoir que se passe-t-il s'il y a une erreur au milieu de ces 5 copies Nginx? Pour le mode de commande, il y aura des conséquences imprévisibles, ou vous avez besoin d'une intervention supplémentaire. Par exemple, la commande précédente a une erreur, et seulement 3 copies sont exécutées. Nous devons vérifier si la commande précédente a été réussie ou échouée. Combien y en a-t-il ? Si une copie fonctionne, si nous exécutons 3 avant, alors nous devons émettre deux autres commandes et exécuter 2 fois. Cependant, dans le mode déclaration, qui nous expliquons la tâche qui est responsable de voir plusieurs copies maintenant. Si ce n'est pas 5, il essaiera toujours de restaurer 5 exemplaires jusqu'au succès.

Et si cette commande était répétée deux fois, qu'en est-il de la situation? Pour le mode de commande, s'il s'exécute deux fois, il produira une copie à deux fois; si le mode de déclaration s'exécute deux fois, car l'instruction est une chose, sauf si la commande est modifiée pour la deuxième fois, tant que la commande est la commande Identique à la même chose, la commande est la même. Ensuite, seulement 5 copies seront générées, ce qui est également la différence la plus critique entre le mode de commande et le mode de déclaration.

Le mode de commande nous oblige à expliquer les étapes de fonctionnement, et nous n'avons qu'à décrire l'état final en mode instruction. Plus précisément, dans le mode de commande, la puissance de prise de décision est entre les mains de la personne qui initie l'ordre, et dans le mode déclaration, nous n'avons qu'à envoyer le pouvoir de prise de décision à l'exécuteur pour prêter attention à la façon d'exécuter et comment réaliser le requis requis. État.

En termes de manipulation des défauts, le mode de commande doit lancer tous les défauts, donc sa complexité est exponentiellement augmentée car l'accent est mis sur l'index. En mode déclaration, l'exécuteur testamentaire n'a besoin que de prêter attention à l'état de résumé, donc sa complexité est linéaire et le coût de maintenance est beaucoup plus bas. Par conséquent, le mode de déclaration convient plus aux applications à grande échelle, qui est également la racine de Kubernetes en utilisant le mode de déclaration, même s'il prend en charge le mode de commande.

Type de ressource kubernetes

La pod est l'unité de travail minimale de Kubernetes, et c'est également une unité informatique indépendante, qui contient un ou plusieurs conteneurs. Pour Kubernetes, toutes les ressources doivent déclarer sa version API et ses types de ressources, donc pour le pod, le type de ressource est POD et le pod lui-même est une seule copie. Pour une seule copie, sa fiabilité est juste lorsque le pod échoue, Kubernetes essaiera de le redémarrer. Parce que POD n'est qu'une seule copie, il ne prend pas en charge la mise à niveau de la version, ou sa mise à niveau de la version ne peut être obtenue qu'en désinstallation et en réinstallation. Cela interrompra évidemment l'entreprise. Par conséquent.

Pour cette raison, Kubernetes fournit un autre type de service de type de ressources, également connu sous le nom de déploiement, qui concerne la multipopulation du pod, mais en même temps, il a plus de fonctionnalités que le pod de plusieurs copies. Le déploiement intègre les fonctions du déploiement de lancement, des mises à niveau de roulement, de la création d'une copie, de la suspension des tâches de lancement, de la restauration des tâches de lancement et du retour à une certaine version de la version précédente (succès / stabilité) du déploiement et d'autres fonctions. Le lancement sans entreprise L'interruption réduit considérablement la communication complexe et les risques opérationnels du processus de lancement.

Mais plusieurs copies sont également confrontées à une telle question: lorsque j'ai plusieurs copies, comment m'assurer que ces copies ont une présentation unique, c'est-à-dire une interface externe unique, c'est en fait le travail que le service doit effectuer. Le service est une interface d'accès réseau qui applique le déploiement plus une exposition au monde extérieur. Il a son propre type de type de ressource. Le service a trois types dans Kubernetes: ClusterIp, Nodeport et LoadBalancer.

  • cluster Il s'agit de l'adresse IP du service, qui est une adresse IP virtuelle efficace dans le cluster. Les réseaux externes ne sont pas accessibles, uniquement l'accès au cluster Kubernetes.

  • Nodeport Il peut s'agir de l'IP d'une machine physique ou d'une IP de machine virtuelle. En fait, chaque service ouvrira un même port sur le nud de nud. L'extérieur peut accéder au pod dans le service via le nodeip: nodeport. Il s'agit du service simple Service. Un moyen de visiter des visites externes.

  • Chargeur de chargeur Il doit être lié à la plate-forme cloud. Chaque plate-forme cloud fournit ses propres barans de chargement, et pour le moment, le chargeur de charge est accessible à l'extérieur.

PODdeploymentServiceKubernetesKubernetesKubernetes

Jingdong Zhilianyun Kubernetes Cluster Service

KubernetesKubernetes

2.0Kubernetes

CNCF

K8s

Kubernetesout

Pointe

1.540.000 développeurs AI d'utiliser les données pour vous dire, comment pouvons-nous tourner vers dépasser la Chine AI? | Chine développeurs d'applications AI rapport
Précédent
Tout indice de performance hors limites ou la cause de l'effondrement de l'APP, le test Youku de performance générale pour obtenir un mouvement
Prochain
En option est une bonne chose, auriez-vous l'utiliser? | Programme de travail
équipe de recherche AI du cadre de Tsinghua « mètre carte » PK Pytorch, qui est supérieure? | Fin du bien-être
Les programmeurs sont en train de disparaître
L'opération de Python: sept types de conditions de déclaration écrite
L'entretien est terminé ! Collection de questions d'entretien sur chenilles 2020
algorithme de modèle de langage naturel trop désordonné? cadre unifié national à l'IA open source
5 jours saisis 12! Le trafic soleil police enquête approfondie « bombardant la rue » sur les infractions routières
Taian: City School District organes de la CCPPC Daiyue deux groupes favorisant fortement les « quatre » travail critique
revitalisation province des équipes des écoles rurales: les plus belles empreintes laissées dans Rushan
Hong Kong Bâle vous invite à « cargaison balayage nuage » mode de transaction en ligne ou bienvenue « printemps »?
dommages génie municipal de Shenzhen en raison d'une route non réparé depuis plusieurs mois, l'unité de construction d'enquête du département
baisse des taux devrait baisser, la dernière LPR a annoncé! hypothèques de prix de transfert LPR augmentation mensuelle ou diminution?