Kubernetes Documentation
Kubernetes is prepared for the project, but kubeadm needs a full VM instead of this LXC VPS.
What Kubernetes Is
Kubernetes is a container orchestration system. It schedules containers as Pods, keeps replicas running, performs rolling updates and exposes applications using Services and Ingress.
Core Objects
| Object | Meaning |
|---|---|
| Pod | Smallest deployable unit. Usually one application container. |
| Deployment | Defines desired application state and replica count. |
| ReplicaSet | Keeps the requested number of Pods alive. |
| Service | Stable virtual IP and load balancer for Pods. |
| Ingress | HTTP routing based on hostname and path. |
Why kubeadm Is Blocked Here
The current VPS is detected as LXC. kubeadm needs full control of cgroups, bridge networking, iptables and kernel modules such as br_netfilter. This host does not expose that module inside the guest.
Prepared Kubernetes Files
/opt/cloud-platform/k8s/namespace.yaml /opt/cloud-platform/k8s/website.yaml /opt/cloud-platform/k8s/api.yaml /opt/cloud-platform/k8s/ingress.yaml /opt/cloud-platform/scripts/install-kubeadm-single-node.sh
Future Kubernetes Traffic Flow
Client -> DNS -> Nginx or public load balancer -> Ingress Controller -> Service -> Pod replica
Commands On Full VM
/opt/cloud-platform/scripts/install-kubeadm-single-node.sh kubectl get nodes kubectl apply -f /opt/cloud-platform/k8s/ kubectl get pods,svc,ingress -n cloud-platform kubectl scale deployment website -n cloud-platform --replicas=5 kubectl rollout restart deployment website -n cloud-platform