/images/avatar.png

Kubernetes Application Logs

Docker Logs Run Docker Docker Run Command 1 2 3 4 docker run <image> # Run with `-d` option that run container in background and print container ID. docker run -d <image> Container Logs Docker Logs Command 1 docker logs -f <container-name> Kubernetes Logs Create PODs event-simulator.yaml 1 2 3 4 5 6 7 8 apiVersion: v1 kind: Pod metadata: name: event-simulator-pod spec: containers: - name: event-simulator image: kodekloud/event-simulator multiple-events-simulator.yaml

Kubernetes Monitoring

Monitoring Services METRICS SERVER Prometheus Elastic Stack DATADOG dynatrace HEAPSTER HEAPSTER is a monitoring service in Kubernetes, but it’s deprecated now. METRICS SERVER METRICS SERVER is IN-MEMORY Service. So you cannot see history of the cluster. Install METRICS SERVER minikube 1 minikube addons enable metrics-server Others Check Installation Section in METRICS SERVER 1 2 # Install all YAML files in current directory. kubectl create -f . METRICS SERVER Commands Top Nodes 1 2 watch kubectl top nodes watch "kubectl top nodes" Top PODs 1 2 watch kubectl top pods watch "kubectl top pods"

Kubernetes Multiple Schedulers

Deploy Additional Scheduler 1 2 3 cd /etc/systemd/system cp -ai kube-scheduler.service my-custom-scheduler.service vi my-custom-scheduler.service kube-scheduler.service 1 2 3 ExecStart=/usr/local/bin/kube-scheduler \\ --config=/etc/kubernetes/config/kube-scheduler.yml \\ --scheduler-name=kube-scheduler my-custom-scheduler.service 1 2 3 ExecStart=/usr/local/bin/kube-scheduler \\ --config=/etc/kubernetes/config/kube-scheduler.yml \\ --scheduler-name=my-custom-scheduler Scheduler YAML /etc/kubernetes/manifests/kube-scheduler.yaml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 apiVersion: v1 kind: Pod metadata: name: kube-scheduler namespace: kube-system spec: containers: - command: - kube-scheduler - --address=127.0.0.1 - --kubeconfig=/etc/kubernetes/scheduler.conf - --leader-elect=true image: k8s.

Kubernetes Static Pod

Static PODs vs DaemonSets Static PODs DaemonSets Created by kubelet Created by kube-api server (DaemonSet Controller) Deploy Control Plane components as Static PODs Deploy Monitoring Agents, Logging Agents on Nodes Ignore kube-scheduler Ignore kube-scheduler Default Static PODs Location Static PODs When created or deleted a YAML file in the /etc/kubernetes/manifests, the PODs will be created or deleted automatically. 1 cd /etc/kubernetes/manifests Check How many PODs exist in the Node 1 ls /etc/kubernetes/manifests Imperative 1 kubectl run --restart=Never --image=nginx --dry-run=client -o yaml --command sleep 1000 > /etc/kubernetes/manifests/nginx.

Kubernetes DaemonSet

What is the DaemonSet? DaemonSet The DaemonSet is working for managing PODs that you need to deploy or delete all Nodes in the cluster. That means, when you add a Node in the cluster or delete one of them, DeaemonSet is deploying or deleting POD to the Node. How to work DaemonSet in Kubernetes Behavior till v1.12 The Kubernetes uses nodeName property. From v1.12 The Kubernetes uses default scheduler and NodeAffinity property.

PHP Composer Autoload

Composer This is a package manager in PHP. The official site is a here Initialize Composer 1 composer init Configuration composer.json 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 { "name": "<vendor>/<name>", "type": "<type>", "authors": [ { "name": "<name>", "email": "<email>" } ], "autoload": { "psr-4": { "App\\": "<path/to/class>" } }, "description": "<description>" } Apply Configuration to Composer 1 composer dump-autoload