Bota5ky

Kubernetes学习笔记(十六):Monitoring

Kubernetes没有提供功能全面的内置监控解决方案,但有许多开源解决方案可用,如Metrics-Server、Prometheus、Elastic Stack、DATADOG、dynatrace。

Heapster是Kubernetes启用监控和分析功能的原始项目之一,但现已弃用,并形成了一个精简版本,称为Metrics Server(In-Memory)。

Kubelet包含一个称为cAdvisor或container advisor的子组件,负责从pod中检索性能指标,发送给apiserver。

使用Metrics Server

  • 安装

minikube : minikube addons enable metrics-server

others : git clone https://github.com/kubernetes-incubator/metrics-server.git

  • 部署:pods、services、roles

kubectl create -f deploy/1.8+/ : 在下载后repo中执行-f .

  • 查看:kubectl top (node | pod)

Logs

docker run kodekloud/event-simulator,event-simulator用来生成随机事件模拟web服务器,它本身有std ouput,但如果在detach模式下运行run -d,那么想查看日志可以使用docker logs -f container-id,-f选项帮助查看实时日志跟踪。

在Kubernetes中也是一样:

kubectl create -f event-simulator.yaml

apiVersion: v1
kind: Pod
metadata:
  name: event-simulator-pod
spec:
  containers:
  - name: event-simulator
    image: kodekloud/event-simulator

kubectl logs -f pod-name container-name:如果pod中包含多个container,则必须要指明container-name,否则会报错,或用-c指定container。

当Pod有多个容器时打开shell:kubectl -n elastic-stack exec -it app -- cat /log/app.logkubectl exec -i -t my-pod --container main-app -- /bin/bash-iand-tare the same as the long options --stdin and --tty

posted @ 2022-08-20 18:14  Bota5ky  阅读(117)  评论(0)    收藏  举报