k8s 基础命令和常用命令等

news2024/12/27 15:28:15

通过kubectl命令可以操作和管理K8S资源,对于初学者可以在掌握K8S基础命令的基础上再去学习K8s的原理和架构,那么K8S常用的命令有哪些呢?

01

K8S命令概述

在学习K8s基础命令前,了解和学习docker命令是很有必要的,kubectl和docker很多命令都有相通之处

docker ps #查看所有up状态容器
docker ps -a#查看所有状态的容器
docker inspect containerid#查看容器详情
docker images #查看容器镜像
docker start/stop/restart  containerid  #启动/停止/重启容器
docker exec -it containerid  bash  #进入容器
docker exec containerid  bash -c  'uptime'  #容器外执行命令
docker rmi imageid  #删除镜像
docker rm  containerid #删除容器
  • K8S常用命令

02

K8S集群资源操作

  • 集群资源查看
kubectl get cs  #集群健康情况
kubectl version  #K8S集群版本查看
kubectl get node #查看集群节点
kubectl get pods -o wide -A #查看所有命命空间pod
    -n  #后跟指定命名空间
    --all-namespaces #等同于-A
kubect get deployments -A
kubectl get svc,ep -A  #查看svc和endpoints
  • 标签查看
kubectl get pod --show-labels #查看pod标签
kubectl get node --show-labels  #查看node标签
  • 资源配置查看

查看配置

kubectl get deployments.apps nginxtest-xxx -oyaml #查看deployment资源
kubectl get pods nginxtest-xxx  -oyaml #查看pod资源配置
  • 资源限制

查看是否有资源限制

kubectl describe node 192.168.1.2

capacity代表减去系统预留的资源总量

Allocatable可分配给K8S资源的总量

pod资源限制,防止单个服务占用资源过高影响其他pod,达到limits数值后会oom重启

kubectl get pods  nginx-test -oyaml  | grep -A 6   resources
    resources:
      limits:
        cpu: "5"
        memory: 5000Mi
      requests:
        cpu: 55m
        memory: 100Mikubectl --help 多用help

03

K8S运维场景

  • 副本扩容

通过副本扩容实现流量分摊,避免单个节点负载过高,建议资源中增加反亲和性,达到不同副本调度到不同node

kubectl scale deployment nginx-test --replicas=2   #副本扩容
kubectl edit deployment nginx-test #直接编辑修改spec.replicas标签扩容
  • 进入pod
kubectl exec -it podname bash  #或者sh
-n 指定名字空间
kubectl exec nginx-965048598-jt28d -n test uptime  #不进入容器,只获取命令输出
  • pod删除操作
kubectl delete  pods nginx-test-6fc6d8666b-mhl48 #常规删除
kubectl delete pod -l app=test   #基于标签删除,批量操作效率高
kubectl delete pods nginx-test -n dev --grace-period=0 --force  #强制删除,没有terminationGracePeriodSeconds 30s的时间

还可以通过kubectl scale命令将副本缩为0的方式删除pod

  • pod污点

对于设置了污点的服务,普通pod无法调用到此节点,只有增加了Tolerations容忍配置才可以

[root@wpseco-node-1 log]# kubectl describe node 192.168.0.1  | grep Taints
Taints:             <none>

kubectl taint node 192.168.0.1 test-access-node=:NoSchedule --overwrite=true  #污点添加
kubectl taint node 192.168.0.1   test-access-node:NoSchedule-   #污点删除

其中[effect] 可取值:

NoSchedule :一定不能被调度(新来的不要来,在这的就别动了)

PreferNoSchedule:尽量不要调度(尽量不要来,除非没办法)

NoExecute:不仅不会调度,还会驱逐Node上已有的Pod

  • pod文件拷贝
kubectl cp my_item.tar.gz redis-6c98cb5b5f-nxb59:/tmp/   #宿主机拷贝到容器内
kubectl cp redis-6c98cb5b5f-nxb59:/tmp/start.sh  ./start.sh  #pod内文件拷贝到宿主机
  • 静态pod

静态pod 是由 kubelet 管理的,只在特定node上存在的pod;静态pod总是由kubelet创建的,并且只在kubelet所在的Node上运行。静态pod 不能通过 api-server来管理,无法和 RC,RS,Deployment或者 DaemonSet进行关联;并且 kubelet无法对静态pod 进行健康检查

静态pod资源文件默认存放路径/etc/kubernetes/manifests,也可以直接查看kubelet启动参数staticPodPath: /etc/kubernetes/manifests配置确定

kubectl exec -it  kafka-1-192.168.0.1 -c kafka sh #进入静态pod
-c #po有多个容器要加-c指定
 kubectl logs  kafka-1-192.168.0.1  -c kafka 

04

K8S问题定位

处理K8S环境问题,首先要了解pod的生命周期和pod的状态

