问题
阿里云的Kubernetes容器服务,默认已经根据生产的要求创建好了3个master的高可用集群。每个master节点都部署了对应的apiserver, controller, scheduler。对于一些高级用户,特别是在开发测试阶段,或许需要调整这些组件的日志级别来dubug其运行的行为,则需要手工做一下日志级别的调整。那么我们需要了解阿里云的kubernetes是如何配置,从而“hack”它。
了解阿里云Kubernetes的部署方式
Docker的部署
Docker是通过systemd部署,可以登录到一台master,通过
systemctl status docker
查看docker daemon的状态,从而知道docker的配置在/usr/lib/systemd/system/docker.service
可以查看改文件知道,docker的日志配置:
那么可以知道容器的stdout的日志将存在容器的目录里,文件为/var/lib/docker/containers/<container-id>/<container-id>-json.log
Kubelet的部署方式
Kubelet也是通过systemd部署,可以登录到一台master,通过
systemctl status kubelet
查看kubelet的运行状态,从而知道kubelet的配置在/etc/systemd/system/kubelet.service.d/10-kubeadm.conf
可以查看改文件知道,kubelet的运行配置为:
红色框是配置static pod的对应的yaml文件所在的路径:/etc/kubernetes/manifests
Static Pod的使用和原理可以参见:https://kubernetes.io/docs/tasks/administer-cluster/static-pod/
scheduler的日志启动参数
进入/etc/kubernetes/manifests
目录,可以看到有三个文件,这个就是apiserver, scheduler, controller的pod的运行yaml文件阅读全文请点击