资讯专栏INFORMATION COLUMN

【容器云 UK8S】常见问题及排障指南:入门必读之Pod 常见命令,Controller 常见命令和

Tecode / 1936人阅读

摘要:入门必读提供了一系列的命令行工具来辅助我们调试和定位问题,本指南列举一些常见的命令来帮助应用管理者快速定位和解决问题。这里以为例,介绍的常用命令其他的命令类型与其一致。

入门必读

Kubernetes 提供了一系列的命令行工具来辅助我们调试和定位问题,本指南列举一些常见的命令来帮助应用管理者快速定位和解决问题。

定位问题

在开始处理问题之前,我们需要确认问题的类型,是 Pod ,Service ,或者 Controller(Deployment、StatefulSet) 的问题,然后分别使用不同的命令来查看故障原因。

Pod 常见命令

当我们发现 Pod 处于 Pending 状态,或者反复 crash,无法接受流量,可以使用以下命令来快速定位问题:

  1. 获取 Pod 状态
kubectl -n ${NAMESPACE} get pod  -o wide 
  1. 查看 Pod 的 yaml 配置
kubectl -n ${NAMESPACE} get pod ${POD_NAME}  -o yaml
  1. 查看 Pod 事件
kubectl  -n ${NAMESPACE} describe pod ${POD_NAME}
  1. 查看 Pod 日志
kubectl  -n ${NAMESPACE} logs ${POD_NAME} ${CONTAINER_NAME}
  1. 登录 Pod
kubectl -n ${NAMESPACE} exec -it  ${POD_NAME} /bin/bash

Controller 常见命令

控制器负责 Pod 的生命周期管理,一般 Pod 无法被注册时,可以通过 Controller 来查看原因。这里以 Deployment 为例,介绍 Kubernetes Controller 的常用命令其他 Controller 的命令类型与其一致。

  1. 查看 Deployment 状态
kubectl -n ${NAMESPACE} get deploy -o wide
  1. 查看 Deployment yaml 配置
kubectl -n ${NAMESPACE} get deploy ${DEPLOYMENT_NAME} -o yaml
  1. 查看 Deployment 事件
kubectl -n ${NAMESPACE} describe deployment ${DEPLOYMENT_NAME}

Service 常见命令

Service 描述了一组 Pod 的访问方式,当我们发现应用无法访问时,则需要使用 Service 命令来查看故障原因。

  1. 查看 Service 状态
kubectl  -n ${NAMESPACE} get svc -o wide 

我们可以通过上述命令查看到 Service 的类型、集群内部和外部IP、暴露的端口,以及 Selector 信息。

  1. 查看 Service 事件及负载均衡信息
kubectl  -n ${NAMESPACE} describe svc ${SERVICE_NAME} 

Name:              example-app
Namespace:         default
Labels:            app=example-app
Annotations:       
Selector:          app=example-app
Type:              ClusterIP
IP:                10.2.192.27
Port:              web  8080/TCP
TargetPort:        8080/TCP
Endpoints:         192.168.59.207:8080192.168.75.87:8080192.168.84.90:8080
Session Affinity:  None
Events:            

如上所示,我们可以通过这个命令查看到 Service 的 Endpoints 信息,Endpoints信息如果为空,则说明 Service 的配置信息有误,Service 无法将流量转发到相应的 Pod. 另外还有 Port 及 TargetPort 信息,确保与业务实际暴露的端口一致。

实时文档欢迎访问https://docs.ucloud.cn/uk8s/troubleshooting/startguide

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/126283.html

相关文章

  • 容器 UK8S】使用kubectl操作集群:kubectl语法及一些常见命令示例

    摘要:是一个用于操作集群的命令行工具,本文将简要介绍下的语法,并提供一些常见命令示例,如果你想了解深入了解的用法,请查阅官方文档,或使用命令查看详细帮助。常见命令使用一个文件或者标准输入创建资源。kubectl命令行简介由于查看集群凭证可以直接登录集群,所以查看集群凭证的操作已归为用户角色权限中的增权限,如需查看集群凭证,请确保所在角色已开启UK8S增权限。kubectl是一个用于操作kubern...

    Tecode 评论0 收藏0
  • 容器UK8S】新手指导

    摘要:详细请见产品价格产品概念使用须知名词解释漏洞修复记录集群节点配置推荐模式选择产品价格操作指南集群创建需要注意的几点分别是使用必读讲解使用需要赋予的权限模式切换的切换等。UK8S概览UK8S是一项基于Kubernetes的容器管理服务,你可以在UK8S上部署、管理、扩展你的容器化应用,而无需关心Kubernetes集群自身的搭建及维护等运维类工作。了解使用UK8S为了让您更快上手使用,享受UK...

    Tecode 评论0 收藏0
  • 容器 UK8S】镜像制作与容器常见问题:为什么节点已经异常了,但是 Pod 还处在 Runnin

    摘要:对于节点已经登陆不了的情况,如果希望快速恢复可以在控制台找到对应主机断电重启。与绑定完成,插件完成后续的挂载和等工作。UK8S 人工支持对于使用 UK8S 遇到的本文档未涉及的问题,如果需要人工支持,请添加下面公钥信任,并提供主机的 uhost-idssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGIFVUtrp+jAnIu1fBvyLx/4L4GNsX+6v8...

    Tecode 评论0 收藏0
  • 集群节点配置推荐 容器 UK8S

    摘要:对于存储资源,的节点默认系统盘。节点创建时可选择数据盘挂载亦可在节点创建完成后在主机侧挂载,如节点挂载有数据盘,将用于存放本地镜像的,否则本地镜像等将保存在系统盘。 集群节点配置推荐本篇目录1. Master 配置推荐2. 如何选择 Node 配置大小1. Master 配置推荐Master 规格跟集群规模有关,集群规模越大,所需要的 Master 规格也越高,不同集群规模的,Master ...

    ernest.wang 评论0 收藏2218
  • 容器 UK8S】服务发现:通过外网ULB访问Service教程

    摘要:通过外网访问使用提醒请勿修改由创建的及的名称和备注,否则会导致异常无法访问。通过外网暴露服务以后的插件,外网同时支持和两种协议,下文示例中,对外暴露了三个端口,其中端口使用协议,和使用协议。是否支持多协议目前同时支持和协议。通过外网ULB访问Service1、使用提醒请勿修改由UK8S创建的ULB及Vserver的名称和备注,否则会导致Service异常无法访问。除外网EIP外,ULB相关参...

    Tecode 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<