常见状态原因

  • ImagePullBackOff 镜像拉取失败,网络不通,镜像名称有误或者镜像仓库认证失败都可能有这个报错
  • CrashLoopBackOff 探针检测失败,服务对网络或者其他pod服务有依赖等,此外宿主机上的安全软件可能也会导致容器无法正常启动
  • Pending 一般是调度失败,pod没有可调度的节点,常见原因:节点有污点,不满足节点亲和性,或者节点处于notready状态
  • Evicted 当节点内存、磁盘或者cpu资源不足时,K8s 会按照 QoS 等级对节点上的某些 Pod 进行驱逐,释放资源保证节点可用性,kubelet可以配置内存,cpu和磁盘的驱逐阈值
  • Terminating pod删除后超过terminationGracePeriodSeconds参数时间还处于Terminating状态可能是存在节点故障,和master节点失联,可以检查节点状态或者尝试重启kubelet
  • Completed 此状态通常是job类的pod执行完成了正常退出容器
  • Init:Error pod初始化失败,可以查看init pod的日志定位

问题定位经常需要使用如下命令

kubectl logs -f   podname
kubectl logs -f  -l app=nginx-test  #多副本情况下,可以看到所有pod日志
kubectl describe pods podname   #pod启动日志
kubectl describe node 192.168.0.1  #节点状态日志
kubectl get events #查看集群事件
系统服务查看
systemctl status kubelet/docker/etcd
系统服务日志查看
journalctl -xeu kubelet/docker
--since指定时间 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c语言--unsigned修饰符

在C语言中&#xff0c;unsigned是一种无符号整数修饰符。它可以与多个整数类型&#xff08;如int、short、long等&#xff09;结合使用&#xff0c;表示该整数类型只包含非负数值。unsigned修饰的整数类型不保存正负号位&#xff0c;因此可以用来表示更大的正整数范围。 例如&…

干货分享|SOLIDWORKS Composer如何解决缺失的actor?

​SOLIDWORKS Composer导入SOLIDWORKS模型&#xff0c;以便用户可以创建图形内容并与更广泛的受众共享项目。但是&#xff0c;有时模型导入时缺少Actor或组件&#xff0c;通常是由于在SOLIDWORKS中以轻量模式加载组件或Composer中的导入设置排除了曲面实体。 轻量模式 轻量模式…

基于DEF生成LIB的方法

基于DEF生成LIB的方法 [生成64位lib] lib /def:libcurl-x64.def /MACHINE:x64 /OUT:libcurl-x64.lib[生成32位lib] lib /def:libcurl-x64.def /OUT:libcurl-x64.lib

flutter开发实战-生日等日期选择器DatePicker

flutter开发实战-生日等日期选择器DatePicker 在开发遇到设置生日等信息需要选择日期&#xff0c;这里用到的是CupertinoDatePicker iOS效果的日期、时间选择器 一、效果图 运行后效果图如下 二、代码实现 我们需要调用底部弹窗显示 //显示底部弹窗static void bottomShe…

07_flash全擦除实验

07_flash全擦除实验 1. SPI 协议1.1 SPI 协议1.2 SPI 物理层1.3 SPI 协议层1.3.1 SPI 通讯模式时序图1.3.2 CPHA0 时的 SPI 通讯模式1.3.3 CPHA1 时的 SPI 通讯模式 2. 实验目标3. SPI-Flash 芯片3.1 硬件资源3.2 板载 Flash 原理图3.3 操作时序3.3.1 全擦除时序3.3.2 写使能时…

天眼的使用指南,ngsoc告警分析

分以下几类讲&#xff0c;天眼的功能&#xff0c;日志分析字段&#xff0c;常见的烂分析&#xff0c;告警分析。两个实例&#xff1b;ngsoc的简单实用和告警分析。 #天眼功能 分为&#xff0c;分析平台&#xff0c;流量传感器&#xff0c;文件威胁鉴定器 #部署架构 高级危险…

大模型时代,腾讯云“复制”腾讯|WAIC2023

点击关注 文&#xff5c;郝鑫 编&#xff5c;刘雨琦 刚过去的WAIC&#xff08;世界人工智能大会&#xff09;俨然成为了大模型厂商的成果汇报大会。 百度文心大模型升级到3.5版本&#xff0c;训练速度提升2倍&#xff0c;推理速度提升30倍&#xff1b;华为云发布盘古大模型3…

MySQL~索引的优缺点是什么?有哪些优化索引的方法?

1.索引的优缺点 优点&#xff1a;提高查询记录的速度。 缺点&#xff1a; 需要占用空间&#xff0c;索引是一种用空间换时间的做法创建索引和维护索引都需要消耗时间&#xff0c;会降低表的增删查改效率&#xff0c;因为每次进行增删查改&#xff0c;都需要对索引进行维护&a…

Nacos技术

