当前位置: 首页 > news >正文

运维:k8s常用命令大全

Kubernetes是一个强大的容器编排平台,不管是运维、开发还是测试或多或少都会接触到,熟练的掌握k8s可大大提高工作效率和强化自身技能。

集群管理

1. 查看集群节点状态:

kubectl get nodes

2. 查看集群资源使用情况:

kubectl top nodes

3. 查看集群信息:

kubectl cluster-info

4. 获取节点详细信息:

kubectl describe node <node-name>

5. 给节点打标签:

kubectl label nodes <node-name> key=value

6. 取消节点标签:

kubectl label nodes <node-name> key-

7. 查看命名空间信息:

kubectl describe namespace <namespace-name>

Pod管理

k8s中最小的可部署的计算单元,用来封装一个或多个紧密相关的容器应用,共享存储和网络。

1. 列出所有Pod:

kubectl get pods

2. 查看特定Pod的日志:

kubectl logs <pod-name> -n <namespace>

其中-n后面跟命名空间名称,如果是在默认命名空间,可以省略。

3. 运行一个临时的Pod:

kubectl run my-pod --image=nginx

4. 进入正在运行的Pod:

kubectl exec -it <pod-name> -n <namespace> -- /bin/bash

5. 查看特定Pod的详细信息:

kubectl describe pod <pod-name> -n <namespace>

6. 删除Pod:

kubectl delete pod <pod-name> -n <namespace>

7. 强制删除Pod

kubectl delete pod <pod-name> -n <namespace> --force --grace-period=0

8. 查看Pod事件:

kubectl describe pod <pod-name> -n <namespace> | grep -i events

Deployment管理

用于管理Pod的声明式更新,自动处理Pod的创建、升级、回滚等,保证预期状态。

1. 列出所有Deployments:

kubectl get deployments

2. 查看特定Deployment的详细信息:

kubectl describe deployment <deployment-name> -n <namespace>

3. 创建Deployment:

kubectl create deployment <deployment-name> --image=<container-image>
kubectl create deployment my-deployment --image=nginx

4. 更新Deployment中的容器镜像:

kubectl set image deployment/<deployment-name> <container-name>=<new-container-image>
kubectl set image deployment/my-deployment nginx=nginx:latest
 

5. 回滚Deployment到上一个版本:

kubectl rollout undo deployment/my-deployment

6. 查看Deployment的更新历史:

kubectl rollout history deployment <deployment-name>

7. 回滚到指定版本的Deployment:​​​​​​​

# 假设要回滚到第3次修订版:
kubectl rollout undo deployment <deployment-name> --to-revision=3
 

8. 查看Deployment指定标签下的的Pods状态

kubectl get pods -l app=<deployment-label>

9. 查看Deployment的事件:

kubectl describe deployment <deployment-name> | grep -i events

10. 监控Deployment的更新进度

kubectl rollout status deployment <deployment-name>

11. 扩大或缩小副本数量:

kubectl scale deployment <deployment-name> --replicas=5

12. 删除Deployment

kubectl delete deployment <deployment-name>

Service管理

定义一种访问Pod的策略和抽象层,提供稳定的访问入口,实现服务发现与负载均衡。

1. 列出所有Services:​​​​​​​

kubectl get services
kubectl get services  -o wide
 

2. 查看特定Service的详细信息:

kubectl describe service <service-name> -n <namespace>

3. 创建Service:

可以直接通过命令行或者YAML文件创建:

kubectl create service clusterip my-service --tcp=80:8080

4. 暴露Deployment为Service:

自动创建Service指向Deployment的所有Pods:

kubectl expose deployment <deployment-name> --type=LoadBalancer --port=80 --target-port=8080

5. 编辑Service配置:

kubectl edit service <service-name> -n <namespace>

6. 更改Service类型:

kubectl patch service <service-name> -p '{"spec": {"type": "NodePort"}}'

7. 删除Service:

kubectl delete service <service-name> -n <namespace>

8. 创建ClusterIP类型的service

ClusterIP为Service分配一个仅集群内部可访问的IP地址。

# 命令行创建:
kubectl create service clusterip my-service --tcp=80:8080
# 基于yaml文件创建:
apiVersion: v1
kind: Service
metadata:name: my-service
spec:selector:app: MyAppports:- protocol: TCPport: 80targetPort: 8080type: ClusterIP

9. 创建NodePort类型的service

NodePort会在每个节点上开放一个静态端口,供外部访问集群内部的服务。

# 命令行创建:
kubectl expose deployment my-deployment --type=NodePort --port=80 --target-port=8080# 基于yaml文件创建:
apiVersion: v1
kind: Service
metadata:name: my-service-nodeport
spec:selector:app: MyAppports:- protocol: TCPport: 80targetPort: 8080nodePort: 30080  # 指定节点上的端口type: NodePort

