Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is hyperkube?

Tags:

kubernetes

I am trying to setup kubernetes in aws and following the guides at https://github.com/kubernetes/kubernetes/blob/master/docs/getting-started-guides/docker-multinode

I couldn't understand what is meant by hyperkube. Can someone please explain to me what it is and how does it work?

And another question I have is while running the command

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 

it is starting the one pod by default. From the command documentation, it looks like it is getting the pod manifest from the --config=/etc/kubernetes/manifests-multi attribute. But this directory is not present in my host. can somebody please tell me from where it is getting this pod manifest?

like image 526
Anil Maddukuri Avatar asked Nov 27 '15 08:11

Anil Maddukuri


People also ask

Is Hyperkube deprecated?

Hyperkube, an all-in-one binary for Kubernetes components, is now deprecated and will not be built by the Kubernetes project going forward.

What is Kubernetes and its architecture?

Kubernetes is an architecture that offers a loosely coupled mechanism for service discovery across a cluster. A Kubernetes cluster has one or more control planes, and one or more compute nodes.

What is Kubernetes server and client?

Kubectl is the client and Kubernetes API Server of the Kubernetes Cluster is the server. Kubernetes Cluster can be installed on variety of operating systems on local machines or remote systems or edge devices. Regardless of where you install it kubectl is the client tool to interact with the Kubernetes API Server.

Is Kubernetes client server architecture?

Kubernetes follows a client-server architecture. It's possible to have a multi-master setup (for high availability), but by default there is a single master server which acts as a controlling node and point of contact.

What is Kubernetes controller manager?

The Kubernetes controller manager is a daemon that embeds the core control loops shipped with Kubernetes. In applications of robotics and automation, a control loop is a non-terminating loop that regulates the state of the system.

What does master node in a Kubernetes cluster do?

The master node is responsible for cluster management and for providing the API that is used to configure and manage resources within the Kubernetes cluster. Kubernetes master node components can be run within Kubernetes itself, as a set of containers within a dedicated pod.


1 Answers

Kubernetes is a set of daemons/binaries:

  • kube-apiserver (AKA the master),
  • kubelet (start/stop containers, sync conf.),
  • kube-scheduler (resources manager)
  • kube-controller-manager (monitor RC, and maintain the desired state)
  • kube-proxy (expose services on each node)
  • kubectl (CLI)

The hyperkube binary is an all in one binary (in a way similar to busybox), combining all the previously separate binaries.

The following command:

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 

runs the daemon kubelet.

like image 131
ant31 Avatar answered Oct 12 '22 11:10

ant31