Breaking News: Grepper is joining You.com. Read the official announcement!
Check it out

Master Components#

Sumit Rawal answered on June 25, 2023 Popularity 2/10 Helpfulness 1/10

Contents


More Related Answers

  • Master-Master (Master-less) architecture
  • The master#

  • Master Components#

    0

    Master components run only on masters. In our case, they are kube-apiserver, kube-controller-manager, kube-scheduler, etcd, and dns-controller.

    Kubernetes API Server (kube-apiserver): Kubernetes API Server accepts requests to create, update, or remove Kubernetes resources. It listens on ports 8080 and 443. The former is insecure and is only reachable from the same server. Through it, the other components can register themselves without requiring a token. The later port (443) is used for all external communications with the API Server. That communication can be user-facing like, for example, when we send a kubectl command. Kubelet also uses 443 port to reach the API server and register itself as a node.

    No matter who initiates communication with the API Server, its purpose is to validate and configure an API object. Among others, those can be Pods, Services, ReplicaSets, and others. Its usage is not limited to user-facing interactions. All the components in the cluster interact with the API Server for the operations that require a cluster-wide shared state.

    The shared state of the cluster is stored in etcd. It is a key/value store where all cluster data is kept, and it is highly available through consistent data replication. It is split into two Pods, where etcd-server holds the state of the cluster and etcd-server-events stores the events.

    Kops creates an EBS volume for each etcd instance. It serves as its storage.

    Kubernetes Controller Manager (kube-controller-manager): Kubernetes Controller Manager is in charge of running controllers. You already saw a few controllers in action like ReplicaSets and Deployments. Apart from object controllers like those, kube-controller-manager is also in charge of Node Controllers responsible for monitoring servers and responding when one becomes unavailable.

    Kubernetes Scheduler (kube-scheduler): Kubernetes Scheduler watches the API Server for new Pods and assigns them to a node. From there on, those Pods are run by Kubelet on the allocated node.

    DNS Controller (dns-controller): DNS Controller allows nodes and users to discover the API Server.

    Popularity 2/10 Helpfulness 1/10 Language whatever
    Source: Grepper
    Tags: whatever
    Link to this answer
    Share Copy Link
    Contributed on Jun 25 2023
    Sumit Rawal
    0 Answers  Avg Quality 2/10


    X

    Continue with Google

    By continuing, I agree that I have read and agree to Greppers's Terms of Service and Privacy Policy.
    X
    Grepper Account Login Required

    Oops, You will need to install Grepper and log-in to perform this action.