10. 创建LoadBalancer类型的service

适用于需要云提供商的负载均衡器来暴露服务的情况。

# 命令行创建:
kubectl expose deployment my-deployment --type=LoadBalancer --port=80 --target-port=8080
# 基于yaml文件创建:
apiVersion: v1
kind: Service
metadata:name: my-service-loadbalancer
spec:selector:app: MyAppports:- protocol: TCPport: 80targetPort: 8080type: LoadBalancer

​​​​​​​

PV/PVC管理

Persistent Volumes (PVs) 提供了持久化的存储资源,PV类型多种多样,支持不同的存储后端,如本地存储、网络存储(如NFS、GlusterFS、Ceph等)。

1. 列出所有PV:

kubectl get pv

2. 查看PV详细信息:

kubectl describe pv <pv-name>

3. 创建本地PV:

apiVersion: v1
kind: PersistentVolume
metadata:name: local-pv-example
spec:capacity:storage: 10GiaccessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: RetainstorageClassName: local-storagelocal:path: /mnt/datanodeAffinity:required:nodeSelectorTerms:- matchExpressions:- key: kubernetes.io/hostnameoperator: Invalues:- node01  # 指定节点名称
 

4. 创建NFS PV

apiVersion: v1
kind: PersistentVolume
metadata:name: nfs-pv-example
spec:capacity:storage: 10GiaccessModes:- ReadWriteManypersistentVolumeReclaimPolicy: RecyclestorageClassName: nfsnfs:server: <nfs-server-ip> # nfs服务ippath: "/exports/data"   # nfs共享目录
 

5. 列出所有PVC:

kubectl get pvc

6. 查看PVC详细信息:

kubectl describe pvc <pvc-name>

7. 创建PVC

apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: myclaim
spec:accessModes:- ReadWriteOnceresources:requests:storage: 5GistorageClassName: local-storage  # 或 nfs,需与PV的storageClassName匹配
 

ConfigMap管理

用来存储配置数据,如应用的配置文件,以键值对形式挂载到Pod中,方便应用程序读取和分离配置与代码。

1. 创建ConfigMap:

kubectl create configmap <my-configmap> --from-literal=KEY1=VALUE1

2. 查看ConfigMap

kubectl get configmaps

3. 删除ConfigMap:

kubectl delete configmap  <my-configmap>

相关文章:

运维:k8s常用命令大全

Kubernetes是一个强大的容器编排平台&#xff0c;不管是运维、开发还是测试或多或少都会接触到&#xff0c;熟练的掌握k8s可大大提高工作效率和强化自身技能。 集群管理 1. 查看集群节点状态: kubectl get nodes 2. 查看集群资源使用情况: kubectl top nodes 3. 查看集群…...

PHP基础之错误与异常

文章目录 1 错误1.1 简介1.2 简单错误处理1.2.1 使用die1.2.2 die和exit区别 1.3 自定义错误处理1.3.1 定义1.3.2 创建错误函数 1.4 触发错误1.5 抑制错误1.5.1 行内错误抑制 2 异常2.1 引言2.2 什么是异常2.3 Try、throw、catch、finally2.4 自定义异常2.5 设置顶层异常处理器…...

详解Spring AOP(一)

目录 1. AOP概述 2.Spring AOP快速入门 2.1引入AOP依赖 2.2编写AOP程序 3.Spring AOP核心概念 3.1切点&#xff08;PointCut&#xff09; 3.2连接点&#xff08;Join Point&#xff09; 3.3通知&#xff08;Advice&#xff09; 3.4切面&#xff08;Aspect&#xff09; …...

读者写者问题(读者优先、公平竞争、写者优先)

1.读者优先 当有读者进程进行读时&#xff0c;允许多个读者同时读&#xff0c;但不允许写者写&#xff1b;当有写者进程进行写时&#xff0c;不允许其他写者写&#xff0c;也不允许读者读 读者算法&#xff1a; p(r_mutex); //申请修改read_count if read_count0:p(mutex); …...

Springboot开发之 Excel 处理工具(二)-- Easyexcel

一、Easyexcel 简介 EasyExcel是一个基于Java的Excel处理工具库&#xff0c;它的核心设计理念是快速、简洁&#xff0c;并且能够有效解决处理大文件时的内存溢出问题。使用EasyExcel&#xff0c;开发者可以在几乎不需要考虑性能和内存消耗的情况下&#xff0c;轻松实现Excel文…...

6月27日云技术研讨会 | 中央集中架构新车型功能和网络测试解决方案

