Assignment-8 (CC)
Assignment-8 (CC)
ASSIGNMENT 8
THEORY:
What is Kubernetes?
Kubernetes is a portable, extensible, open-source platform for
managing containerized workloads and services, that facilitates
both declarative configuration and automation. It has a large,
rapidly growing ecosystem. Kubernetes services, support, and tools
are widely available.
The name Kubernetes originates from Greek, meaning helmsman or
pilot. Google open-sourced the Kubernetes project in 2014.
Kubernetes combines over 15 years of Google's experience running
production workloads at scale with best-of-breed ideas and
practices from the community
Kubernetes Architecture
Kubernetes Architecture on AWS:
Ingress
FEATURE STATE: Kubernetes v1.19 [stable]
An API object that manages external access to the services in a
cluster, typically HTTP.
Ingress may provide load balancing, SSL termination and name-
based virtual hosting.
Terminology
For clarity, this guide defines the following terms:
Node: A worker machine in Kubernetes, part of a cluster.
Cluster: A set of Nodes that run containerized applications
managed by Kubernetes. For this example, and in most
common Kubernetes deployments, nodes in the cluster are not
part of the public internet.
Edge router: A router that enforces the firewall policy for your
cluster. This could be a gateway managed by a cloud provider
or a physical piece of hardware.
Cluster network: A set of links, logical or physical, that
facilitate communication within a cluster according to the
Kubernetes networking model.
Service: A Kubernetes Service that identifies a set of Pods
using label selectors. Unless mentioned otherwise, Services
are assumed to have virtual IPs only routable within the
cluster network.
What is Ingress?
Ingress exposes HTTP and HTTPS routes from outside the cluster to
services within the cluster. Traffic routing is controlled by rules
defined on the Ingress resource.
Here is a simple example where an Ingress sends all its traffic to
one Service:
An Ingress may be configured to give Services externally-reachable
URLs, load balance traffic, terminate SSL / TLS, and offer name-
based virtual hosting. An Ingress controller is responsible for
fulfilling the Ingress, usually with a load balancer, though it may
also configure your edge router or additional frontends to help
handle the traffic.
An Ingress does not expose arbitrary ports or protocols. Exposing
services other than HTTP and HTTPS to the internet typically uses a
service of type Service.Type=NodePort or
Service.Type=LoadBalancer.
Try Kubernetes:
The nginx default page will open in browser and you will see the
service details as well.
CONCLUSION: