K8s(Kubernetes)常用命令

news2024/11/16 15:31:44

        大家好,当谈及容器编排工具时,Kubernetes(常简称为K8s)无疑是当今最受欢迎和广泛使用的解决方案之一。作为一个开源的容器编排平台,Kubernetes 提供了丰富的功能,可以帮助开发人员和运维团队管理、部署和扩展容器化应用程序。然而,要充分发挥 Kubernetes 的潜力,理解和掌握其各种命令是至关重要的。

        本文将介绍一些常用的 Kubernetes 命令,从基本的集群管理到应用程序部署和监控,旨在帮助读者更好地理解和利用 Kubernetes。无论您是初学者还是有经验的 Kubernetes 用户,本文都将为您提供有价值的信息和技巧,助您更轻松地管理和操作 Kubernetes 集群。

一、Kubernetes 概述

        Kubernetes(通常简称为 K8s)是一个开源的容器编排平台,最初由 Google 开发,并于2014年开源。它旨在简化容器化应用程序的部署、扩展和管理。

作用与优势

        Kubernetes 的主要作用是自动化容器操作,例如部署、调度和管理容器化的应用程序。它提供了一种高度可扩展的平台,可以在跨多个主机上动态管理容器化应用程序的资源。

Kubernetes 的优势包括:
  1. 自动化部署和扩展: Kubernetes 可以自动部署和扩展应用程序,根据负载需求动态调整容器的数量。

  2. 服务发现与负载均衡: Kubernetes 提供了内置的服务发现和负载均衡功能,使得应用程序可以轻松地与其他服务通信。

  3. 自我修复: Kubernetes 可以自动检测容器和节点的健康状态,并在需要时进行自我修复,确保应用程序的高可用性。

  4. 密钥管理与配置: Kubernetes 提供了安全的密钥管理和配置管理功能,可以轻松地管理敏感信息和应用程序配置。

  5. 多环境支持: Kubernetes 可以在公有云、私有云和混合云环境中运行,为用户提供了更大的灵活性和选择性。

  6. 社区支持与生态系统: Kubernetes 拥有庞大的开源社区和丰富的生态系统,提供了大量的工具和插件,使得用户能够定制化和扩展 Kubernetes 平台。

在容器编排中的重要性

        在容器编排中,Kubernetes 起着至关重要的作用。它允许开发人员和运维团队管理和调度大规模容器化应用程序,确保它们能够高效、可靠地运行。Kubernetes 提供了一个统一的平台,使得容器化应用程序的部署、扩展和管理变得更加简单和可靠。通过 Kubernetes,团队可以更快地交付软件,提高应用程序的可用性和可伸缩性,从而降低了部署和运维的成本,促进了业务的持续创新和发展。

二、常用命令

        当涉及到 Kubernetes(通常缩写为 K8s)集群的管理和操作时,有一些常用的命令是非常重要的。以下是一些常见的 Kubernetes 命令及其功能:

1、kubectl get

        获取资源的信息。这是一个非常常用的命令,可以用来获取各种 Kubernetes 资源的状态信息,比如 Pods、Services、Deployments 等。

kubectl get pods               # 获取所有 Pods 的信息
kubectl get services           # 获取所有 Services 的信息
kubectl get deployments        # 获取所有 Deployments 的信息

2、kubectl describe

获取资源的详细信息。该命令可以显示特定资源的详细信息,包括各种配置和状态。

kubectl describe pod <pod_name>        # 获取特定 Pod 的详细信息
kubectl describe service <service_name> # 获取特定 Service 的详细信息

3、kubectl create

创建资源。使用此命令可以在 Kubernetes 中创建各种资源,例如 Pod、Service、Deployment 等。

kubectl create deployment <deployment_name> --image=<image_name>     # 创建 Deployment
kubectl create service <service_name> --tcp=<port>:<targetPort>       # 创建 Service

4、kubectl delete

删除资源。这个命令用于删除指定的资源,可以是单个资源或一组资源。

kubectl delete pod <pod_name>            # 删除 Pod
kubectl delete service <service_name>    # 删除 Service

5、kubectl apply

应用配置。通过 apply 命令可以将配置文件应用到 Kubernetes 集群中,包括创建、更新和删除资源。

