文章插图
连接Kubernetes1、 进入Microsoft Azure 管理页面,并选择创建的Kubernetes 服务 。
2、 选择概述页面、点击点击连接会出现以下界面
文章插图
3、 打开Windows CMD命令窗口输入az login,并且在弹出的登录页面进行登录验证(注意Azure 是国内版还是国外版的,需要对应切换环境) 。
4、 输入第2步的两个连接命令,依次输入 。
5、 输入kubectl get pods -n <命名空间名>来查询pod信息 。
文章插图
查看Pod描述和日志【AKS Azure Kubernetes部署及查看应用资源】上面我们讲了怎么连接到Azure Kubernetes服务并且查询Pods信息,下面我们看下怎么查看Pod更具体的信息来分析Pod状态 。
在应用部署的时候,特别是在最开始的时候,特别容易碰到部署不成功的情况 。例如Pod出现ErrImagePull或者ImagePullBackOff、或者出现CrashLoopBackOff等等,那么我们就需要查询Pod的描述或者日志等等来定位到错误信息 。
1、 保持上面的kubernetes 连接,并且在CMD里面输入kubectl describe pod <pod名称> -n <命名空间名称>查看描述
2、 Kubectl logs -f <pod名称> -n <命名空间名称> 查看日志
例如我这里部署一个demo,镜像配置一个不存在的镜像 。就会出现ImagePullBackOff的都问题,我们可以查看描述
文章插图
文章插图
例如对于CrashLoopBackOff的情况一般是启动后又失败了 , 这时候我们可能更需要查看log日志来定位信息了,一般问题是在程序启动时报错 。例如数据库连接、redis连接、接入第三方连接报错等等
查看资源消耗情况上面我们看了怎么查询定位应用部署中遇到的问题,现在我们来看看在应用运行中可能会遇到那些问题 。在程序运行中可能会遇到部署的程序资源耗尽然后导致Pod假死或者重启的情况、也有可能怎么节点甚至是Kubernetes服务资源耗尽的情况 。这次我们主要针对如何查询资源信息 。
1、 查询node 资源情况 。Kubectl top node
2、 查询Pod资源情况kubectl top pod -n <命名空间名称>
在Kubernetes服务中心部署可以使用自带的负载均衡 。第一种情况是节点池资源充足,但是对应Pod的资源消耗殆尽甚至超过了 。这就是在配置Pod的yaml文件中的资源限制配置问题了 。yaml文件中resources配置中的requests最低需求和limits最大限制 。第二种就是node节点的资源直接消耗殆尽了 。一般这时候就需要看看是否需要增加配置,同时也需要检查应用程序,再看看具体是CPU还是内存了 , 是否有代码造成了内存泄漏 。优化长时间处理的代码 。
进入Pod中查看文件进入Pod的命令kubectl exec -ti <Pod名称>-n <> sh 。跟进入docker镜像内部相似进入进去后输入ls命令发现其实就是打包之前的应用程序 。
文章插图
生命不息、战斗不止!
推荐阅读
- Azure DevOps Pipelines部署.Net Core 应用到Kubernetes
- kubernetes Tcp流量可视化
- Docker Desktop 可以直接启用Kubernetes 1.25 了
- 企业运维 | MySQL关系型数据库在Docker与Kubernetes容器环境中快速搭建部署主从实践
- 广东GURBAKS品牌怎么样?