11. IngressΒΆ
Ingress ControllerΒΆ
Requirement Resource fro Ingress ControllerΒΆ
- Deployment
- ConfigMap
- NodePort / LoadBalancer
- Auth
- ServiceAccount
- Role
- ClusterRole
- RoleBinding
watch schematic resource requirements
Deploy an Ingress ControllerΒΆ
Ingress ResourcesΒΆ
- Routing
- SSL Configuration
Configure Manager ToolsΒΆ
We have dozen configure manager tools for kubernetes.
But some of them is more popular, such as HashiCorp Terraform, RedHat Ansible and Kubernetes native configure manager Kustomize.
HelmChartΒΆ
InstallationΒΆ
update repository
check to added successfully
install chart
helm install my-ingress-nginx ingress-nginx/ingress-nginx --namespace ingress-nginx --create-namespace
check helm releases
TroubleshootingΒΆ
Layers of problems locations
- Application Failure
- ControlPlane Failure
- WorkerNode Failure
Application FailuresΒΆ
- Watch the service status
- Describe the service and check it's parameters especially Endpoints, Service and Pods
- Get resource list
Pay attention to 'eady' and 'Status'
3.1. Get describe and logs of resources
Check the pod events
3.2. Get pod logs
kubectl logs <pod-name>
kubectl logs <pod-name> -f # follows pod logs
kubectl logs <pod-name> -f --previous # logs of previous container
- Complete your debug section via debug-application
Control Plane FailureΒΆ
- Check cluster nodes
- Get the list of system's pods
NOTE: It is work if cluster set up via Kubeadm.
If not, you should check via systemd
Then get logs via journalctl or kubectl logs
- Complete your debug section via debug-cluster
Worker Node FailureΒΆ
- Check cluster nodes again
- Describe the worker nodes
2.1. If your worker node is on 'NOT RAEDY' status, check your 'Kubelet' first
2.2. Get more focus on 'Conditions' column
- Memory Pressure
- Disk Pressure
- PID Pressure
2.3. If your node status is 'UNKNOWN' that means the 'Kubelet' could not connect to 'API-Server'
check the kubelet via ssh
NOTE: the 'Best Practice' for this purpose is use monitoring tools, like 'Prometheus' via 'Node Exporter'
- Check the Kubelet service status and follow it's log
- Check the Kubelet Certificate
- Issuer: value must be 'KUBERNETES-CA'
- Organization: value must be 'system:nodes'