K8S的故障排除命令总结

Deployment

  • 在 Kubernetes 中,通过创建 Deployment ,可以创建应用程序(如同 Docker 的 image)的实例(如同 Docker 的容器),这个实例被包含在 Pod 的概念中,Pod 是 Kubernetes 中的最小管理单元。
  • 在 Kubernetes 集群中创建 Deployment 之后,Deployment 将指示 Kubernetes 集群如何创建和更新应用程序的实例,Master 节点将应用程序实例调度到集群中的具体的节点上。
  • 创建应用程序实例之后,Kubernetes 的 Deployment Controller 将会持续监控这些实例。如果运行这些实例的 Node 节点关机或者被删除,则 Kubernetes 的 Deployment Controller 将在集群中的资源最优的另一个 Node 节点上重新创建一个新的实例,这就提供了一种 自我修复机制 来解决机器故障或维护问题。
  • 在容器编排之前的时代,各种安装脚本通常用于启动应用程序,但是却不能使得应用程序从机器故障中恢复。通过创建应用程序实例并确保它们在集群节点中的运行实例个数,Kubernetes 的 Deployment 提供了一种完全不同的方式来管理应用程序。

显示资源列表

创建资源

kubectl create deployment my-nginx --image=nginx --replicas=3 --port=80
  • 在 Kubernetes 集群中创建一个名为 my-nginxDeployment
  • 使用官方的 nginx 镜像启动容器。
  • 创建 3 个副本的 Nginx 服务,每个副本都会监听端口 80。

执行后,Kubernetes 会自动管理这 3 个 Nginx Pod 的生命周期,确保有 3 个副本在运行,并处理 Pod 的故障恢复、负载均衡等工作。

获取类型为 Deployment 的资源列表

[root@k8s-master ~]# kubectl get deployment
NAME       READY   UP-TO-DATE   AVAILABLE   AGE
my-nginx   3/3     3            3           104s

获取类型为 Pod 的资源列表

kubectl get pod

获取类型为 Node 的资源列表

kubectl get node

 显示所有名称空间下的 Deployment

[root@k8s-master ~]# kubectl get deployment -A
NAMESPACE     NAME                      READY   UP-TO-DATE   AVAILABLE   AGE
default       my-nginx                  3/3     3            3           10m
kube-system   calico-kube-controllers   1/1     1            1           4h5m
kube-system   coredns                   2/2     2            2           5d16h

 查看 kube-system 名称空间下的 Deployment

[root@k8s-master ~]# kubectl get deployment -n kube-system
NAME                      READY   UP-TO-DATE   AVAILABLE   AGE
calico-kube-controllers   1/1     1            1           4h6m
coredns                   2/2     2            2           5d16h

 查看在名称空间下的资源对象

kubectl api-resources --namespaced=true

 查询不在名称空间下的资源对象

理解:就是受 Kubernetes 集群统一调度,而不受到具体名称空间的约束

kubectl api-resources --namespaced=false

 显示有关资源的详细信息

查询名称为 nginx-pod 的 Pod 的信息 

[root@k8s-master ~]# kubectl describe pods nginxpod -n dev
Name:         nginxpod
Namespace:    dev
Priority:     0
Node:         k8s-node2/192.168.58.233
Start Time:   Mon, 30 Dec 2024 22:27:38 -0500
Labels:       <none>
Annotations:  cni.projectcalico.org/containerID: b822f79ad0acfadd0427662e1968bf8ced560a975a6ea45cdb1737368c7cb420
              cni.projectcalico.org/podIP: 10.244.169.142/32
              cni.projectcalico.org/podIPs: 10.244.169.142/32
Status:       Running
IP:           10.244.169.142
IPs:
  IP:  10.244.169.142