kubectl apply -f <filename.yaml>         # 应用配置文件

6、kubectl exec

在容器内执行命令。可以使用 exec 命令在运行的容器内执行命令,例如查看日志或执行调试操作。

kubectl exec -it <pod_name> -- /bin/bash        # 进入 Pod 的 shell 环境
kubectl exec <pod_name> -- ls                   # 在 Pod 内执行 ls 命令

7、kubectl logs

获取容器日志。该命令用于检索 Pod 中容器的日志信息。

kubectl logs <pod_name>                          # 获取 Pod 中所有容器的日志
kubectl logs <pod_name> -c <container_name>      # 获取 Pod 中特定容器的日志

8、kubectl scale

扩展 Deployment。使用 scale 命令可以扩展或缩减 Deployment 中 Pod 的副本数量。

kubectl scale deployment <deployment_name> --replicas=<num_replicas>     # 扩展 Deployment 的副本数量

9、kubectl port-forward

将本地端口与 Pod 的端口进行转发,以便直接访问 Pod 内的服务。

kubectl port-forward <pod_name> <local_port>:<pod_port>   # 将本地端口与 Pod 端口进行转发

10、kubectl rollout

管理 Deployment 的滚动更新。可以使用 rollout 命令进行滚动更新的管理,包括查看历史记录、回滚等。

kubectl rollout status deployment/<deployment_name>       # 查看 Deployment 的更新状态
kubectl rollout history deployment/<deployment_name>      # 查看 Deployment 的更新历史
kubectl rollout undo deployment/<deployment_name>         # 回滚 Deployment 到上一个版本

11、kubectl label

标记资源。使用 label 命令可以给资源添加标签,以便进行更灵活的资源选择和管理。

kubectl label pods <pod_name> <label_key>=<label_value>          # 给 Pod 添加标签
kubectl label nodes <node_name> <label_key>-                    # 删除 Node 的标签

12、kubectl taint

标记节点的污点。污点可以阻止 Pod 调度到节点上,除非 Pod 明确容忍该污点。

kubectl taint nodes <node_name> <taint_key>=<taint_value>:<effect>  # 给节点添加污点

13、kubectl get events

获取集群事件。该命令用于获取集群中发生的事件,如 Pod 的创建、删除、调度等。

kubectl get events                  # 获取集群中的事件列表
kubectl describe events             # 查看详细的事件信息

14、kubectl top

查看集群资源的使用情况。可以使用 top 命令查看集群中各种资源(如 CPU、内存)的使用情况。

kubectl top node                    # 查看节点的资源使用情况
kubectl top pod                     # 查看 Pod 的资源使用情况

15、kubectl proxy

启动本地代理。可以使用 proxy 命令在本地启动代理,以便访问 Kubernetes API 服务器。

kubectl proxy                        # 启动本地代理

16、kubectl edit

编辑资源配置。使用 edit 命令可以直接编辑 Kubernetes 资源的配置,比如 Deployment、Service 等。

kubectl edit deployment <deployment_name>       # 编辑 Deployment 的配置

17、kubectl create secret

创建密钥或凭据。可以使用 create secret 命令创建 Kubernetes 中的密钥或凭据,用于存储敏感信息。

kubectl create secret generic <secret_name> --from-literal=<key>=<value>   # 创建通用密钥

18、kubectl rollout pause/resume

暂停和恢复 Deployment 的滚动更新。可以使用 pause 和 resume 命令暂停和恢复 Deployment 的滚动更新过程。

kubectl rollout pause deployment/<deployment_name>    # 暂停 Deployment 的滚动更新
kubectl rollout resume deployment/<deployment_name>   # 恢复 Deployment 的滚动更新

19、kubectl get pod|service|deployment --watch

实时监视资源。使用 watch 参数可以实时监视特定资源的状态变化。

kubectl get pods --watch          # 实时监视 Pods 的状态变化

20、kubectl explain

查看资源的详细信息和字段说明。使用 explain 命令可以查看 Kubernetes 资源的详细说明,包括支持的字段等。

kubectl explain pod.spec.containers   # 查看 Pod 中容器的字段说明

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

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

