Qu'est-ce que hyperkube?
J'essaye de configurer kubernetes dans aws et en suivant les guides à https://github.com/kubernetes/kubernetes/blob/master/docs/getting-started-guides/docker-multinode
Je ne pouvais pas comprendre ce qu'on entend par hyperkube. Quelqu'un peut-il m'expliquer ce que c'est et comment ça fonctionne?
Et j'ai une autre question est lors de l'exécution de la commande
sudo docker run \
--volume=/:/rootfs:ro \
--volume=/sys:/sys:ro \
--volume=/dev:/dev \
--volume=/var/lib/docker/:/var/lib/docker:rw \
--volume=/var/lib/kubelet/:/var/lib/kubelet:rw \
--volume=/var/run:/var/run:rw \
--net=host \
--privileged=true \
--pid=host \
-d \
gcr.io/google_containers/hyperkube:v${K8S_VERSION} \
/hyperkube kubelet \
--api-servers=http://localhost:8080 \
--v=2 --address=0.0.0.0 --enable-server \
--hostname-override=127.0.0.1 \
--config=/etc/kubernetes/manifests-multi \
--cluster-dns=10.0.0.10 \
--cluster-domain=cluster.local
c'est à partir de l'une gousse par défaut. À partir de la documentation de la commande, on dirait qu'il est d'obtenir le pod manifeste de la --config=/etc/kubernetes/manifests-multi
attribut. Mais ce répertoire n'est pas présent dans mon hôte. quelqu'un peut-il me dire d'où il est arriver ce pod manifeste?
Vous devez vous connecter pour publier un commentaire.
Kubernetes est un ensemble de démons/binaires:
kube-apiserver
(AKA le maître),kubelet
(start/stop conteneurs, de synchronisation conf.),kube-scheduler
(directeur des ressources)kube-controller-manager
(moniteur RC, et de maintenir l'état souhaité)kube-proxy
(exposer les services sur chaque nœud)kubectl
(CLI)La hyperkube binaire est un tout en un binaire (d'une manière similaire à
busybox
), en combinant tous les fichiers binaires.La commande suivante:
exécute le démon
kubelet
.Kubernetes est un ensemble de binaires
hyperkube est un wrapper pour tous ces fichiers binaires. Donc, une fois que vous déployez hyperkube, il va installer tous les fichiers binaires.
Pas besoin d'installer les binaires individuellement.
Si vous vous souciez plus d'avoir un cluster en cours d'exécution dans AWS que d'aller à travers l'expérience de l'éducation de chaque composante à la main (qui ne vous embêtez pas avec, sauf si vous êtes en train de faire pour l'amour de l'apprentissage), je recommanderais fortement à l'aide de la clé de scripts pour la création d'une AWS cluster, comme documenté ici.
Pour quiconque de regarder cette question/réponse, il y a un la page de la doc sur comment choisir un cluster de la création de la méthode qui s'adapte à vos besoins.
Quant à votre question sur hyperkube, le fichier de configuration est intégré dans le hyperkube docker image, comme vous pouvez le voir à partir de son Dockerfile si vous êtes curieux.
Hyperkube est le wrapper de toutes les API de fichiers binaires du serveur, le chemin Kubernetes fonctionne est d'utiliser
hyperkube
d'appeler l'API serveur, planificateur, contrôleur de manager, kube-proxy et kubelet.Maintenant tous ces fichiers binaires qui définit le nœud maître utilise le YAML manifeste pour définir les services mentionnés ci-dessus. Vous pouvez toujours choisir le type de déploiement à l'intérieur du conteneur ou sur l'ordinateur hôte en fonction de votre scénario de déploiement.
Ces gousse de manifeste pour les services réellement définir l'état souhaité pour vos services qui est stocké à l'intérieur de l'etcd à partir de l'api serveur est préparé en premier.
Maintenant, une fois que le pod se manifeste, vous pouvez utiliser
hyperkube
pour configurer ces services pour s'exécuter à l'intérieur de récipients ou de l'hôte.Donc
hyperkube
en un mot est la base de tous les services et dans l'unique but de cettehyperkube
est de gérer tous les services à l'intérieur de la Kubernetes cluster de façon un peu simplifier le déploiement.Je suis au début de mon kubernetes voyage moi-même toutefois, si vous jetez un oeil à la source sur github, vous pourrez voir où le hyperkube vient de. Il est intégré dans le noyau de kubernetes - https://github.com/kubernetes/kubernetes/blob/master/cmd/hyperkube/hyperkube.go
Kubernetes est conçu pour prendre des contenants à un nouveau niveau entier et envelopper jusqu'à ce que google appelle les gousses. Le hyperkube - et corrigez-moi si je me trompe, est l'arche/krux/épine dorsale de la planification, la création et la gestion de conteneurs qui composent le pod, et essentiellement dirige le spectacle d'où le nom de "hyperkube." En outre, le hyperkube répond aux événements rapidement et est capable de prendre des décisions à la volée au sujet de votre service/pile/conteneur/santé de l'hôte.
Si vous voulez un moyen facile de commencer avec kubernetes, je vous recommande d'essayer éleveur (pas rancherOS) comme rancherlabs a juste mis en œuvre kubernetes déploiement dans leur construit dans les piles - aussi éleveur utilise docker-composer aussi bien que ce que l'on appelle l'éleveur-composer - lorsque vous créez une pile/service, vous pouvez prendre un coup d'oeil les éléments qui composent la pile/de service et les conteneurs à l'intérieur de la pile dans yml format - qui permettra de vous donner une meilleure compréhension des éléments qui composent les services et les piles vous sont en cours d'exécution et aussi vous aider à résoudre les problèmes sur le manuel de déploiements - il est basé sur la gui cependant, vous pouvez ajouter votre hôte pour tout éleveur-serveur, jeter dans certains enregistrement piles comme kabana ou sysdig et si votre travail à partir de l'interface de ligne de commande tant que l'hôte est enregistré auprès de l'éleveur (non, je ne travaille pas pour eux) - vous pouvez enregistrer n'importe quel hôte avec l'éleveur par l'ajout d'un hôte et de la spécification personnalisée. En outre, l'éleveur peut effectivement gérer kubernetes /piles /volumes dans les plates-formes d'hébergement - qui est génial. C'est un excellent moyen de visualiser et de voir ce qui se passe avec votre menu fixe hôtes.
J'espère que cela répond à certaines questions et aussi vous mène dans la bonne direction.
Il est l'auteur de la décision et le dispensateur de la vie à la kubernetes cluster.