Question : The Nautilus DevOps teams is planning to set up a Grafana tool to collect and analyze analytics from some applications. They are planning to deploy it on Kubernetes cluster. Below you can find more details.
1.) Create a deployment named grafana-deployment-nautilus using any grafana image for Grafana app. Set other parameters as per your choice.
2.) Create NodePort type service with nodePort 32000 to expose the app.
You need not to make any configuration changes inside the Grafana app once deployed, just make sure you are able to access the Grafana login page.
Note: The kubeclt on jump_host has been configured to work with kubernetes cluster.
1. Check existing running Pods & Services
thor@jump_host
~$ kubectl get pods No resources
found in default namespace. thor@jump_host
~$ thor@jump_host
~$ kubectl get services NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)
AGE kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 13m thor@jump_host ~$ |
2. Create a YAML file with all the parameters, Kindly do the changes as per task
you can copy from GitLab https://gitlab.com/nb-tech-support/devops.git
( Refer Below Video for more clarity )
thor@jump_host ~$ vi /tmp/grafana.yaml thor@jump_host
~$ cat /tmp/grafana.yaml apiVersion: v1 kind: Service metadata: name: grafana-service-nautilus spec: type: NodePort selector: app: grafana ports: -
port: 3000 targetPort: 3000 nodePort: 32000 --- apiVersion:
apps/v1 kind: Deployment metadata: name: grafana-deployment-nautilus spec: selector: matchLabels: app: grafana template: metadata: labels: app: grafana spec: containers: - name: grafana-container-nautilus image: grafana/grafana:latest ports: - containerPort: 3000 thor@jump_host
~$ |
3. Run the below command to create a pod
thor@jump_host
~$ kubectl create -f /tmp/grafana.yaml service/grafana-service-nautilus
created deployment.apps/grafana-deployment-nautilus created thor@jump_host ~$ |
thor@jump_host ~$ kubectl get service NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE grafana-service-nautilus NodePort
10.96.194.115
<none>
3000:32000/TCP 14s kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 15m thor@jump_host
~$ thor@jump_host
~$ kubectl get pods NAME
READY STATUS RESTARTS
AGE grafana-deployment-nautilus-66bb8cdd8b-2tp4h 1/1
Running 0 22s thor@jump_host
~$ |
6. Click on Finish & Confirm to complete the task successfully
Happy Learning!!!!
Apart from this if you need more clarity, I have made a tutorial video on this, please go through and share your comments. Like and share the knowledge
0 Comments