相关文章

今日份动态规划学习(二维01背包+01背包变形)

目录 P1877 [HAOI2012] 音量调节 P1877 [HAOI2012] 音量调节 题解&#xff1a;一个入门级别的01背包问题&#xff0c;首先就是为什么能看出是01背包&#xff0c;因为只有两种状态&#xff0c;要不增大音量&#xff0c;要不减小音量&#xff0c;和01背包的选与不选非常近似。但…

计算机网络 —— 数据链路层(以太网)

计算机网络 —— 数据链路层&#xff08;以太网&#xff09; 什么是以太网以太网传输介质和拓扑结构的发展传输介质的发展&#xff1a;拓扑结构的发展&#xff1a; 10BASE-T 以太网适配器和MAC地址适配器&#xff08;Adapter&#xff09;MAC地址适配器与MAC地址的关系 MAC帧以太…

OpenCV中的圆形标靶检测——斑点检测算法(二)

前面的章节中我们已经大致介绍了算法流程,也对一些算法中用到的相关概念做了简要介绍,同时给出了算法调用的API,现在我们开始算法检测接口实现源码的分析。 1. 斑点的分组与加权 这里我们选择后者,先了解算法的处理流程,再分析各个模块的实现。算法流程图如下图所示,上一…

重生之 SpringBoot3 入门保姆级学习(10、日志基础与使用)

重生之 SpringBoot3 入门保姆级学习&#xff08;10、日志基础使用&#xff09; 3.1 日志基础3.2 使用日志3.2.1 基础使用3.2.2 调整日志级别3.2.3 带参数的日志 3.1 日志基础 SpringBoot 默认使用 SLF4j&#xff08;Simple Logging Facade for Java&#xff09;和 Logback 实现…

结构体+结构体内存对齐+结构体实现位段

结构体内存对齐实现位段 一.结构体1.结构体的声明2.结构体变量成员访问操作符3.结构体传参4.匿名结构体5.结构的自引用 二.结构体内存对齐1.对齐规则2.为什么存在内存对齐&#xff1f;3.修改默认对齐数 三.结构体实现位段1.什么是位段2.位段的内存分配3.位段的跨平台问题4.位段…

C++标准模板(STL)- 迭代器库-迭代器适配器 - 逆序遍历的迭代器适配器

迭代器库-迭代器适配器 迭代器库提供了五种迭代器的定义&#xff0c;同时还提供了迭代器特征、适配器及相关的工具函数。 迭代器分类 迭代器共有五 (C17 前)六 (C17 起)种&#xff1a;遗留输入迭代器 (LegacyInputIterator) 、遗留输出迭代器 (LegacyOutputIterator) 、遗留向…

2024年城市建设与环境管理国际会议(ICUCEM 2024)

2024 International Conference on Urban Construction and Environmental Management 【1】大会信息 大会地点&#xff1a;中国成都 投稿邮箱&#xff1a;icucemsub-paper.com 【2】会议简介 2024年城市建设与环境管理国际会议是一个专注于探讨城市建设与环境管理前沿议题…

#02 安装指南:如何配置Stable Diffusion环境

文章目录 前言前置条件第1步&#xff1a;安装Python和PIP第2步&#xff1a;创建虚拟环境第3步&#xff1a;安装PyTorch和CUDA第4步&#xff1a;安装Stable Diffusion相关库第5步&#xff1a;测试环境结论 前言 在之前的文章中&#xff0c;我们介绍了Stable Diffusion基础入门和…

【ArcGIS微课1000例】0114:基于DEM地形数据整体抬升或下降高程

相关阅读:【GlobalMapper精品教程】083:基于DEM整体抬升或下降地形高程的两种方式 文章目录 一、任务分析二、栅格计算器简介三、地形整体修改四、注意事项一、任务分析 打开软件,加载配套实验数据中的0112.rar中的dem数据,如下所示,dem的高程范围为256.75~342.37米,现在…

QT之动态加载树节点(QTreeWidget)

之前写过一篇动态加载ComboBox&#xff0c;可参见下面这篇文章 QT之动态加载下拉框&#xff08;QComboBox&#xff09; 同理QTreeWidget也可以实现动态加载&#xff0c;在一些异步加载数据&#xff0c;并且数据加载比较耗时&#xff0c;非常实用。 效果 原理分析 要实现此类效…

