
For more information on the networking model read this blog.įor more detailed information see the docs for kubernetes components and services. There is a global allocation map in etcd that maintains the complete list that allows allocating unique new ones. A Kubernetes cluster has one or more control planes, and one or more compute nodes. Service IPs, like POD IPs are virtual and accessible from within the cluster network. Answer: Kubernetes is an architecture that offers a loosely coupled mechanism for service discovery across a cluster. Typically interacting with the cluster api should be sufficient to investigate/update the service configuration.Īre service IPs virtual IPs and only accessible within nodes? I cannot see a need to ssh into nodes to inspect services. Or an external load balancer is created with the cloud provider, etc.Īre services lying within nodes? If so, can we ssh into nodes and inspect how services work?Īs explained, services are manifested in the cluster configuration, the endpoint controller as well as additional things, like the clusterIP services, load balancers, etc. to make a port available on the nodes through an automatically created clusterIP service for type nodePort. The node will forward the request to the new service IPĭepending on the service type additional action is taken, e.g.


Internally kubernetes has a so called Endpoint Controller that is responsible for modifying the DNS configuration of the virtual cluster network to make service endpoints available via DNS (and environment variables).įor NodePort service, external client has to access new service through one of the node's ip and NodePort. If there is any new service/endpoint, it adds a rule to that node's iptables Kubernetes uses etcd to share the current cluster configuration information across all nodes (including pods, services, deployments, etc.).
#WHAT IS KUBERNETES AND HOW IT WORKS SOFTWARE#
Kube-proxy in each node listen to any new service/endpoint in master API controller So what exactly is Kubernetes Kubernetes (also known as K8s) is open source software for deploying, scaling and managing containerized applications.