Containers:
  nginx-container:
    Container ID:   docker://719d4b2ad0a44a96ae61503f8c872aca60379316379b4ba4ddea73607c85db81
    Image:          nginx:1.17.1
    Image ID:       docker-pullable://nginx@sha256:b4b9b3eee194703fc2fa8afa5b7510c77ae70cfba567af1376a573a967c03dbb
    Port:           <none>
    Host Port:      <none>
    State:          Running
      Started:      Mon, 30 Dec 2024 22:27:56 -0500
    Ready:          True
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-ww59k (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             True 
  ContainersReady   True 
  PodScheduled      True 
Volumes:
  kube-api-access-ww59k:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   BestEffort
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:                      <none>

显示名称为 nginx 的 Deployment 的信息

[root@k8s-master ~]# kubectl describe deployment nginx
Error from server (NotFound): deployments.apps "nginx" not found
[root@k8s-master ~]# kubectl describe deployment my-nginx
Name:                   my-nginx
Namespace:              default
CreationTimestamp:      Tue, 31 Dec 2024 00:41:13 -0500
Labels:                 app=my-nginx
Annotations:            deployment.kubernetes.io/revision: 1
Selector:               app=my-nginx
Replicas:               3 desired | 3 updated | 3 total | 3 available | 0 unavailable
StrategyType:           RollingUpdate
MinReadySeconds:        0
RollingUpdateStrategy:  25% max unavailable, 25% max surge
Pod Template:
  Labels:  app=my-nginx
  Containers:
   nginx:
    Image:        nginx
    Port:         80/TCP
    Host Port:    0/TCP
    Environment:  <none>
    Mounts:       <none>
  Volumes:        <none>
Conditions:
  Type           Status  Reason
  ----           ------  ------
  Available      True    MinimumReplicasAvailable
  Progressing    True    NewReplicaSetAvailable
OldReplicaSets:  <none>
NewReplicaSet:   my-nginx-7576957b7b (3/3 replicas created)
Events:
  Type    Reason             Age   From                   Message
  ----    ------             ----  ----                   -------
  Normal  ScalingReplicaSet  14m   deployment-controller  Scaled up replica set my-nginx-7576957b7b to 3

 查询 Pod 中的容器的打印日志

查询名称为 mynginx 的 Pod 日志


[root@k8s-master ~]# kubectl get pod
NAME                        READY   STATUS    RESTARTS   AGE
my-nginx-7576957b7b-6rwqd   1/1     Running   0          16m
my-nginx-7576957b7b-92dh7   1/1     Running   0          16m
my-nginx-7576957b7b-ll8wd   1/1     Running   0          16m
[root@k8s-master ~]# kubectl logs -f my-nginx-7576957b7b-6rwqd
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
2024/12/31 05:41:42 [notice] 1#1: using the "epoll" event method
2024/12/31 05:41:42 [notice] 1#1: nginx/1.27.3
2024/12/31 05:41:42 [notice] 1#1: built by gcc 12.2.0 (Debian 12.2.0-14) 
2024/12/31 05:41:42 [notice] 1#1: OS: Linux 3.10.0-1160.el7.x86_64
2024/12/31 05:41:42 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2024/12/31 05:41:42 [notice] 1#1: start worker processes
2024/12/31 05:41:42 [notice] 1#1: start worker process 29
2024/12/31 05:41:42 [notice] 1#1: start worker process 30

 在 Pod 中的容器环境内执行命令

在名称为 nginx-pod 的容器中执行命令

[root@k8s-master ~]# kubectl exec -it  my-nginx-7576957b7b-6rwqd -- /bin/bash
root@my-nginx-7576957b7b-6rwqd:/# 
root@my-nginx-7576957b7b-6rwqd:/# pwd
/

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/945762.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

「Mac畅玩鸿蒙与硬件50」UI互动应用篇27 - 水果掉落小游戏

本篇教程将带你实现一个水果掉落小游戏&#xff0c;掌握基本的动态交互逻辑和鸿蒙组件的使用&#xff0c;进一步了解事件处理与状态管理。 关键词 UI互动应用水果掉落状态管理动态交互游戏开发 一、功能说明 水果掉落小游戏包含以下交互功能&#xff1a; 随机生成水果&#…

C# OpenCV机器视觉:凸包检测

在一个看似平常却又暗藏玄机的午后&#xff0c;阿强正悠闲地坐在实验室里&#xff0c;翘着二郎腿&#xff0c;哼着小曲儿&#xff0c;美滋滋地品尝着手中那杯热气腾腾的咖啡&#xff0c;仿佛整个世界都与他无关。突然&#xff0c;实验室的门 “砰” 的一声被撞开&#xff0c;小…

UGUI 优化DrawCall操作记录(基于Unity2021.3.18)

UGUI中相同材质相同Shader相同贴图的UI元素可以合并DrawCall。 1.使用图集 Unity性能优化---使用SpriteAtlas创建图集进行批次优化_unity2021.3.33 spriteatlas优化-CSDN博客 2.Canvas的子物体在场景树中的索引位置和不同图集不影响UI合批且UI网格没有重叠&#xff0c;如下图…

3---杭州工作三年半

2021-07-06来杭——2025-01-01元旦 1滨江2021-07-06——2022-11-25&#xff08;一年零四个月&#xff09; 2下沙2023-01-01——2023-04-27&#xff08;五个月&#xff09; 3苏州2023-06-07——2023-06-27&#xff08;一个月&#xff09;厦门2023-06-29——2023-07-06&#xff…

【项目开发】C#环境配置及VScode运行C#教程(学生管理系统)

原创文章,禁止转载。 文章目录 下载.NETVScode配置运行程序下载.NET 官网链接: https://dotnet.microsoft.com/en-us/download选择任意版本下载: 下载完成后,双击运行exe文件,等待安装完成。 在控制台输入: dotnet --version若出现版本信息,说明安装成功: VScode配…

Excel文件恢复教程:快速找回丢失数据!

Excel文件恢复位置在哪里&#xff1f; Excel是微软开发的电子表格软件&#xff0c;它为处理数据和组织工作提供了便捷。虽然数据丢失的问题在数字时代已经司空见惯&#xff0c;但对于某些用户来说&#xff0c;恢复未保存/删除/丢失的Excel文件可能会很困难&#xff0c;更不用说…

亚矩阵云手机技术形态与应用方向

亚矩阵云手机技术架构 亚矩阵云手机技术架构深度融合了云计算、虚拟化、边缘计算和大数据等先进技术&#xff0c;构建了一个全面且高效的移动终端服务体系。其中&#xff0c;云端服务器作为整个云手机的基石&#xff0c;采用高性能、高可用性的云计算资源&#xff0c;负责提供海…

3D线上艺术展:艺术与技术的完美融合

随着数字技术的飞速发展&#xff0c;未来的艺术展览正逐步迈向线上线下融合的新阶段。其中&#xff0c;3D线上展览以其独特的魅力&#xff0c;成为线下展览的延伸与拓展&#xff0c;为艺术爱好者们开辟了全新的观赏途径。 对于艺术家和策展人而言&#xff0c;3D线上展览不仅打…

ES elasticsearch-8.17.0-windows-x86_64使用

1、下载ES(elasticsearch 简称 ES 下载链接&#xff1a;https://www.elastic.co/downloads/elasticsearch) ES 下载链接&#xff1a;https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.17.0-windows-x86_64.zip))&#xff0c;需要在修改ES配置&#xff0…

sqlserver设置定时任务计划(SSMS)

软件&#xff1a;SQL Server Management Studio&#xff08;SSMS&#xff09; 1.连接数据库服务器&#xff0c;找到 SQL Sever Agent&#xff08;代理&#xff09; 启动 2.启动后&#xff0c;点开 Jobs&#xff08;作业&#xff09; 新建&#xff0c;填写常规信息 3.步骤 > …

如何规范的提交Git?

多人协作开发提交代码通常是遵循约定式提交规范&#xff0c;如果严格安照约定式提交规范&#xff0c; 手动进行代码提交的话&#xff0c;那么是一件非常痛苦的事情&#xff0c;但是 Git 提交规范的处理又势在必行&#xff0c;那么怎么办呢&#xff1f; 经过了很多人的冥思苦想…

WPF编程excel表格操作

WPF编程excel表格操作 摘要NPOI安装封装代码测试代码 摘要 Excel操作几种方式 使用开源库NPOI(常用&#xff0c;操作丰富)使用Microsoft.Office.Interop.Excel COM组件(兼容性问题)使用OpenXml(效率高)使用OleDb(过时) NPOI安装 封装代码 using System; using System.IO; u…

初识 Conda:一站式包管理和环境管理工具

文章目录 1. 什么是 Conda&#xff1f;2. 为什么选择 Conda&#xff1f;3. Conda 的安装3.1 安装步骤&#xff08;以 Miniconda 为例&#xff09; 4. Conda 的核心功能4.1 包管理4.2 环境管理4.3 Conda Forge4.4 设置国内镜像 5. 常见使用场景5.1 数据科学项目5.2 离线安装5.3 …

docker 搭建集群

准备3台机器&#xff1a; #dockermaster 192.168.31.150 sudo hostnamectl set-hostname dockermaster #初始化主节点 docker swarm init --advertise-addr 192.168.31.150 #查看集群是否搭建成功 docker node ls #dockernode1 192.168.31.151 sudo hostnamectl set-hostname …

Kafka消息不丢失与重复消费问题解决方案总结

1. 生产者层面 异步发送与回调处理 异步发送方式&#xff1a;生产者一般使用异步方式发送消息&#xff0c;异步发送有消息和回调接口两个参数。在回调接口的重写方法中&#xff0c;可通过异常参数判断消息发送状态。若消息发送成功&#xff0c;异常参数为null&#xff1b;若发…

StarRocks 存算分离在得物的降本增效实践

编者荐语&#xff1a; 得物优化数据引擎布局&#xff0c;近期将 4000 核 ClickHouse 迁移至自建 StarRocks&#xff0c;成本降低 40%&#xff0c;查询耗时减半&#xff0c;集群稳定性显著提升。本文详解迁移实践与成果&#xff0c;文末附丁凯剑老师 StarRocks Summit Asia 2024…

微服务-1 认识微服务

目录​​​​​​​ 1 认识微服务 1.1 单体架构 1.2 微服务 1.3 SpringCloud 2 服务拆分原则 2.1 什么时候拆 2.2 怎么拆 2.3 服务调用 3. 服务注册与发现 3.1 注册中心原理 3.2 Nacos注册中心 3.3 服务注册 3.3.1 添加依赖 3.3.2 配置Nacos 3.3.3 启动服务实例 …

IDEA工具使用介绍、IDEA常用设置以及如何集成Git版本控制工具

文章目录 一、IDEA二、建立第一个 Java 程序三、IDEA 常用设置四、IDEA 集成版本控制工具&#xff08;Git、GitHub&#xff09;4.1 IDEA 拉 GitHub/Git 项目4.2 IDEA 上传 项目到 Git4.3 更新提交命令 一、IDEA 1、什么是IDEA&#xff1f; IDEA&#xff0c;全称为 IntelliJ ID…

kafka开机自启失败问题处理

前言&#xff1a;在当今大数据处理领域&#xff0c;Kafka 作为一款高性能、分布式的消息队列系统&#xff0c;发挥着举足轻重的作用。无论是海量数据的实时传输&#xff0c;还是复杂系统间的解耦通信&#xff0c;Kafka 都能轻松应对。然而&#xff0c;在实际部署和运维 Kafka 的…

二维数组综合

第1题 稀疏矩阵 查看测评数据信息 nm矩阵大部分元素是0的矩阵称为稀疏矩阵&#xff0c;假设有k个非0元素&#xff0c;则可把稀疏矩阵用K3的矩阵简记之&#xff0c;其中第一列是行号&#xff0c;第二列是列号&#xff0c;第三列是该行、该列下的非0元素的值。如&#xff1a;…