Maison Opération et maintenance Docker Quelle est la différence entre les k8 et les docker ?

Quelle est la différence entre les k8 et les docker ?

Oct 23, 2020 pm 04:26 PM
docker k8s

Différence : k8s est un système de gestion de cluster de conteneurs open source, qui peut réaliser un déploiement automatique, une expansion et une contraction automatiques, une maintenance et d'autres fonctions des clusters de conteneurs. Docker est un moteur de conteneur d'applications open source, les développeurs peuvent empaqueter leurs ; Les applications et les dépendances sont placées dans un conteneur portable et distribuées sur des machines Linux courantes, qui peuvent également être virtualisées.

Quelle est la différence entre les k8 et les docker ?

(Tutoriel recommandé : Tutoriel Docker)

La différence et l'introduction de Docker et k8s

En 2010, plusieurs jeunes engagés dans l'informatique ont créé une société appelée « dotCloud » à San Francisco, aux États-Unis.

Cette société fournit principalement des services technologiques de cloud computing basés sur PaaS. Plus précisément, il s'agit de la technologie des conteneurs liée à LXC.

LXC est une technologie de virtualisation de conteneurs Linux (conteneur Linux)

Plus tard, dotCloud a simplifié et standardisé sa technologie de conteneur et l'a nommé ——Docker.

Après la naissance de la technologie Docker, elle n'a pas attiré l'attention de l'industrie. Quant à dotCloud, en tant que petite entreprise entrepreneuriale, elle est également confrontée à une concurrence féroce.

Juste au moment où ils étaient sur le point de le perdre, l'idée de "l'open source" leur est venue à l'esprit.

Qu’est-ce que « l’open source » ? Open source signifie code source ouvert. C'est-à-dire que le code source original du programme, confidentiel en interne, est ouvert à tous, et que chacun peut alors participer et contribuer au code et aux opinions.

Open Source, open source

Certains logiciels sont open source depuis le début. Il existe également des logiciels qui ne peuvent pas être mixés, et les créateurs ne veulent pas abandonner, alors ils choisissent l'open source. Si vous ne pouvez pas subvenir à vos besoins, mangez simplement « la nourriture de centaines de familles ».

En mars 2013, Solomon Hykes, 28 ans, l'un des fondateurs de dotCloud et père de Docker, a officiellement décidé d'ouvrir le projet Docker en open source.

Solomon Hykes (vient de démissionner de Docker cette année)

C'est incroyable si vous ne le démarrez pas.

De plus en plus d'ingénieurs informatiques ont découvert les avantages de Docker et se ruent pour rejoindre la communauté open source Docker.

La popularité de Docker augmente rapidement et la vitesse est à couper le souffle.

Au cours du mois de l'open source, la version 0.1 de Docker est sortie. Depuis, Docker publiera une version chaque mois. Le 9 juin 2014, la version 1.0 de Docker a été officiellement publiée.

À l'heure actuelle, Docker est devenue l'une des technologies open source les plus populaires du secteur. Même des géants comme Google, Microsoft, Amazon et VMware y sont favorables et expriment leur plein soutien.

Après que Docker soit devenu populaire, dotCloud a simplement changé le nom de l'entreprise en Docker Inc.

Pourquoi la technologie Docker et les conteneurs sont-ils si populaires ? Pour parler franchement, c’est parce qu’il est « léger ».

Avant la technologie des conteneurs, la célébrité Internet la plus populaire du secteur était les machines virtuelles. Les représentants de la technologie machine virtuelle sont VMWare et OpenStack.

Je crois que de nombreuses personnes ont utilisé des machines virtuelles. Une machine virtuelle consiste à installer un logiciel dans votre système d'exploitation, puis à utiliser ce logiciel pour simuler un voire plusieurs « sous-ordinateurs ».

Machine virtuelle, semblable à un "sous-ordinateur"

