首页
学习
活动
专区
圈层
工具
发布

Kubernetes故障排除手册

另一方面,审计日志 kind: Policy 对于确保集群的合规性和安全性很有用。它们可以显示登录尝试、Pod 权限提升等等。...查看事件 要查看集群中的事件,请使用 kubectl get events 命令: kubectl get events 输出示例: LAST SEEN TYPE REASON OBJECT MESSAGE...例如,要查看与特定 Pod 相关的事件: kubectl get events --field-selector involvedObject.name=web-server-pod 描述资源 kubectl...使用仪表盘 仪表盘提供各种功能来帮助管理和排查 Kubernetes 集群: 集群概述: 查看集群的总体状态,包括节点、命名空间和资源使用情况。...使用 mirrord 进行远程调试 Mirrord 是一款开源工具,它允许通过在 Kubernetes 集群和远程基础设施的上下文中运行本地进程来进行 Kubernetes 服务的远程调试。

1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Kubernetes 101

    状态集(StatefulSets):类似于部署,但用于相同应用程序的副本必须相互协调才能维护状态的应用程序。状态集管理豆荚唯一副本的生命周期。对于状态集来说,Sensu Go后台集群是一个不错的选择。...你可以通过Kubernetes REST API与集群交互。与其自己构造HTTP请求,不如使用一个名为kubectl的方便的命令行工具。 Kubectl Kubectl支持对集群发出命令。...你可能会经常使用kubectl get和kubectl describe命令,因为你将使用它们来查看pod、部署、服务和秘密等的状态。...get动词将列出你指定类型的资源: kubectl get pods 上面将列出在你的集群中运行的pods(更准确地说,是在集群上的命名空间中运行的pods,但是在这增加了更多的复杂性)。...kubectl describe pod fun-pod Create,apply 使用以下内容有助于在集群中使用资源: kubectl create 在学习之外,通常最好创建清单文件并使用kubectl

    1.2K30

    Knative 如何释放无服务器的力量

    您的集群必须至少有两个 CPU 和 4GB RAM。 您还必须安装 Knative Serving 及其所需的依赖项,包括配置了 DNS 的网络层。  在继续之前按照 官方安装说明进行操作。...您现在可以kubectl像对待任何其他 Kubernetes 进程一样使用来观察可用的不同资源。...看一下服务: $ kubectl GET ksvc 名称URL LATESTCREATED LATESTREADY就绪原因 knservice的http:// knservice.default.example.com...$ kubectl get pods在默认命名空间中 找不到资源。 应用程序扩展到零个实例,不再需要任何资源。这是 Serverless 的核心原则之一:如果不需要资源,则不消耗任何资源。...对于已经使用 Kubernetes 的开发人员来说,Knative 是一个易于访问和理解的扩展解决方案。

    1.8K20

    使用 Thanos 实现 Prometheus 的高可用

    ,然后冷数据同步到远程存储中去,对于大型集群来说频繁的去拉取指标数据势必会对网络造成更大的压力。...上面的几种方案基本上都可以满足基本的 Prometheus 高可用,但是对于大型集群来说,一个 Prometheus 实例的压力始终非常大。...对于小规模集群和大规模集群可以采用不同的方案,但是其中有一个非常重要的部分就是远程存储,我们需要保证数据的持久化就必须使用远程存储。...Sidecar 组件 首先将前面章节中的 Prometheus 相关的资源对象全部删除,然后我们需要在 Prometheus 中去自动发现集群的一些资源对象,所以依然需要对应的 RBAC 权限声明:(rbac.yaml...,然后直接创建上面的资源清单文件: $ kubectl apply -f compactor.yaml $ kubectl get pods -n kube-mon -l app=thanos-compactor

    8.8K32

    19-Kubernetes进阶之学习企业实践扩充记录

    资源效率,集群中每个节点使用 1 mili 的 CPU 核心和 2 MB 的内存。 可扩展支持多达 5,000 个节点集群。...描述: 在pipeline中的CD环节,常常需要将业务产品部署到不同的K8S集群,比如开发环境、测试环境、生产环境,此时可以使用 kubectl config相关命令来进行多个远程集群的配置并采用rbac...下面我们从两个方面进行验证,一是在本地集群创建指定用户只能访问特定名称空间的资源,二是指定用户接入远程集群中并且只能访问特定名称空间的资源, 我们需要重点关注三大要素即 集群(clusters)、上下文...base64 编码] -----END CERTIFICATE----- EOF 步骤02.在本地集群中利用kubectl config set-cluster命令设置远程集群。...步骤 07.在本地集群中使用–kubeconfig指定前面生成集群连接配置,访问远端集群中devtest名称空间下的资源, 如果访问其它名称空间的资源是没有权限的。

    1.4K20

    053.Kubernetes集群管理-Helm部署及使用

    (v3版本已移除) chart:Helm 的打包格式叫做 chart,所谓 chart 就是一系列文件, 它描述了一组相关的 k8s 集群资源,即包含了一组定义 Kubernetes 资源相关的 YAML...2.3 chart基本结构 Helm的打包格式叫做chart,所谓chart就是一系列文件, 它描述了一组相关的 k8s 集群资源。...三 Helm部署安装 3.1 前置准备 Helm 将使用 kubectl 在已配置的集群上部署 Kubernetes 资源,因此需要如下前置准备: 正在运行的 Kubernetes 集群; 本地 Docker...客户端; 预配置的 kubectl 客户端和 Kubernetes 集群正确交互。...注意:由于许多chart需要较大的镜像,需要一定时间才能正确部署至集群,Helm不会等到所有资源都在运行后才退出。

    1.6K20

    崩溃!K8s Pod卡在Pending状态?8大“坑爹”原因全解析!(附终极排查指南)

    但转念一想,这简直是K8s界的“月经问题”!连夜肝出这篇《Pod Pending八宗罪》,看完直接让Bug原地消失! 1. 资源不足:你的集群被“榨干”了吗?...节点资源告急:CPU、内存、GPU被“吃干抹净”,Pod只能干瞪眼! Pod是“资源黑洞”:requests设置太夸张,根本找不到接盘侠节点!...标签对不上:K8s版“相亲翻车现场” NodeSelector太挑剔:Pod非要找带“高富帅”标签的节点,结果全集群都是“普信男”!...资源过载:节点内存泄漏像黄河决堤,直接拖垮整个集群! ️...5️⃣ 镜像仓库大拷问: kubectl get events | grep -i "pull" 6️⃣ 资源审计三件套: kubectl top nodes && kubectl top

    1.2K10

    Gitlab CI 集成 Kubernetes

    工具操作集群的时候并没有关联上任何集群。...文件来链接集群,当然我们可以把连接集群的信息直接内置到上面的这个镜像中去,这样就可以直接操作集群了,但是也有一个不好的地方就是不方便操作,假如要切换一个集群还得重新制作一个镜像。...cluster-info dump'. 3.CA证书、Token、项目命名空间 对于我们这个项目准备部署在一个名为gitlab的 namespace 下面,所以首先我们需要到目标集群中创建一个 namespace...- deploy 你可以指定用于在全局或者每个作业上执行命令的镜像: # 对于未指定镜像的作业,会使用下面的镜像 image: golang:1.10.3-stretch # 或者对于特定的job使用指定的镜像...资源清单文件中使用的私有镜像,所以我们需要配置一个imagePullSecret,否则在 Kubernetes 集群中是无法拉取我们的私有镜像的:(替换下面相关信息为自己的) $ kubectl create

    2K20

    VictorialMetrics 集群模式的使用

    前面我们介绍了单节点版本的 VictorialMetrics 的使用,对于低于每秒一百万个数据点的摄取率,建议使用单节点版本而不是集群版本。...集群扩展 VM 集群的性能和容量可以通过两种方式进行扩展: 通过向集群中的现有节点添加更多资源(CPU、RAM、磁盘 IO、磁盘空间、网络带宽),也叫垂直可扩展性。...对于集群扩展有一些通用的建议: 向现有 vmselect 节点添加更多 CPU 和内存,可以提高复杂查询的性能,这些查询可以处理大量的时间序列和大量的原始样本。...建议为你的生产工作负载部署一个测试的 VictoriaMetrics 集群,并反复调整每个节点的资源和每个节点类型的节点数量,直到集群变得稳定。...VictoriaMetrics 集群的一些容量规划技巧: 副本集将集群所需的资源量最多增加 N 倍,其中 N 是复制因子。

    2K30

    红队视角出发的k8s敏感信息收集——Kubernetes API 扩展与未授权访问

    枚举集群中的 CRD 列出所有 CRD 为了枚举Kubernetes集群中的自定义资源定义(Custom Resource Definitions, CRDs),可以使用kubectl get crd命令...执行以下命令来列出集群中所有的CRD,并以宽格式输出(-o wide),以便获取更多细节: kubectl get crd -o wide 运行上述命令后,你可能会看到类似如下的输出: NAME...,包括它的规格、状态、已建立的资源版本等详细信息,这对于理解CRD的功能及其在集群中的使用情况非常有用。...例如,使用Trivy扫描一个本地或远程的Docker镜像: trivy image 查询自定义资源数据 获取自定义资源实例 为了查询特定自定义资源(CR)的实例数据,你可以使用...kubectl get命令并指定自定义资源的类型和命名空间。

    92720

    在 Kubernetes 集群上部署 VSCode

    近来由于武汉冠状病毒疫情的扩散,很多公司不得不开始了远程办公的模式,远程办公最大的成本自然是沟通成本了,对于我们开发人员来说最重要的自然也是有一个顺手的 IDE 工具,现在在云端作业的工具也在逐渐增长,...比如最近比较流行的设计应用 Figma,就完全是云端操作的方式,大有要取代 Sketch 的趋势,对于开发工具来说云端 IDE 也逐渐受到大家重视,特别是对于远程办公的团队,Cloud IDE 允许开发团队在一个统一的开发环境中实时协作的工具...而且只需要通过 web 浏览器就可以访问,还有一个优点就是可以利用集群的能力,这可以大大超过我们之前的个人 PC 的处理能力,我们也不用为本地 IDE 占用了电脑大量资源而苦恼了。 ?...: $ kubectl apply -f code-server.yaml 创建完成后我们可以通过查看 Pod 的状态来了解应用运行情况: $ kubectl get pods -n code-server...同样直接创建上面资源对象即可: $ kubectl apply -f ingress-route.yaml $ kubectl get ingressroute -n code-server NAME

    2.1K20

    初试 Kubernetes 暴漏服务类型之 Nginx Ingress

    官网对 Ingress 的定义为管理对外服务到集群内服务之间规则的集合,通俗点讲就是它定义规则来允许进入集群的请求被转发到集群中对应服务上,从来实现服务暴漏。...,有局限性,对于使用云平台的集群比较方便。...NodePort Service NodePort Service 是通过在节点上暴漏端口,然后通过将端口映射到具体某个服务上来实现服务暴漏,比较直观方便,但是对于集群来说,随着 Service 的不断增加...当然对于小规模的集群服务,还是比较不错的。 Ingress Ingress 使用开源的反向代理负载均衡器来实现对外暴漏服务,比如 Nginx、Apache、Haproxy等。...访问 dashboard.k8s.ingress 完美运行,但是访问 kibana.k8s.ingress 却不能正常进入到 UI 界面,控制台调试以下,发现出现了请求资源 404 错误,类似下边的请求资源的错误

    3.2K91

    Kubernetes节点深度解析:核心作用与安全下线实践指南

    作为Kubernetes集群的基本组成部分,节点(Node) 承担着运行工作负载、提供计算资源等重要职责。...1.2 提供计算资源 节点向集群提供: CPU 内存 存储(临时卷、持久卷) 网络(IP、带宽) 资源使用情况通过kubectl describe node 查看: kubectl...以下是详细步骤: 2.1 检查节点状态 在操作前,确认节点和Pod状态: kubectl get nodes kubectl get pods -o wide | grep 确保节点处于...预留缓冲资源:确保集群有足够容量接收迁移的Pod。 监控迁移过程: watch kubectl get pods -o wide 记录操作日志:便于审计和故障回溯。...自动化工具:对于大规模集群,使用Ansible或Terraform脚本自动化下线流程。 结语 Kubernetes节点的安全下线是集群运维中的关键操作。

    27510

    运维篇 k8s(Kubernetes)

    kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能;它是google在2014年发布的一个开源项目,据说google的数据中心里运行着10多一个容器...组件 etcd 保存了整个集群的状态,服务注册发现; kube-apiserver 提供了资源操作的唯一入口,并提供认证、授权、访问控制等机制; kube-controller-manager 负责维护集群的状态...安装kubelet、kubeadm、kubectl kubelet:主要负责启动pod和容器 kubeadm:用于初始化kubernetes集群 kubectl:kubernetes的命令行工具,作用是部署和管理应用...,查看各种资源,创建,删除和更新组件 #安装系统工具 apt-get update && apt-get install -y apt-transport-http 安装gpg证书 curl https...之后设置后,看到successful小激动一下,记下下图中最下面的那行用来加入节点的,如果你清空面板,找不到了,就找刚刚保存的那个日志文件: kubeadm-init.log ?

    4.2K10

    【详解】K8S集群卸载清理

    无论是为了迁移、升级还是彻底删除不再使用的资源,正确的卸载和清理过程对于保持环境的整洁和安全至关重要。本文将详细介绍如何安全地卸载K8S集群,并清理所有相关的资源。...可以通过以下命令列出所有的命名空间和它们中的资源:kubectl get namespaceskubectl get all --all-namespaces然后,逐个删除这些资源,例如:kubectl...确保所有数据已经备份,然后删除这些卷:kubectl get pvkubectl delete pv 验证卸载完成上述步骤后,可以通过检查系统状态来验证K8S集群是否已成功卸载:检查是否有残留的...清理未使用的资源清理未使用的 PVC(PersistentVolumeClaims)kubectl get pvc --all-namespaces | grep "Released" | awk '{...使用脚本进行自动化清理可以编写一个脚本来自动化这些清理操作。以下是一个简单的 Bash 脚本示例:#!

    85400

    Linkerd 2.10(Step by Step)—将 GitOps 与 Linkerd 和 Argo CD 结合使用

    向存储库添加一个新的远程端点以指向集群内 Git 服务器,这将在下一节中设置: cd linkerd-examples git remote add git-server git://localhost...因此,我们刚刚创建的远程端点以您的 localhost 为目标。...applications 进行分组: kubectl apply -f gitops/project.yaml 该项目定义了我们的应用程序可以使用的允许资源种类和目标集群的列表。...确认项目部署正确: argocd proj get demo 在仪表板上: 部署应用程序 部署作为所有其他应用程序的 "parent" 应用程序的 main 应用程序: kubectl apply...确保此资源与您之前推送到集群内 Git 服务器 的 gitops/resources/linkerd/trust-anchor.yaml 文件匹配。

    2.4K20
    领券