Overview of Kubernetes Service and kube-proxy
kube-proxy process running on every node, which monitors the API server for Service changes and converts them into network routing rules on the host.website·Indexed 31 days ago
https://bookandmusic.cnA comprehensive technical guide covering DevOps tools and Linux system administration. Includes detailed tutorials on Kubernetes (kubeadm, Minikube, Pods, Services, and Dashboard), Docker (buildx, Compose, Portainer, and image management), Ansible (automation, variables, and modules), Nginx, Git, and Linux system resource management including LVM, RAID, and quota.
kube-proxy process running on every node, which monitors the API server for Service changes and converts them into network routing rules on the host.Portainer is a lightweight management tool that provides a graphical web interface for Docker environments. Key capabilities include:
Kubernetes Pods are categorized into two types based on how they are created:
Common Pod controllers include:
docker manifest is a Docker command used to manage images across different operating systems and hardware architectures. It allows users to create a 'manifest list'—a virtual Docker image that acts as a wrapper for multiple actual images, each corresponding to a specific architecture. When a user runs docker pull or docker run on a manifest list, Docker automatically selects the image that matches the host's architecture.Disk quotas are used in multi-user Linux environments to prevent a small number of users from consuming all available disk space, which would hinder other users' ability to work.
Key Constraints:
CPU details can be retrieved via dedicated commands or by reading the system's virtual filesystem.
lscpu: Displays a comprehensive summary of CPU architecture, model, cores, and threads./proc/cpuinfo: A virtual file containing detailed per-processor information. Use grep to filter for specific attributes like the model name.# Summary view
lscpu
# Detailed view
cat /proc/cpuinfo
# Filter for model name
grep "model name" /proc/cpuinfo--platform flag with docker build to specify the target architecture. For example, to build an image for amd64 or arm64, specify linux/amd64 or linux/arm64. After building, the image must be pushed to a registry (like Docker Hub) before it can be added to a manifest list.# Build for AMD64
docker build --no-cache --platform=linux/amd64 -t <username>/<image-name>:<tag> .
# Build for ARM64
docker build --no-cache --platform=linux/arm64 -t <username>/<image-name>:<tag> .
# Push to registry
docker push <username>/<image-name>:<tag>The Docker ecosystem consists of three stages:
docker build based on the Dockerfile.Build Execution Flow:
Traditional session authentication is stateful; the server stores user session data (usually in memory) and sends a cookie to the client. This creates challenges with scalability (sticky sessions required for load balancers), memory overhead, and vulnerability to CSRF attacks.
Token-based authentication is stateless. The server does not store session information. Instead, it issues a token to the client after successful authentication. The client sends this token in the request header for every subsequent request. This allows for easier horizontal scaling and better support for distributed systems.