Test Ubuntu Deployment/Pod
In order to properly test our logging solution, we will first add a ubuntu deployment to our Kubernetes cluster.
Create our Deployment
Create a yaml file to define our test ubuntu deployment. In this example we have sshd echoing to stdout (-e argument) in order to see the logs in Kubernetes.
$ vi ubuntu.yaml
ubuntu.yaml
apiVersion: v1 kind: Service metadata: name: ubuntu labels: app: ubuntu spec: type: NodePort ports: - port: 22 targetPort: 22 nodePort: 30022 selector: app: ubuntu --- apiVersion: apps/v1 kind: Deployment metadata: name: ubuntu labels: app: ubuntu spec: replicas: 1 selector: matchLabels: app: ubuntu template: metadata: labels: app: ubuntu spec: containers: - name: ubuntu image: rastasheep/ubuntu-sshd:18.04 command: [ "/usr/sbin/sshd","-D","-e" ]
Deploy it
kubectl apply -f ubuntu.yaml
Delete it
Want to start over, you can by deleting your previously applied yaml file.
kubectl delete -f ubuntu.yaml
Test SSH connection
Login to the pod using SSH (default password is root)
ssh -p 30022 root@localhost
Check Logging
$ kubectl get pods NAME READY STATUS RESTARTS AGE ubuntu-ddc759bb8-5blsd 1/1 Running 0 2m14s $ kubectl logs -f ubuntu-ddc759bb8-5blsd Accepted password for root from 192.168.65.6 port 57022 ssh2 Received disconnect from 192.168.65.6 port 57022:11: disconnected by user Disconnected from user root 192.168.65.6 port 57022 Failed password for root from 192.168.65.6 port 57088 ssh2 Failed password for root from 192.168.65.6 port 57088 ssh2 Failed password for root from 192.168.65.6 port 57088 ssh2
References
Reference | URL |
---|---|
Fluent bit | https://docs.fluentbit.io/manual/ |
Fluentbit Kubernetes Logging | https://docs.fluentbit.io/manual/installation/kubernetes |
Azure Log Analytics | https://docs.fluentbit.io/manual/pipeline/outputs/azure |
Azure Monitor overview | https://docs.microsoft.com/en-us/azure/azure-monitor/overview |