100个k8s高效命令全掌握,让你成为k8s运维大神!

Kubernetes(k8s)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。

k8s在企业运维中的重要性

  1. 1. 提高运维效率

    • • 自动化部署:k8s能够自动化地部署、扩展和更新应用程序,减少了人工干预,提高了部署效率。

    • • 故障自愈:通过自我修复机制,k8s能够在检测到节点或容器故障时自动重启或重新调度容器,减少了运维人员的工作量。

  2. 2. 增强系统稳定性

    • • 高可用性:k8s通过多副本部署和自动故障转移等机制,确保了应用程序的高可用性。

    • • 负载均衡:k8s内置了负载均衡功能,能够根据流量情况自动分配请求,避免了单点过载。

  3. 3. 优化资源利用

    • • 动态资源分配:k8s能够根据应用程序的需求动态调整资源分配,避免了资源浪费。

    • • 弹性伸缩:根据业务负载的变化,k8s能够自动扩展或缩减容器数量,提高了资源利用率。

  4. 4. 简化多云管理

    • • 跨云部署:k8s支持跨多个云平台的部署,使得企业能够在不同的云环境之间灵活迁移和管理应用程序。

    • • 统一接口:通过提供统一的API接口,k8s简化了对多云资源的管理和操作。

k8s在企业中的使用场景

  1. 1. 微服务架构

    • • k8s非常适合用于微服务架构的部署和管理。通过将复杂的应用程序拆分成多个小型、独立的服务,并使用k8s进行自动化部署和扩展,可以提高应用程序的可维护性和可扩展性。

  2. 2. 持续集成/持续部署(CI/CD)

    • • k8s能够与CI/CD工具集成,实现自动化构建、测试和部署。这有助于加快应用程序的迭代速度,提高开发效率。

  3. 3. 大数据处理

    • • 对于需要处理大量数据的应用程序,k8s能够提供高效的数据处理和存储解决方案。通过利用k8s的弹性伸缩能力,可以确保大数据处理任务的顺利完成。

  4. 4. DevOps实践

    • • k8s支持DevOps实践,通过提供自动化、可重复和可靠的部署流程,促进了开发与运维之间的紧密合作。这有助于减少部署错误和提高应用程序的稳定性。

  5. 5. 混合云和多云环境

    • • 在混合云或多云环境中,k8s能够帮助企业实现跨云平台的资源管理和应用程序部署。通过提供统一的接口和工具,k8s使得企业能够更加灵活地管理不同云平台上的资源。

总结了100条k8s常用命令,涵盖了资源创建、查询、删除、更新、滚动更新、集群管理、故障诊断等多个方面,希望能帮助你成为k8s大神。

一、基础命令

  1. 1. kubectl apply -f [file] :使用指定文件中的内容创建或更新资源。

  2. 2. kubectl create -f [file] :用指定文件中的内容创建资源。

  3. 3. kubectl delete resource [name] :删除一个资源。

  4. 4. kubectl delete -f [file] :从指定文件中删除资源。

  5. 5. kubectl edit resource [name] :编辑某个资源的定义。

  6. 6. kubectl get [resource] :查看资源的列表。

  7. 7. kubectl describe [resource] [name] :查看资源的详细信息。

  8. 8. kubectl explain [resource] :查看资源的字段描述。

  9. 9. kubectl api-versions :查看API版本。

  10. 10. kubectl cluster-info :查看集群信息。

  11. 11. kubectl config current-context:查看当前上下文的名称。

  12. 12. kubectl config get-contexts:查看上下文的列表。

  13. 13. kubectl config set-context [name] :设置当前上下文。

  14. 14. kubectl config use-context [name] :切换到指定的上下文。

二、资源操作命令

15 . kubectl run [name] --image=[image] :使用指定镜像创建一个pod。

16 . kubectl scale [resource] [name] --replicas=[number] :为某个资源设置副本数。

17 . kubectl set image [resource] [name] [container]=[image] :为某个资源的某个容器设置镜像。

18 . kubectl expose [resource] [name] --port=[port] --target-port=[target-port] --type=[type] :为指定资源创建服务。

19 . kubectl label [resource] [name] [key]=[value] :为某个资源设置标签。

20 . kubectl annotate [resource] [name] [key]=[value] :为某个资源设置注释。

21 . kubectl taint [node] [key]=[value]:[effect] :在节点上设置污点。

22 . kubectl uncordon [node] :解除节点的停机维护状态。

23 . kubectl cordon [node] :标记节点为不可调度。

24 . kubectl drain [node] :排空节点以准备维护。

三、Pod操作命令

25 . kubectl exec [pod] [command] :在运行的pod中执行一个命令。

26 . kubectl logs [pod] :查看pod的日志。

