Kubernetes 学习整理(一)
RKEv2: rolling upgrades, zero downtime upgrade, and automatic etcd backups. Variety of network plugins and has built-in support for the Helm package manager.
In RKEv2, CoreDNS is the default DNS,
is a flexible, extensible DNS server,
can serve as the Kubernetes cluster DNS,
can provide DNS services for other apps
MetalLB: is a load-balancer designed for bare metal k8s clusters,
using standard routing protocols such as BGP (Border Gateway Protocol) and ARP (Address Resolution Protocol).
A bare metal Kubernetes cluster is a Kubernetes cluster that runs directly on physical machines, not on virtual machines in a cloud environment.
CMO: Cluster monitoring operator. Monitor the altertmanager, performance and health of the Kubernetes cluster.
Kubernetes supports several types of services, each with a different use case:
Cluster IP: default type of service, it gives a service an internal IP that is accessible within the cluster;
NodePort: exposes the service on a static port on each node's IP, from outside the cluster, the NodePort is accessible via
LoadBalancer: exposes the service externally using a cloud provider's load balancer.
It is specifically designed to distribute network traffic to multiple pods to ensure that no single pod is overwhelmed. In cloud environment, Kubernetes can leverage
the cloud provider's build=in load balancers to implement this.
However, in bare metal environments where there's no cloud provider's load balancer, MetalLB can be used to provide the LoadBalancer functionality.
The MetalLB does this by allocating a fixed external IP address to the service and then routing external traffic to the correct pods based on the service's configration.
It typically requires integration with a cloud provider's load balancer, which is not available in bare metal environments. That's where MetalLB comes in. MetalLB provides a way to implement LoadBalancer services in environments where they are not natively available (bare metal environments).
ExternalName: maps a service to a DNS name, rather than to a typical selector like my-service or cassandra.
MetalLB: exposing services to external network;
distribute network traffic to multiple pods.
Avoiding cloud provider Lock-In.
On-premises and Edge Computing.
Testing and Development: simulate the behavior of cloud load balancers.