会议摘要 “软件定义汽车”新时代下&#xff0c;整车电气电气架构向中央-区域集中式发展已成为行业共识&#xff0c;车型架构的变革带来更复杂的整车功能定义、更多的新技术的应用&#xff08;如SOA服务化、TSN等&#xff09;和更短的车型研发周期&#xff0c;对整车和新产品研…...

微信小程序生命周期

微信小程序的生命周期包括两个主要部分&#xff1a;应用生命周期和页面生命周期。下面我将详细介绍它们的具体内容。 应用生命周期 onLaunch&#xff1a; 触发时机&#xff1a;小程序初始化完成时&#xff08;全局只触发一次&#xff09;。 用途&#xff1a;通常用于进行一些…...

【JS重点15】原型对象概述

目录 一&#xff1a;构造函数缺陷 二&#xff1a;原型 1 原型是是什么 2 原型对象的作用 3 原型对象this指向问题 4 利用原型对象添加方法 给JS内置构造函数Array添加最大值方法 给JS内置构造函数Array添加求和方法 三&#xff1a;Constructor属性 四&#xff1a;如何…...

Java之Hutool/Guava/Apache Commons工具包项目实践

概述 Hutool是一个Java工具包,提供了丰富的工具类和方法,目的是简化开发任务提高开发效率;适用于需要快速开发和实现多种功能的场景,适合项目需要处理字符串、日期、文件等常见任务时~ toBeBetterJavaer/docs/common-tool/StringUtils.md at master itwanger/toBeBetterJavae…...

哈喽GPT-4o——对GPT-4o 提示词的思考与看法

目录 一、提示词二、常用的提示词案例1、写作助理2、改写为小红书风格3、英语翻译和改写4、论文式回答5、主题解构6、提问助手7、Nature风格润色8、结构总结9、编程助手10、充当终端/解释器 大家好&#xff0c;我是哪吒。 最近&#xff0c;ChatGPT在网络上广受欢迎&#xff0c…...

《计算机英语》 Unit 3 Software Engineering 软件工程

Section A Software Engineering Methodologies 软件工程方法论 Software development is an engineering process. 软件开发是一个工程过程。 The goal of researchers in software engineering is to find principles that guide the software development process and lea…...

2024-6-18(沉默Spring,Springboot)

1.Spring小结 我们最后再来体会一下用 Spring 创建对象的过程&#xff1a; 通过 ApplicationContext 这个 IoC 容器的入口&#xff0c;用它的两个具体的实现子类&#xff0c;从 class path 或者 file path 中读取数据&#xff0c;用 getBean() 获取具体的 bean instance。 那…...

Java热部署:让应用更新如丝般顺滑,告别繁琐重启!

目录 手动启动热部署 自动启动热部署 参与热部署监控的文件范围配置 关闭热部署 什么是热部署&#xff1f;简单说就是你程序改了&#xff0c;现在要重新启动服务器&#xff0c;嫌麻烦&#xff1f;不用重启&#xff0c;服务器会自己悄悄的把更新后的程序给重新加载一遍&…...

微信小程序毕业设计-小区疫情防控系统项目开发实战(附源码+论文)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计…...

PyTorch -- RNN 快速实践

RNN Layer torch.nn.RNN(input_size,hidden_size,num_layers,batch_first) input_size: 输入的编码维度hidden_size: 隐含层的维数num_layers: 隐含层的层数batch_first: True 指定输入的参数顺序为&#xff1a; x&#xff1a;[batch, seq_len, input_size]h0&#xff1a;[batc…...

SpringBoot 快速入门(保姆级详细教程)

目录 一、Springboot简介 二、SpringBoot 优点&#xff1a; 三、快速入门 1、新建工程 方式2&#xff1a;使用Spring Initializr创建项目 写在前面&#xff1a; SpringBoot 是 Spring家族中的一个全新框架&#xff0c;用来简化spring程序的创建和开发过程。SpringBoot化繁…...

【第18章】Vue实战篇之登录界面

文章目录 前言一、数据绑定1. 数据绑定2. 数据清空 二、表单校验1. 代码2. 展示 三、登录1.登录按钮2.user.js3. login 四、展示总结 前言 上一章完成用户注册&#xff0c;这一章主要做用户登录。 一、数据绑定 登录和注册使用相同的数据绑定 1. 数据绑定 <!-- 登录表单 -…...

[C++]使用C++部署yolov10目标检测的tensorrt模型支持图片视频推理windows测试通过

【测试通过环境】 vs2019 cmake3.24.3 cuda11.7.1cudnn8.8.0 tensorrt8.6.1.6 opencv4.8.0 【部署步骤】 获取pt模型&#xff1a;https://github.com/THU-MIG/yolov10训练自己的模型或者直接使用yolov10官方预训练模型 下载源码&#xff1a;https://github.com/laugh12321/yol…...