Dans le "sous-ordinateur", vous pouvez exécuter des programmes comme un ordinateur normal, tels comme ouverture QQ. Si vous le souhaitez, vous pouvez créer plusieurs "sous-ordinateurs" sur lesquels QQ s'exécute. "Sous-ordinateur" et "sous-ordinateur" sont isolés l'un de l'autre et ne s'influencent pas.

Les machines virtuelles sont des technologies de virtualisation. La technologie de conteneur telle que Docker est également une technologie de virtualisation et appartient à la virtualisation légère.

Bien qu'une machine virtuelle puisse isoler de nombreux "sous-ordinateurs", elle prend plus de place, démarre plus lentement et le logiciel de la machine virtuelle peut coûter de l'argent (comme VMWare).

La technologie des conteneurs ne présente pas ces défauts. Il n'est pas nécessaire de virtualiser l'intégralité du système d'exploitation, mais uniquement de virtualiser un environnement à petite échelle (semblable à un « bac à sable »).

Bac à sable

Il démarre rapidement et se termine en quelques secondes. De plus, il est très économe en ressources (un hôte peut exécuter des milliers de conteneurs Docker simultanément). De plus, cela prend très peu de place. Les machines virtuelles nécessitent généralement plusieurs à plusieurs dizaines de Go d’espace, tandis que les conteneurs ne nécessitent que des Mo, voire des Ko.

Comparaison des conteneurs et des machines virtuelles

Pour cette raison, la technologie des conteneurs a été chaleureusement accueillie et recherchée et se développe rapidement.

Jetons un coup d'œil à Docker en détail.

Tout le monde doit noter que Docker lui-même n'est pas un conteneur C'est un outil de création de conteneurs et un moteur de conteneur d'application.

Si vous voulez comprendre Docker, il suffit de lire ses deux slogans.

La première phrase est "Construire, expédier et exécuter".

C'est-à-dire "construire, envoyer, exécuter", trois choses.

Par exemple :

Je suis arrivé sur un terrain vague et je voulais construire une maison, alors j'ai déplacé des pierres, coupé du bois, dessiné des dessins et finalement construit la maison.

Du coup, j'y ai vécu pendant un moment et j'ai voulu déménager dans un autre espace vide. À l'heure actuelle, selon les méthodes précédentes, je ne peux que déplacer des pierres, couper du bois, dessiner des dessins et reconstruire des maisons.

Cependant, une vieille sorcière est venue et m'a appris une magie.

Ce genre de magie peut faire une copie de la maison que j'ai construite, en faire une "image miroir" et la mettre dans mon sac à dos.

Quand j'arriverai dans un autre espace ouvert, j'utiliserai cette "image miroir" pour copier une maison, l'y placer et emménager avec mes sacs. Et

? N'est-ce pas incroyable ?

Ainsi, le deuxième slogan de Docker est : "Construire une fois, exécuter n'importe où (construire une fois, utiliser partout) ".

Les trois concepts fondamentaux de la technologie Docker sont :

  • Image (Image)
  • Conteneur (Conteneur)
  • Dépôt

Dans mon exemple de tout à l'heure, "l'image" placée dans le package est l'image Docker. Et mon sac à dos est Entrepôt Docker. La maison que j'ai construite par magie est un conteneur Docker dans l'espace ouvert.

Pour parler franchement, cette image Docker est un système de fichiers spécial. En plus de fournir les programmes, bibliothèques, ressources, configuration et autres fichiers requis pour l'exécution du conteneur, il contient également certains paramètres de configuration (tels que les variables d'environnement) préparés pour l'exécution. L'image ne contient aucune donnée dynamique et son contenu ne sera pas modifié une fois créée.

En d'autres termes, chaque fois que la maison est transformée, la maison sera la même, mais les nécessités quotidiennes et autres seront ignorées. Celui qui habite la propriété est responsable de l'achat.

Chaque image miroir peut créer une sorte de maison. Ensuite, je peux avoir plusieurs miroirs !