618精选网络安全书单:打造数字世界的钢铁长城!

文章目录 《内网渗透实战攻略》《Kali Linux高级渗透测试&#xff08;原书第4版&#xff09;》《CTF那些事儿》《权限提升技术&#xff1a;攻防实战与技巧》《数字政府网络安全合规性建设指南&#xff1a;密码应用与数据安全》《红蓝攻防&#xff1a;构建实战化网络安全防御体系…

ECharts 图形化看板 模板(简单实用)

目录 一、官网 二、模板 ①定义请求​编辑 ② 将请求统一管理&#xff0c;别的页面引用多个请求时更便于导入。​编辑 ③最终模板 三、执行效果 四、后端代码 4.1 controller 4.2 xml 4.3 测试接口 一、官网 获取 ECharts - 入门篇 - 使用手册 - Apache ECharts 二、…

医疗器械网络安全风险管理的基本步骤

医疗器械网络安全风险管理是一个复杂的过程&#xff0c;涉及到多个环节和步骤。以下是一些基本的步骤和关键点&#xff1a; 风险识别&#xff1a;首先需要对医疗器械的软件、网络连接和通信协议等进行漏洞分析&#xff0c;识别潜在的安全漏洞和弱点。这可能涉及对设备的渗透测…

佛教祭拜小程序-寺庙小程序-纪念馆小程序

大家好&#xff0c;我是程序员小孟。 现在有很多的产品或者工具都开始信息话了&#xff0c;寺庙或者佛教也需要小程序吗&#xff1f; 当然了&#xff01; 前面我们还开发了很多寺庙相关的小程序&#xff0c;都有相关的介绍&#xff1a; 1,优质的寺庙小程序-H5寺庙网页 今天…

jmeter常用的断言

包括&#xff08;Contains&#xff09;&#xff1a;响应内容包括需要匹配的内容即代表响应成功&#xff0c;支持正则表达式 匹配&#xff08;Matches&#xff09;&#xff1a;响应内容要完全匹配需要匹配的内容即代表响应成功&#xff0c;大小写不敏感&#xff0c;支持正则表达…

2. redis配置文件解析

redis配置文件解析 一、redis配置文件1、监听地址2、监听端口3、redis接收请求的队列长度3.1 修改系统参数/内核参数 4、客户端空闲的超时时间5、指定redis的pid文件6、定义错误日志7、定义数据库的数量8、定义持久化存储9、设置redis密码10、redis并发连接11、最大内存策略 二…

python的一种集成开发工具:PyCharm开发工具

一. 简介 本文简单了解两种 python语言所使用的 集成开发环境&#xff1a; PyCharm、vscode。 python语言学习中&#xff0c;可以任意选中这两个集成开发环境的一种就可以。本文先来简单学习 PyCharm开发工具安装与使用。 二. python的一种集成开发工具&#xff1a;PyChar…

Warning:成交前,永远相信意外即将发生

作为一名首次次创业者&#xff0c;随着创业进入深层次阶段&#xff0c;越来越感觉到&#xff1a;创业是一条不归路&#xff0c;因为路上不止有惊喜&#xff0c;还有风尘。创业之前我认为世界是“天圆地方”的&#xff0c; 创业后你猜我怎么看这个世界的&#xff1f; 创业前我一…

ARM32开发——串口库封装(初级)

&#x1f3ac; 秋野酱&#xff1a;《个人主页》 &#x1f525; 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 开发流程分组创建 接口定义完整代码 开发流程 在文件系统中&#xff0c;创建库目录Library在keil工程中&#xff0c;创建分组管理…

健身日记之倒立俯卧撑学习——起始日2024.6.4

文章目录 前言 自我介绍 昔日计划 新目标计划 瓶颈突破尝试 参考视频及文章 前言 有轻微健身基础&#xff0c;正式接触街健五大神技&#xff0c;立志在两年内解锁全部&#xff0c;将有机会的进行日常训练和目标肌群锻炼&#xff0c;这里向大家展示我的计划和安排&#xf…