72

I am creating an InfluxDB deployment in a Kubernetes cluster (v1.15.2), this is my yaml file:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: monitoring-influxdb
  namespace: kube-system
spec:
  replicas: 1
  template:
    metadata:
      labels:
        task: monitoring
        k8s-app: influxdb
    spec:
      containers:
      - name: influxdb
        image: registry.cn-hangzhou.aliyuncs.com/google_containers/heapster-influxdb-amd64:v1.5.2
        volumeMounts:
        - mountPath: /data
          name: influxdb-storage
      volumes:
      - name: influxdb-storage
        emptyDir: {}
---
apiVersion: v1
kind: Service
metadata:
  labels:
    task: monitoring
    # For use as a Cluster add-on (https://github.com/kubernetes/kubernetes/tree/master/cluster/addons)
    # If you are NOT using this as an addon, you should comment out this line.
    kubernetes.io/cluster-service: 'true'
    kubernetes.io/name: monitoring-influxdb
  name: monitoring-influxdb
  namespace: kube-system
spec:
  ports:
  - port: 8086
    targetPort: 8086
  selector:
    k8s-app: influxdb

And this is the pod status:

$ kubectl get deployment -n kube-system
NAME                   READY   UP-TO-DATE   AVAILABLE   AGE
coredns                1/1     1            1           163d
kubernetes-dashboard   1/1     1            1           164d
monitoring-grafana     0/1     0            0           12m
monitoring-influxdb    0/1     0            0           11m

Now, I've been waiting 30 minutes and there is still no pod available, how do I check the deployment log from command line? I could not access the Kubernetes dashboard now. I am searching a command to get the pod log, but now there is no pod available. I already tried to add label in node:

kubectl label nodes azshara-k8s03 k8s-app=influxdb

This is my deployment describe content:

$ kubectl describe deployments monitoring-influxdb -n kube-system
Name:                   monitoring-influxdb
Namespace:              kube-system
CreationTimestamp:      Wed, 04 Mar 2020 11:15:52 +0800
Labels:                 k8s-app=influxdb
                        task=monitoring
Annotations:            kubectl.kubernetes.io/last-applied-configuration:
                          {"apiVersion":"extensions/v1beta1","kind":"Deployment","metadata":{"annotations":{},"name":"monitoring-influxdb","namespace":"kube-system"...
Selector:               k8s-app=influxdb,task=monitoring
Replicas:               1 desired | 0 updated | 0 total | 0 available | 0 unavailable
StrategyType:           RollingUpdate
MinReadySeconds:        0
RollingUpdateStrategy:  1 max unavailable, 1 max surge
Pod Template:
  Labels:  k8s-app=influxdb
           task=monitoring
  Containers:
   influxdb:
    Image:        registry.cn-hangzhou.aliyuncs.com/google_containers/heapster-influxdb-amd64:v1.5.2
    Port:         <none>
    Host Port:    <none>
    Environment:  <none>
    Mounts:
      /data from influxdb-storage (rw)
  Volumes:
   influxdb-storage:
    Type:        EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:   <unset>
OldReplicaSets:  <none>
NewReplicaSet:   <none>
Events:          <none>

This is another way to get logs:

$ kubectl -n kube-system logs -f deployment/monitoring-influxdb
error: timed out waiting for the condition

There is no output for this command:

kubectl logs --selector k8s-app=influxdb

There is all my pod in kube-system namespace:

~/Library/Mobile Documents/com~apple~CloudDocs/Document/k8s/work/heapster/heapster-deployment ⌚ 11:57:40
$ kubectl get pods -n kube-system
NAME                                  READY   STATUS    RESTARTS   AGE
coredns-569fd64d84-5q5pj              1/1     Running   0          46h
kubernetes-dashboard-6466b68b-z6z78   1/1     Running   0          11h
traefik-ingress-controller-hx4xd      1/1     Running   0          11h
4
  • kubectl logs not give you all detail ? Commented Mar 4, 2020 at 3:38
  • how to using kubectl logs get deployment info?@KhanhLeTran Commented Mar 4, 2020 at 3:41
  • kubectl logs --selector app=yourappname try this for more information Commented Mar 4, 2020 at 3:49
  • Can you try this, kubectl describe pod -n kube-system <influxdb-podName> ? Commented Mar 4, 2020 at 3:56

4 Answers 4

177
kubectl logs deployment/<name-of-deployment> # logs of deployment
kubectl logs -f deployment/<name-of-deployment> # follow logs
Sign up to request clarification or add additional context in comments.

2 Comments

Is there a way to have the pod-id displayed in the log?
thank you! I was missing the prefix deployment/ and kubectl kept complaining pods not found
10

You can try kubectl describe deploy monitoring-influxdb to get some high-level view of the deployment, maybe some information here.

For more detailed logs, first get the pods: kubectl get po Then, request the pod logs: kubectl logs <pod-name>

1 Comment

can you please tell me how can I see the kubernetes user with whose credentials has done the deployment
8

you can try :

kubectl get events -n <your_namespace>

Comments

1

Adding references of two great tools that might help you view cluster logs:

  1. If you wish to view logs from your terminal without using a "heavy" 3rd party logging solution I would consider using K9S which is a great CLI tool that help you get control over your cluster.

  2. If you are not bound only to the CLI and still want run locally I would recommend on Lens.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.