Skip to content

hasantahsinakin/frontend-assignment-minikube

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

frontend-assignment-minikube

Kubernetes ELK-Stack

https://medium.com/devopsturkiye/kubernetes-elk-kurulumu-80058c812cf6

minikube kubectl -- get all

NAME                                                READY   STATUS    RESTARTS   AGE
pod/database-679d77bd89-2pt22                       1/1     Running   0          105m
pod/es-cluster-0                                    1/1     Running   0          103m
pod/filebeat-mjccw                                  1/1     Running   0          100m
pod/grafana-d97958b5f-27dvz                         1/1     Running   0          43m
pod/kibana-dep-7f677b4757-mm9f8                     1/1     Running   0          99m
pod/logstash-dep-65bbd65f76-4chwz                   1/1     Running   0          101m
pod/prometheus-alertmanager-94b6f74cf-xh6q2         2/2     Running   0          50m
pod/prometheus-kube-state-metrics-748fc7f64-w2k89   1/1     Running   0          50m
pod/prometheus-node-exporter-hsh2v                  1/1     Running   0          50m
pod/prometheus-pushgateway-5f5cdd4569-d6dkt         1/1     Running   0          50m
pod/prometheus-server-7f4bb6844b-9mw54              2/2     Running   0          50m
pod/web-6f6d6d97bb-49mnt                            1/1     Running   0          104m

NAME                                    TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                         AGE
service/database                        ClusterIP   10.96.181.182    <none>        5432/TCP                        104m
service/elasticsearch                   NodePort    10.110.147.188   <none>        9200:32520/TCP,9300:32445/TCP   103m
service/grafana                         ClusterIP   10.101.70.204    <none>        80/TCP                          43m
service/grafana-np                      NodePort    10.96.214.133    <none>        80:30015/TCP                    28m
service/kibana-svc                      NodePort    10.109.145.147   <none>        5601:32061/TCP                  99m
service/kubernetes                      ClusterIP   10.96.0.1        <none>        443/TCP                         106m
service/logstash-svc                    ClusterIP   10.102.249.9     <none>        5044/TCP                        101m
service/prometheus-alertmanager         ClusterIP   10.105.24.131    <none>        80/TCP                          50m
service/prometheus-kube-state-metrics   ClusterIP   10.101.192.104   <none>        8080/TCP                        50m
service/prometheus-node-exporter        ClusterIP   10.106.146.27    <none>        9100/TCP                        50m
service/prometheus-pushgateway          ClusterIP   10.106.125.108   <none>        9091/TCP                        50m
service/prometheus-server               ClusterIP   10.110.49.48     <none>        80/TCP                          50m
service/prometheus-server-np            NodePort    10.105.125.31    <none>        80:32730/TCP                    49m
service/web                             NodePort    10.101.130.203   <none>        3000:32021/TCP                  103m

NAME                                      DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/filebeat                   1         1         1       1            1           <none>          100m
daemonset.apps/prometheus-node-exporter   1         1         1       1            1           <none>          50m

NAME                                            READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/database                        1/1     1            1           105m
deployment.apps/grafana                         1/1     1            1           43m
deployment.apps/kibana-dep                      1/1     1            1           99m
deployment.apps/logstash-dep                    1/1     1            1           101m
deployment.apps/prometheus-alertmanager         1/1     1            1           50m
deployment.apps/prometheus-kube-state-metrics   1/1     1            1           50m
deployment.apps/prometheus-pushgateway          1/1     1            1           50m
deployment.apps/prometheus-server               1/1     1            1           50m
deployment.apps/web                             1/1     1            1           104m

NAME                                                      DESIRED   CURRENT   READY   AGE
replicaset.apps/database-679d77bd89                       1         1         1       105m
replicaset.apps/grafana-d97958b5f                         1         1         1       43m
replicaset.apps/kibana-dep-7f677b4757                     1         1         1       99m
replicaset.apps/logstash-dep-65bbd65f76                   1         1         1       101m
replicaset.apps/prometheus-alertmanager-94b6f74cf         1         1         1       50m
replicaset.apps/prometheus-kube-state-metrics-748fc7f64   1         1         1       50m
replicaset.apps/prometheus-pushgateway-5f5cdd4569         1         1         1       50m
replicaset.apps/prometheus-server-7f4bb6844b              1         1         1       50m
replicaset.apps/web-6f6d6d97bb                            1         1         1       104m

NAME                          READY   AGE
statefulset.apps/es-cluster   1/1     103m

Kibana auditd - filebeat

kubectl exec -it pod/web-6f6d6d97bb-49mnt --container web -- /bin/bash

curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.14.1-amd64.deb
dpkg -i filebeat-7.14.1-amd64.deb
apt update && apt install vim -y
vi /etc/filebeat/filebeat.yml
filebeat modules enable auditd
filebeat setup
service filebeat start

Install And Configure Helm

https://docs.bitnami.com/kubernetes/get-started-kubernetes/

curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get-helm-3 > get_helm.sh
chmod 700 get_helm.sh
./get_helm.sh

Install Prometheus

https://blog.marcnuri.com/prometheus-grafana-setup-minikube

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm install prometheus prometheus-community/prometheus

kubectl expose service prometheus-server --type=NodePort --target-port=9090 --name=prometheus-server-np
service/prometheus-server-np exposed

minikube service prometheus-server-np --url
http://192.168.49.2:32730

Install Grafana

https://github.com/grafana/helm-charts/blob/main/charts/grafana/README.md

helm repo add grafana https://grafana.github.io/helm-charts
helm install grafana grafana/grafana

W0525 16:12:21.481507   45786 warnings.go:70] policy/v1beta1 PodSecurityPolicy is deprecated in v1.21+, unavailable in v1.25+
W0525 16:12:21.482404   45786 warnings.go:70] policy/v1beta1 PodSecurityPolicy is deprecated in v1.21+, unavailable in v1.25+
W0525 16:12:21.514366   45786 warnings.go:70] policy/v1beta1 PodSecurityPolicy is deprecated in v1.21+, unavailable in v1.25+
W0525 16:12:21.516214   45786 warnings.go:70] policy/v1beta1 PodSecurityPolicy is deprecated in v1.21+, unavailable in v1.25+
NAME: grafana
LAST DEPLOYED: Wed May 25 16:12:21 2022
NAMESPACE: default
STATUS: deployed
REVISION: 1
NOTES:
1. Get your 'admin' user password by running:

   kubectl get secret --namespace default grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo

2. The Grafana server can be accessed via port 80 on the following DNS name from within your cluster:

   grafana.default.svc.cluster.local

   Get the Grafana URL to visit by running these commands in the same shell:

     export POD_NAME=$(kubectl get pods --namespace default -l "app.kubernetes.io/name=grafana,app.kubernetes.io/instance=grafana" -o jsonpath="{.items[0].metadata.name}")
     kubectl --namespace default port-forward $POD_NAME 3000

3. Login with the password from step 1 and the username: admin
#################################################################################
######   WARNING: Persistence is disabled!!! You will lose your data when   #####
######            the Grafana pod is terminated.                            #####
#################################################################################

kubectl get secret --namespace default grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo
8PktodVwIn7KT5CLgOkNaENZE2uENCcUq3oTXcZE

export POD_NAME=$(kubectl get pods --namespace default -l "app.kubernetes.io/name=grafana,app.kubernetes.io/instance=grafana" -o jsonpath="{.items[0].metadata.name}")

kubectl expose service grafana --type=NodePort --target-port=3000 --name=grafana-np
service/grafana-np exposed

minikube service grafana-np --url
http://192.168.49.2:30015

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published