说明&#xff1a;Nacos是微服务框架中的注册中心技术&#xff0c;可用于管理、协调微服务之间的请求&#xff0c;可配合Feign技术&#xff0c;搭建一个完整的微服务框架。 一、安装&启动 可在官网&#xff08;https://nacos.io/zh-cn/&#xff09;提供的下载链接&#xf…

【uni-app】自定义导航栏

【uni-app】自定义导航栏 新手刚玩uniapp进行微信小程序&#xff0c;甚至多端的开发。原生uniapp的导航栏&#xff0c;并不能满足ui的需求&#xff0c;所以各种查阅资料&#xff0c;导航栏自定义内容 整理如下&#xff1a; 需要修改的文件如下&#xff1a; 1、pages.json 修…

前端渲染模式CSR,SSR,SSG,ISR,DPR

目录 一、客户端渲染——CSR&#xff08;Client Side Rendering&#xff09; 二、服务器端渲染——SSR&#xff08;Server Side Rendering&#xff09; 三、静态站点生成——SSG&#xff08;Static Site Generation&#xff09; 四、增量静态生成——ISR&#xff08;Increm…

ASEMI快恢复二极管MUR2080CT参数, MUR2080CT规格

编辑-Z MUR2080CT参数描述&#xff1a; 型号&#xff1a;MUR2080CT 最大峰值反向电压(VRRM)&#xff1a;800V 最大RMS电压(VRMS)&#xff1a;430V 最大直流阻断电压VR(DC)&#xff1a;800V 平均整流正向电流(IF)&#xff1a;20A 非重复峰值浪涌电流(IFSM)&#xff1a;15…

科技赋能企业,实现数字化转型

科技是第一生产力&#xff0c;数字技术即科技&#xff0c;可以改变传统的商业模式&#xff0c;为各行各业注入新的活力。 推动企业数字化转型&#xff0c;可是实现行业的效率提升&#xff0c;实现跨界重组&#xff0c;重构产业模式&#xff0c;为产业格局重新赋能&#xff0c;最…

批发小程序怎么做

批发订货小程序功能介绍 我们的批发订货小程序是一个集订货浏览权限、一客一价、业务员端口、代客下单、订单汇总和订单打印等功能于一体的专业平台。以下是对这些功能的详细描述&#xff1a; 1. 订货浏览权限&#xff1a;我们的小程序可以为不同用户分配不同的订货浏览权限。…

山寨版 Threads登苹果下载榜第一,黑客借此分发恶意软件

最近&#xff0c;苹果在欧洲下架了一款假冒的Threads应用程序&#xff0c;有意思的是该APP吸引了大量的用户下载&#xff0c;最高峰时曾登录苹果下载榜第一名。 在发现该虚假APP后&#xff0c;苹果已经暂停了其开发者账户&#xff0c;随后更是将SocialKit LTD所有的应用程序全…

做PPT一定要知道这5个素材模板网站。

做PPT绝对不能错过的5个网站、PPT素材、PPT模板、PPT课件、PPT教程等全部都能免费下载&#xff0c;建议收藏&#xff01; 菜鸟图库 https://www.sucai999.com/search/ppt/0_0_0_1.html?vNTYwNDUx 菜鸟图库网有非常丰富的免费素材&#xff0c;像设计类、办公类、自媒体类等素材…

DBeaver数据库管理工具安装连接PostgreSQL和DM

文章目录 1. 安装2. 连接PostgreSQL3. 连接DM83.1 下载驱动3.2 添加驱动3.3 连接3.4 创建表空间和用户3.5 执行sql 1. 安装 下载地址 https://dbeaver.io/download/ 2. 连接PostgreSQL 配置显示所有数据库 第二个勾选会显示模板数据库 点击测试连接&#xff0c;然后下载驱动…

Helm 安装prometheus-stack 使用local pv持久化存储数据

目录 背景&#xff1a; 环境准备&#xff1a; 1. 磁盘准备 2. 磁盘分区格式化 local storage部署 1. 节点打标签 2. 创建local pv storageClass和prometheus-pv Prometheus-stack部署 1. 下载helm chart包 2. values.yaml 参数解释 3. 部署prometheus-stack 4. 查看…

运行软件plotsr时报错:“ImportError: Incomplete genomic information”

为了对 syri.out &#xff08;assembly的变异检测结果&#xff09;进行可视化处理&#xff0c;本人选择了plotsr软件对其基因组重排现象进行可视化&#xff1a; (base) [hgzhonghead01 08.assembly_calling]$ plotsr --sr syri.out --genomes ../data/Sc_R64.fasta --genomes …

什么是搜索引擎?2023 年搜索引擎如何运作?

目录 什么是搜索引擎&#xff1f;搜索引擎的原理什么是搜索引擎爬取&#xff1f;什么是搜索引擎索引&#xff1f;什么是搜索引擎检索?什么是搜索引擎排序&#xff1f; 搜索引擎的目的是什么&#xff1f;搜索引擎如何赚钱&#xff1f;搜索引擎如何建立索引?网页抓取文本处理建…