分享uniapp + Springboot3+vue3小程序项目实战

分享uniapp Springboot3vue3小程序项目实战 经过10天敲代码&#xff0c;终于从零到项目测试完成&#xff0c;一个前后端分离的小程序实战项目学习完毕 时间从6月12日 到6月22日&#xff0c;具有程序开发基础&#xff0c;第一次写uniapp,Springboot以前用过&#xff0c;VUE3也…...

Ubuntu 24.04安装zabbix7.0.0图形中文乱码

当zabbix安装完成后&#xff0c;设置中文界面时&#xff0c;打开图形&#xff0c;中文内容会显示方框乱码&#xff0c;是因为服务器字体中没有相关的中文字体&#xff0c;需要更换。 1、找到中文字体&#xff0c;可以在网络上下载《得意黑》开源字体&#xff0c;也可以在windo…...

拆解 OpenHands(8)--- CodeActAgent

在 OpenHands 智能框架的生态中&#xff0c;CodeActAgent 占据着核心地位&#xff0c;它是基于 CodeAct 理念构建的核心代理模块。其设计初衷极具巧思&#xff1a;将各类复杂任务统一转化为 “代码执行” 的形式来完成&#xff0c;同时兼顾自然语言对话的交互特性。这一设计既保…...

GCP 成本优化指南

5 分钟速览 我想… 用什么 预期效果 看钱花在哪了 Billing Reports + Cost Table 按服务/项目/标签拆分费用 费用超了自动告警 Budget Alerts 50%/80%/100% 阈值通知 深度分析费用趋势 BigQuery 费用导出 自定义 SQL 分析任意维度 降低计算成本 CUD / Spot VM 计算费用降 30%-7…...

3个秘诀让黑苹果EFI配置效率提升100倍:告别拆机与代码的烦恼

3个秘诀让黑苹果EFI配置效率提升100倍&#xff1a;告别拆机与代码的烦恼 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 当你对着教程里满屏的ACPI补丁…...

从 Vectorless 到 SAIF 再到板级实测:HLS Kernel 功耗估计全流程实战

从 Vectorless 到 SAIF 再到板级实测&#xff1a;HLS Kernel 功耗估计全流程实战 很多人在做 FPGA 或 SoC 上的 HLS kernel 时&#xff0c;第一次接触功耗分析&#xff0c;往往是从 Vivado 里的 report_power 开始的。点一下按钮&#xff0c;工具很快就会给出一个总功耗数字&am…...

猫抓扩展故障排除指南:从问题诊断到深度优化

猫抓扩展故障排除指南&#xff1a;从问题诊断到深度优化 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 问题图谱&#xff1a;三级故障层级分析 基…...

League-Toolkit:英雄联盟客户端集成工具包的全方位应用指南

League-Toolkit&#xff1a;英雄联盟客户端集成工具包的全方位应用指南 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power &#x1f680;. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 一、游戏场景中的实际挑…...

大模型剪枝新范式:先浓缩,再剪枝——DenoiseRotator技术解读

在技术领域&#xff0c;我们常常被那些闪耀的、可见的成果所吸引。今天&#xff0c;这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力&#xff0c;让我们得以一窥未来的轮廓。然而&#xff0c;作为在企业一线构建、部署和维护复杂系统的实践者&#xff0c;我们深知…...

音频的爬虫

1.前提准备需要在终端中下载requests模块 --- 终端在软件的左下角&#xff0c;下方图案例下载的语法&#xff1a;pip install requests&#xff08;1&#xff09;下载成功会报出的结果&#xff0c;如下图所示&#xff1a;&#xff08;2&#xff09;下载失败会报出的结果&#…...

工业 AI Agent 落地全解:制造业智能化转型的技术架构与场景实践

2025 年被行业称为 AI Agent 元年&#xff0c;Gartner 将 Agentic AI 列为 2025 年顶级技术趋势首位。在智能制造加速推进的背景下&#xff0c;AI Agent 技术正成为破解制造业 AI 落地难、价值转化慢的核心抓手&#xff0c;实现从技术 Demo 到产线落地的跨越&#xff0c;真正融…...

使用Python进行数据分析可视化

使用Python完成简单的数据试图化有以下几个功能库帮助我们快速完成。1. pandas- 用途&#xff1a;读取人员基本信息表&#xff08;Excel/CSV&#xff09;、数据清洗、筛选、统计 ​ - 功能&#xff1a;读取文件、分组统计、处理缺失值、生成各类统计数据&#xff08;性别、省份…...