27 . kubectl port-forward [pod] [localPort:remotePort] :将pod的端口转发到本地。

28 . kubectl attach [pod] :连接到运行中的容器。

29 . kubectl cp [file-path] [namespace]/[pod]:[container-path] :复制文件到pod或从pod复制文件。

四、滚动更新命令

30 . kubectl rollout status [resource] [name] :查看一个滚动更新的状态。

31 . kubectl rollout undo [resource] [name] :撤销一个滚动更新。

32 . kubectl rollout history [resource] [name] :查看一个滚动更新的历史记录。

33 . kubectl rollout restart [resource] [name] :重新启动一个滚动更新。

34 . kubectl rollout pause [resource] [name] :暂停一个滚动更新。

35 . kubectl rollout resume [resource] [name] :恢复一个滚动更新。

五、集群管理命令

36 . kubectl top [resource] [name] :查看资源的使用情况。

37 . kubectl certificate approve [name] :批准证书签发请求。

38 . kubectl certificate deny [name] :拒绝证书签发请求。

39 . kubectl auth can-i [verb] [resource] :查看当前用户是否有指定动作的权限。

40 . kubectl api-resources :输出服务端API支持的资源类型。

六、高级命令

41 . kubectl diff -f [file] :比较本地文件和远程资源之间的区别。

42 . kubectl patch [resource] [name] :更新资源的字段。

43 . kubectl replace -f [file] :通过文件名替换一个资源。

44 . kubectl kustomize [directory] :从指定目录构建kustomization目标。

45 . kubectl wait [conditions] :等待一个或多个资源满足特定条件。

七、调试与日志命令

46 . kubectl logs [pod] -f :实时查看pod的日志。

47 . kubectl logs [pod] --tail=N :查看pod的最后N行日志。

48 . kubectl logs [pod] | grep [keyword] :根据关键字查看pod的日志。

49 . kubectl debug [pod] :对指定的pod进行调试。

八、其他常用命令

50 . kubectl version :查看集群的版本信息。

51 . kubectl namespace :查看或管理命名空间。

52 . kubectl completion :输出shell自动补全代码。

53 . kubectl label nodes [node-name] [label-key]=[label-value] :给节点打标签。

54 . kubectl label nodes [node-name] [label-key]- :删除节点的标签。

55 . kubectl taint nodes [node-name] [key]=value:[effect] :给节点添加污点。

56 . kubectl taint nodes [node-name] [key]:[effect]- :删除节点的污点。

57 . kubectl edit svc/[service-name] :编辑指定的service。

58 . kubectl get pods -A :查看所有命名空间下的pod。

59 . **kubectl get pods -n [namespace]**:查看指定命名空间下的pod。

60 . kubectl get nodes --show-labels:查看所有节点及其标签。

61 . kubectl get services:查看集群中服务的状态。

62 . kubectl get statefulset:查看statefulset列表。

63 . kubectl describe nodes:显示集群节点资源的使用情况以及标签。

64 . kubectl describe pods:显示指定pod的详细信息。

65 . kubectl describe quota:查看集群的资源配额。

66 . kubectl describe limitrange:查看集群的资源限制。

67 . kubectl get pod -o wide | grep [keyword] :查询包含特定关键字的pod,并输出详细信息。

九、资源管理与扩展命令

68 . kubectl autoscale [resource] [name] --min=[min-replicas] --max=[max-replicas] :为资源设置自动扩缩容。

69 . kubectl scale deployment [name] --replicas=[number] :为deployment设置副本数。

70 . kubectl top node [node-name] :查看指定节点的资源使用情况。

71 . kubectl top pod [pod-name] -n [namespace] :查看指定命名空间下pod的资源使用情况。

十、特定资源类型操作命令

72 . kubectl create secret [type] [name] --from-file=[file] :创建secret资源。

73 . kubectl create configmap [name] --from-file=[file] :创建configmap资源。

74 . kubectl get secrets :查看集群中的secret资源。

75 . kubectl get configmaps :查看集群中的configmap资源。

76 . kubectl delete secret [name] :删除指定的secret资源。

77 . kubectl delete configmap [name] :删除指定的configmap资源。

十一、与存储相关的命令

78 . kubectl create persistentvolume [name] --capacity=[capacity] --accessmodes=[modes] :创建persistentvolume资源。

79 . kubectl create persistentvolumeclaim [name] --accessmodes=[modes] --storageclass=[class] --request-storage=[size] :创建persistentvolumeclaim资源。

80 . kubectl get persistentvolumes :查看集群中的persistentvolume资源。

81 . kubectl get persistentvolumeclaims :查看集群中的persistentvolumeclaim资源。

十二、与网络相关的命令