En d'autres termes, j'ai construit une villa de style européen et généré une image miroir. Un autre ami a peut-être construit une maison chinoise avec cour et a également généré une image miroir. Il y a aussi un ami qui a construit une maison africaine au toit de chaume et qui a également généré une image miroir. . .

De cette façon, nous pouvons échanger des images. Vous utilisez la mienne et j'utilise la vôtre, ne serait-ce pas génial ?

C'est donc devenu un grand entrepôt public.

Responsable de la gestion des images Docker est le service Docker Registry (similaire à un administrateur d'entrepôt).

Aucun miroir créé par qui que ce soit n’est légal. Et si quelqu’un construisait une maison avec des problèmes ?

Par conséquent, le service Docker Registry est très strict en matière de gestion des images.

Le service public de registre le plus couramment utilisé est le Docker Hub officiel, qui est également le registre par défaut et contient un grand nombre d'images officielles de haute qualité.

Bon, après avoir parlé de Docker, tournons notre attention vers K8S.

Au moment même où la technologie des conteneurs Docker était à la mode, tout le monde a constaté qu'il était difficile d'appliquer Docker à des implémentations commerciales spécifiques : tous les aspects de l'orchestration, de la gestion et de la planification étaient faciles. Par conséquent, les gens ont un besoin urgent d’un système de gestion permettant une gestion plus avancée et plus flexible de Docker et des conteneurs.

A cette époque, K8S est apparu.

K8S est une plateforme de gestion de cluster basée sur des conteneurs. Son nom complet est kubernetes.

Le mot Kubernetes vient du grec et signifie timonier ou navigateur. K8S est son abréviation, utilisant le mot « 8 » pour remplacer les 8 caractères de « ubernete ».

Contrairement à Docker, le créateur de K8S est un géant bien connu de l'industrie - Google.

Cependant, le K8S n’est pas une toute nouvelle invention. Son prédécesseur est le système Borg que Google bricole depuis plus de dix ans.

K8S a été officiellement annoncé et open source par Google en juin 2014.

En juillet de la même année, des sociétés telles que Microsoft, Red Hat, IBM, Docker, CoreOS, Mesosphere et Saltstack rejoignent successivement K8S.

L'année suivante, des sociétés telles que VMware, HP et Intel nous ont également rejoint.

En juillet 2015, Google a officiellement rejoint la Fondation OpenStack. Au même moment, Kuberentes v1.0 était officiellement publié.

Actuellement, la version de Kubernetes est passée à la V1.13.

L'architecture du K8S est un peu compliquée, jetons-y un bref coup d'œil.

Un système K8S est généralement appelé un cluster K8S (Cluster) .

Ce cluster se compose principalement de deux parties :

  • Un nœud maître (master node)
  • Un groupe de nœuds Node (Nœud de calcul)

Vous pouvez comprendre d'un coup d'oeil : le nœud Maître est principalement responsable de la gestion et du contrôle. Node est un nœud de charge de travail qui contient des conteneurs spécifiques.

Regardons de plus près ces deux nœuds.

Le premier est le Nœud maître.

Le nœud maître comprend le serveur API, le planificateur, le gestionnaire de contrôleur, etc.

API Server est l'interface externe de l'ensemble du système, qui est appelée par les clients et d'autres composants. Il équivaut à une « salle d'affaires ».

Scheduler est responsable de la planification des ressources au sein du cluster, ce qui équivaut à la « salle de planification ».

Le responsable du contrôleur est chargé de gérer le contrôleur, ce qui équivaut au "directeur général".

puis Node node .

Les nœuds de nœud incluent Docker, kubelet, kube-proxy, Fluentd, kube-dns (facultatif) et Pod.

Pod est l'unité d'exploitation la plus basique de Kubernetes. Un Pod représente un processus exécuté dans le cluster, qui encapsule un ou plusieurs conteneurs étroitement liés. En plus du Pod, K8S a également le concept de Service. Un Service peut être considéré comme l'interface d'accès externe d'un groupe de Pods qui fournissent le même service. Ce paragraphe n'est pas facile à comprendre, alors sautez-le.

Docker, il va sans dire, crée des conteneurs.

Kubelet est principalement responsable de la surveillance du Pod attribué au Node où il se trouve, y compris la création, la modification, la surveillance, la suppression, etc.

Kube-proxy est principalement chargé de fournir un proxy pour les objets Pod.

Fluentd, principalement responsable de la collecte, du stockage et des requêtes des journaux.

Êtes-vous un peu confus ? Hélas, c’est vraiment difficile à expliquer clairement en quelques mots, alors continuez à sauter.

Docker et K8S ont été introduits, mais l'article n'est pas encore terminé.

La partie suivante est écrite pour les ingénieurs cœur de réseau et même tous les ingénieurs en communication.

De la 1G il y a plusieurs décennies à la 4G aujourd'hui et à la 5G à l'avenir, les communications mobiles ont subi des changements bouleversants, tout comme le réseau central.

Cependant, si vous examinez attentivement ces changements, vous constaterez que le soi-disant réseau central n'a pas réellement changé en substance, il ne s'agit que d'un grand nombre de serveurs. Différents éléments du réseau central sont différents serveurs et différents nœuds informatiques.

Ce qui a changé, c'est la forme et l'interface de ces « serveurs » : la forme est passée des cartes simples d'armoire aux lames d'armoire, et des lames d'armoire aux serveurs lames universels X86, les interfaces sont passées des câbles principaux aux serveurs lames ; Câble réseau, du câble réseau à la fibre optique.

Même si cela change, il s'agit toujours d'un serveur, d'un nœud informatique et d'un CPU.

Puisqu'il s'agit d'un serveur, il s'engagera inévitablement dans la voie de la virtualisation comme le cloud computing informatique. Après tout, la virtualisation présente trop d'avantages, tels qu'un faible coût, une utilisation élevée, une flexibilité totale, une planification dynamique, etc. mentionnés ci-dessus.

Il y a quelques années, tout le monde pensait que les machines virtuelles étaient la forme ultime de cœur de réseau. À l’heure actuelle, il semble qu’il s’agisse plutôt de la conteneurisation. NFV (Network Element Function Virtualization), souvent évoqué ces dernières années, peut également être renommé NFC (Network Element Function Containerization).

Prenons l'exemple de VoLTE. Si vous suivez la méthode 2G/3G précédente, un grand nombre d'équipements dédiés seront nécessaires pour agir comme différents éléments de réseau d'EPC et d'IMS.

Éléments de réseau liés à la VoLTE

Après avoir utilisé des conteneurs, il est probable que vous n'ayez besoin que d'un seul serveur et que vous créiez une douzaine de conteneurs, en utilisant différents conteneurs pour exécuter. programmes de service de différents éléments du réseau respectivement.

Ces conteneurs peuvent être créés et détruits à tout moment. Il peut également être arbitrairement plus grand, arbitrairement plus petit, arbitrairement plus fort, arbitrairement plus faible sans s'arrêter, obtenant ainsi un équilibre dynamique entre performances et consommation d'énergie.

Absolument parfait !

À l'ère de la 5G, le réseau central adopte une architecture de microservices, qui est également parfaitement adaptée aux conteneurs - une architecture monolithique (Monolithic) devient une architecture de microservices (Microservices), ce qui équivaut à un devenir polyvalent Type de spécialistes N. Chaque spécialiste est affecté à un conteneur isolé, offrant un maximum de flexibilité.

Belle division du travail

Selon cette tendance de développement, dans le système de communication mobile, à l'exception de l'antenne, les parties restantes peuvent être virtualisées. Le réseau central est le premier, mais pas le dernier. Le réseau central après la virtualisation devrait en fait être classé comme informatique plutôt que comme communications. La fonction du réseau central n’est qu’une fonction logicielle ordinaire dans le conteneur.

Quant aux ingénieurs cœur de réseau ici, félicitations, votre transformation sera bientôt réussie !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser Docker Desktop Comment utiliser Docker Desktop Apr 15, 2025 am 11:45 AM

Comment utiliser Docker Desktop? Docker Desktop est un outil pour exécuter des conteneurs Docker sur les machines locales. Les étapes à utiliser incluent: 1. Installer Docker Desktop; 2. Démarrer Docker Desktop; 3. Créer une image Docker (à l'aide de DockerFile); 4. Build Docker Image (en utilisant Docker Build); 5. Exécuter Docker Container (à l'aide de Docker Run).

Comment lire la version docker Comment lire la version docker Apr 15, 2025 am 11:51 AM

Pour obtenir la version Docker, vous pouvez effectuer les étapes suivantes: exécutez la commande docker "docker --version" pour afficher les versions client et serveur. Pour Mac ou Windows, vous pouvez également afficher les informations de version via l'onglet Version de la GUI de bureau Docker ou du menu de bureau à propos de Docker.

Comment créer un miroir dans Docker Comment créer un miroir dans Docker Apr 15, 2025 am 11:27 AM

Étapes pour créer une image docker: écrivez un dockerfile qui contient les instructions de construction. Créez l'image dans le terminal, en utilisant la commande docker build. Marquez l'image et attribuez des noms et des balises à l'aide de la commande docker tag.

Comment mettre à jour l'image de Docker Comment mettre à jour l'image de Docker Apr 15, 2025 pm 12:03 PM

Les étapes pour mettre à jour une image Docker sont les suivantes: Tirez la dernière étiquette d'image Nouvelle image Supprimer l'ancienne image pour une balise spécifique (facultative) Redémarrez le conteneur (si nécessaire)

Comment vérifier le nom du conteneur Docker Comment vérifier le nom du conteneur Docker Apr 15, 2025 pm 12:21 PM

Vous pouvez interroger le nom du conteneur Docker en suivant les étapes: répertorier tous les conteneurs (Docker PS). Filtrez la liste des conteneurs (à l'aide de la commande grep). Obtient le nom du conteneur (situé dans la colonne "Noms").

Comment copier des fichiers dans Docker à l'extérieur Comment copier des fichiers dans Docker à l'extérieur Apr 15, 2025 pm 12:12 PM

Méthodes de copie de fichiers en hôtes externes dans Docker: Utilisez la commande docker cp: exécuter docker cp [options] & lt; Container Path & gt; & lt; Host Path & gt;. Utilisation de volumes de données: créez un répertoire sur l'hôte et utilisez le paramètre -v pour monter le répertoire dans le conteneur lors de la création du conteneur pour obtenir la synchronisation de fichiers bidirectionnels.

Comment changer la source d'image Docker en Chine Comment changer la source d'image Docker en Chine Apr 15, 2025 am 11:30 AM

Vous pouvez passer à la source de miroir domestique. Les étapes sont les suivantes: 1. Modifiez le fichier de configuration /etc/docker/daemon.json et ajoutez l'adresse source miroir; 2. Après enregistrer et sortir, redémarrez le service Docker Sudo Systemctl Docker pour améliorer la vitesse et la stabilité du téléchargement d'image.

Comment enregistrer l'image docker Comment enregistrer l'image docker Apr 15, 2025 am 11:54 AM

Pour enregistrer l'image dans Docker, vous pouvez utiliser la commande docker commit pour créer une nouvelle image, contenant l'état actuel du conteneur spécifié, Syntaxe: Docker Commit [Options] Nom d'image de l'ID de conteneur. Pour enregistrer l'image dans le référentiel, vous pouvez utiliser la commande docker push, Syntax: Docker Push Image Name [: Tag]. Pour importer des images enregistrées, vous pouvez utiliser la commande docker pull, syntaxe: docker pull name [: tag].

See all articles