基本资源概念
Pod: k8s最小部署单元,一组容器的集合
Deployment: 最常见的控制器,用于更高级别部署和管理Pod
Service:为一组Pod提供负载均衡,对外提供统一访问入口
Label:标签,附加到某个资源上,用于关联对象、查询和筛选
Namespaces:命名空间,将对象逻辑上隔离,也有利于权限控制
编辑
查看资源集群状态
查看master组件状态
kubectl get cs
编辑
查看node状态
kubectl get node
编辑
查看资源的详细:
kubectl describe
编辑
查看资源信息:
kubectl get #-o wide 、-o yaml
编辑
监控集群资源利用率
查看Node资源消耗
kubectl top node node name>
查看Pod资源消耗
kubectl top pod pod name>
编辑
执行时可能会提示错误:error:Metrics API not available
这是因为这个命令需要由metric-server服务提供数据,而这个服务默认没有安装,还需要手动部署下。
编辑
kubectl top执行流程
kubectl top -> apiserver -> metric-server -> kubelet(cadvisor) -> 容器
手动部署Metrics
1、从网上新下载的需要将文件内的镜像改成国内的地址
sed -i 's/k8s.gcr.io/metrics-server/registry.cnhangzhou.aliyuncs.com/google_containers/g'
Metrics Server部署默认使用证书
2、还要按照下列步骤修改成忽略认证
https://kubelet 自签证书
1、携带kubelet所用https的根证书及客户端证书
2、忽略证书认证
方法:
增加一个kubelet-insecure-tls参数,这个参数作用是告诉metrics-server不验证kubele提供的https证书
编辑
然后apply
编辑
查看拉起的镜像
编辑
检查是否部署成功
kubectl get apiservices |grep metrics
kubectl get --raw /apis/metrics.k8s.io/v1beta1/nodes
编辑
如果状态True并能返回数据说明Metrics Server服务工作正常
k8s Cluster(集群)里面部署的应用程序
标准输出
日志文件
systemd守护进程管理的组件
journalctl -u kubelet #会发现有很多错误
Pod部署的组件
kubectl logs 组件名 -n kube-system
编辑
系统日志
tail -f /var/log/messages
查看容器标准输出日志
kubectl logs
kubectl logs -f
编辑
标准输出在宿主机的路径
/var/lib/docker/containers//-json.log
日志文件,进入到终端日志目录查看
kubectl exec -it -- bash #进入容器终端
编辑