82 . kubectl create networkpolicy [name] --pod-selector=[selector] :创建networkpolicy资源以控制pod间的网络通信。

83 . kubectl get networkpolicies :查看集群中的networkpolicy资源。

十三、与RBAC(基于角色的访问控制)相关的命令

84 . kubectl create role [name] --verb=[verbs] --resource=[resources] --namespace=[namespace] :创建role资源。

85 . kubectl create rolebinding [name] --role=[role-name] --user=[username] --namespace=[namespace] :创建rolebinding资源以将role绑定到用户。

86 . kubectl get roles :查看集群中的role资源。

87 . kubectl get rolebindings :查看集群中的rolebinding资源。

十四、CronJob与定时任务相关命令

88 . **kubectl create cronjob [name] --image=[image] --schedule="[cron expression]"**:创建CronJob资源,用于按指定计划运行容器。

89 . kubectl get cronjobs:查看集群中所有的CronJob资源。

90 . **kubectl describe cronjob [name]**:查看指定CronJob的详细信息。

十五、高级配置与管理命令

91 . kubectl proxy :启动一个代理服务器,可以通过浏览器访问Kubernetes API。

92 . kubectl api-resources --verbs=list,watch,create,update,patch,delete :列出所有支持特定操作的API资源。

93 . kubectl plugin list :列出所有已安装的kubectl插件。

94 . kubectl completion bash :生成bash自动补全脚本。

95 . kubectl config set-cluster [cluster-name] --server=[server] --certificate-authority=[cert-path] :设置集群信息。

96 . kubectl config set-credentials [user-name] --client-certificate=[cert-path] --client-key=[key-path] --token=[token] :设置用户凭据。

97 . kubectl config set-context [context-name] --cluster=[cluster-name] --user=[user-name] --namespace=[namespace] :设置上下文。

十七、自定义资源定义(CRD)相关命令

98 . kubectl apply -f [crd-yaml-file] :应用自定义资源定义(CRD)文件,创建新的资源类型。

99 . kubectl get crd :列出所有已定义的自定义资源。

100 . kubectl get [crd-plural] :查看特定自定义资源的实例列表,其中[crd-plural]是CRD定义中的plural字段值。

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

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

相关文章

C++类和对象 - 拷贝构造, 赋值重载

拷贝构造函数 拷贝构造作用:一个已经存在的对象去初始化另一个要创建的对象 日常写代码中会出现如下场景: class Data { public:Data(int year, int month, int day) // 拷贝构造函数{this->_year year;this->_month month;this->_day day;} priva…

为什么咨询公司需要项目管理软件:7大关键优势

在咨询公司中,同时管理多个项目、客户和目标并非易事,尤其需要兼顾长期发展。项目管理软件就成为了各类项目型企业(包括咨询公司)的重要工具。 对于顾问来说,项目管理软件可以简化工作流程、增强客户关系并提高效率。本…

3大核心技术,免费开源的智能合同审查分析软件的技术介绍

本智能合同审查分析系统致力于解决法律领域中复杂文档与信息处理的难题,采用最先进的深度学习与自然语言处理(NLP)技术,提供精准的实体识别与关系抽取功能。系统基于BERT、GPT等主流模型,实现自动识别和关联法律文档中…

GitCode光引计划有奖征文大赛

一、活动介绍 GitCode平台汇聚了众多杰出的G-Star项目,它们犹如璀璨星辰,用各自的故事和成就,为后来者照亮前行的道路。我们诚邀广大开发者、项目维护者及爱好者,共同撰写并分享项目在GitCode平台上托管的体验,挖掘平…

UE4 Cook 从UAT传递参数给UE4Editor

需求 一句Cook的命令如下: ${EnginePath}/Engine/Build/BatchFiles/RunUAT.sh BuildCookRun -project${ClientPath}/${ProjectName}.uproject -noP4 -platformIOS -cooksinglepackage -client -clientconfig${CookConfig} -iterate -skipbuild -nocompile -NoMutex…

api驱动的云服务是什么意思?

API驱动的云服务是指利用API技术来驱动和提供云服务的模式。在这种模式下,云服务提供商会公开一系列的API接口,允许开发者或应用程序通过调用这些API来实现对云服务的访问和操作。API驱动的云服务是现代云计算技术的重要组成部分,API驱动的云…

Springboot 启动端口占用如何解决

Springboot 启动端口占用如何解决 1、报错信息如下 *************************** APPLICATION FAILED TO START ***************************Description:Web server failed to start. Port 9010 was already in use.Action:Identify and stop the process thats listening o…

【Rust调用Windows API】杀掉指定进程(包括兄弟进程、子进程、父进程)

前言 前面一篇文章写了使用Rust调用Windows API 获取正在运行的全部进程信息 ,本篇实现杀掉指定进程。 通过标准库可以管理当前进程创建的子进程,要 kill 掉子进程也比较容易,这里不赘述了,主要实现通过调用Windows API来杀掉兄…

基于Python的外卖点餐系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…

世界坐标系、相机坐标系、图像物理坐标系、像素平面坐标系

坐标系及其转换在计算机视觉领域占据核心地位。理解如何从一个坐标系转换到另一个坐标系,不仅是理论上的需要,也是实际应用中不可或缺的技能。 一、世界坐标系的定义 世界坐标系是一个全局的坐标系统,用于定义场景中物体的位置。在这个坐标…

Pycharm也可以用来查看和操作MySQL数据库?

1.首先确保自己的电脑安装好MySQL MySQL :: Download MySQL Community Server 2.在创建project界面选择Open 打开并选择自己存放sql文件的路径 完成后的效果 3.创建好数据库的连接 4.打开Database视窗 5.给数据库添加新的Schema 6.运行需要查看或者操作的sql文件 7.选择适合的…

1、VMware12安装ubuntu18.04

1、ubuntu18地址获取: Index of /ubuntu-releases/18.04/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 2、安装过程: 1、新建虚拟机 2、选择稍后安装操作系统 3.客户机操作系统选择Linux,版本选择Ubuntu 64位 4、点击“自定义…

数据结构查找-哈希表(创建+查找+删除)+(C语言代码)

#include<stdlib.h> #include<stdio.h> #include<stdbool.h> #define NULLKEY -1//单元为空 #define DELKEY -2//单元内容被删除 #define M 20 typedef struct {int key;//关键字int count;//统计哈希冲突探测次数 }HashTable; //插入到哈希表 void InsertHT…

基于Java的周次生成工具类实现

摘要&#xff1a; 本文介绍了一个基于Java的周次生成工具&#xff0c;用于根据指定的年份和周次类型&#xff08;自然周或财务周&#xff09;生成连续的周次列表数据。 需求描述&#xff1a; 根据周次类型&#xff0c;生成连续的周次列表数据。 周次类型分2种&#xff1a; …

为什么华大严选基因是您的最佳选择?品牌特色全解析

《为什么华大严选基因是您的最佳选择&#xff1f;品牌特色全解析》 在当今基因检测市场竞争激烈的环境下&#xff0c;华大严选基因以其卓越的品质和独特的品牌特色脱颖而出&#xff0c;成为众多消费者的首选。作为 DNA 基因检测行业十佳优质品牌和 3・15 重点推荐品牌&#xff…

中仕公考怎么样?国考有三不限岗位吗?

国考有三不限岗位吗? “三不限”岗位&#xff0c;即不限制专业、学历和户籍的岗位。国考中几乎没有“三不限”岗位。因为公务员国考的报考条件通常较为严格&#xff0c;尤其是不限制条件的职位更少见&#xff0c;所以国考中一般是没有三不限岗位的。 与省考公务员不同的是&a…

Day44 | 动态规划 :状态机DP 买卖股票的最佳时机IV买卖股票的最佳时机III

Day44 | 动态规划 &#xff1a;状态机DP 买卖股票的最佳时机IV&&买卖股票的最佳时机III&&309.买卖股票的最佳时机含冷冻期 动态规划应该如何学习&#xff1f;-CSDN博客 本次题解参考自灵神的做法&#xff0c;大家也多多支持灵神的题解 买卖股票的最佳时机【…

inode,请别忽视它!

在Linux文件系统中&#xff0c;inode 是一个不可忽视的核心概念。它不仅是文件系统运行的基石&#xff0c;还在内核、应用程序以及驱动程序开发中扮演着重要角色。如果你曾对文件的底层运作感到困惑&#xff0c;或者在面试中遇到文件系统相关问题&#xff0c;那么理解inode绝对…

x-cmd pkg | howdoi - 无需打开浏览器,轻松搜索编程问题的解决方案

目录 简介首次用户技术特点竞品和相关项目进一步阅读 简介 howdoi 一个在终端中查找编程问题的命令行工具和 python 库&#xff0c;可用于从 Stack Overflow 等编程社区获取搜索问题的答案&#xff0c;并将它们以代码片段的形式显示在命令行中。 首次用户 本文提供了一个dem…

实测运行容器化Tomcat服务器

文章目录 前言一、拉取Tomcat 9.0镜像二、运行容器化Tomcat服务器三、访问Tomcat官网首页测试 总结 前言 运行容器化Tomcat服务器&#xff0c;首先确保正确安装docker&#xff0c;并且已启动运行&#xff0c;具体安装docker方法见笔者前面的博文《OpenEuler 下 Docker 安装、配…