K8s(Kubernetes)常用命令

        大家好,当谈及容器编排工具时,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 中容器的字段说明

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

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

相关文章

能耗监测系统在上海交通大学闵行校区理科实验楼群的设计与应用

引言 建筑能耗系统&#xff0c;除了基本的电力参数监测、配电系统的运行状况&#xff0c;更加关注能耗的去向。除了常规的园区楼层出线电能计量&#xff0c;还会涉及水&#xff0c;气等能耗计量。 针对上海交通大学闵行校区理科实验楼群能耗监测系统的具体要求&#xff0c;以…

小熊家务帮day8-day9 客户管理模块2 (用户定位,地址簿,实名认证,银行卡信息上传等功能)

客户管理模块 0.用户定位功能0.1 需求0.2 接口分析0.3 接口开发Controller层开发Service层开发 1.我的地址簿功能1.1 需求1.2 数据库设计1.3 新增地址簿1.3.1 接口设计1.3.2 接口开发Controller层开发Service层开发测试功能 1.4 地址簿查询1.4.1 接口设计1.4.2 接口开发Control…

游戏主播到底是为游戏宣传还是蹭游戏带来的热度

易采游戏网6月1日最新消息&#xff1a;近日知名游戏主播周淑怡在社交平台上发表了自己对《地下城与勇士》手游(简称DNF手游)的点评。作为一款拥有庞大粉丝基础的端游改编作品&#xff0c;DNF手游自发布以来便受到了广泛关注。而周淑怡的点评不仅聚焦于游戏体验本身&#xff0c;…

visual studis 安装教程

1、下载软件 2、直接安装。根据自己的需求选择需要的模板类型。 如果是.net环境&#xff0c;可以选择.net项目&#xff1b; 如果是c环境&#xff0c;可以选择c项目模板&#xff0c;多个模板可以同时并存。 3、选择C模板&#xff0c;然后重新启动项目。 我是小路&#xff0c;一枚…

Flutter基础 -- Dart 语言 -- 列表集合枚举

目录 1. 列表 List 1.1 初始 1.2 声明 1.2.1 自动 1.2.2 定长 1.2.3 生成数据 1.3 属性 1.4 方法 1.4.1 添加 1.4.2 查询 1.4.3 删除 1.4.4 Range 1.4.5 洗牌 1.4.6 排序 1.4.7 复制子列表 1.4.8 操作符 2. 集合 Map 2.1 初始 2.2 声明 2.2.1 松散 2.2.2 …

7、架构-架构的安全性

即使只限定在“软件架构设计”这个语境下&#xff0c;系统安全仍然是一 个很大的话题。我们谈论的计算机系统安全&#xff0c;不仅仅是指“防御系统 被黑客攻击”这样狭隘的安全&#xff0c;还至少应包括&#xff08;不限于&#xff09;以下这些问 题的具体解决方案。 认证&am…

小白教你搭建测试环境(docker部署版)

如何使用docker创建多数据库端口&#xff08;云服务器版&#xff09; 背景&#xff1a; 需要搭建一个测试环境&#xff0c;同时还需要不同的端口映射mysql端口。那么我采用的docker拉取mysql镜像&#xff0c;通过宿主机和docker容器端口映射完成。 准备一台云服务器服务器安装…

[书生·浦语大模型实战营]——训练自己的小助手认知+应用部署到 OpenXLab+复现多模态微调

1.训练自己的小助手认知 微调后的回答&#xff1a; 微调前的回答&#xff1a; 2.应用部署到 OpenXLab 上传的自我认知模型 应用部署在OpenXLab&#xff08;比上次部署方便不少&#xff0c;文档写的更清楚了&#xff0c;棒棒&#xff09;,链接如下应用链接 3.复现多模态…

SLAM精度评估—evo

evo是一款用于SLAM轨迹精度的评估工具。核心功能是&#xff08;1&#xff09;能够绘制&#xff08;传感器运动&#xff09;轨迹&#xff0c;&#xff08;2&#xff09;评估估计轨迹与真值&#xff08;ground truth&#xff09;的误差。evo支持多种数据集的轨迹格式(TUM、KITT、…

php之文件操作代码审计

1 PHP文件操作函数 1.1 PHP文件操作函数 文件包含 include/require/include_once/require_once 文件读取 file_get_contents/fread/readfile/file 文件写入 file_put_contents/fwrite/mkdir/fputs 文件删除 unlink/rmdir 文件上传 move_uploaded_file/copy/rename 1.2 文…

Error CREATEing SolrCore ‘new_core‘ Unable to create core [new_core]

Error CREATEing SolrCore new_core: Unable to create core [new_core] Caused by: Cant find resource solrconfig.xml in classpath or F:\Document_Solr.apache.org\solr-8.11.3\server\solr\new_core

VHDL/CPLD硬件描述语言:2022年做的万年历实验

之前接触过一些硬件描述语言以及VHDL/CPLD的单片机的设计实验&#xff0c;那时是2022年了 这里补写一篇笔记,以记录一下那十多个小时 万年历实验 研究中的心得体会&#xff1a; 说明解释都是个人理解&#xff0c;与标准描述有较大出入...... 目录 输入输出器件的编写: 分频器…

年中汇报季?——一文教会你如何进行数据分析

一、常见的数据分析报告类型 数据分析报告通常可以分为三类&#xff1a;日常分析报告、专题型分析报告和综合性分析报告。前两者是以数据结论建议的格式去撰写&#xff0c;综合性分析报告则是&#xff1a;行业环境调研&#xff08;竞品类产品数据分析&#xff09;自身产品数据…

张大哥笔记:你卖什么,就反着来卖

普通人打工的一生&#xff0c;就是努力工作&#xff0c;买房&#xff0c;买车&#xff0c;送孩子上好的学校&#xff0c;为了孩子不要输在起跑线上&#xff0c;拼命报各种补习班等&#xff0c;这些都是普通人认为的主流价值观文化&#xff0c;也造就了一批批的赚钱机器&#xf…

深度解析 Spring 源码:探秘 CGLIB 代理的奥秘

文章目录 一、CGLIB 代理简介1.1 CGLIB 代理的基本原理和特点1.2 分析 CGLIB 如何通过字节码技术创建代理类 二、深入分析 CglibAopProxy 类的结构2.1 CglibAopProxy 类结构2.2 CglibAopProxy 类源码 三、CGLIB 代理对象的创建过程3.1 配置 Enhancer 生成代理对象3.2 探讨如何通…

【斯坦福因果推断课程全集】1_随机对照试验1

目录 The average treatment effect Difference-in-means estimation IID Sampling and Population Asymptotics Example: The linear model Regression adjustments with a linear model 随机对照试验&#xff08;RCT&#xff09;是统计因果推论的基础。如果有的话&#…

Linux - 文件管理高级 sed

3.处理字符 sed ① sed 默认情况下不会修改原文件内容 ② sed 是一种非交互式的编辑器 3.1 工作原理 将原文件一行一行的进行处理&#xff0c;取出一行&#xff0c;放入“模式空间进行处理”&#xff0c;处理完成之后将结果输出到屏幕上&#xff0c;然后读取下一行&#xf…

瓦罗兰特国际服 外服游玩教程 瓦罗兰特外服下载注册游玩指南

瓦罗兰特国际服 外服游玩教程 瓦罗兰特外服下载注册游玩指南 瓦罗兰特作为当今游戏圈顶流的一款热门FPS。游戏&#xff0c;作为拳头游戏公司划时代的一款游戏。游戏不仅延续了传统FPS游戏的玩法&#xff0c;还添加许多新玩法&#xff0c;这也是游戏可以吸引大批量玩家的原因之…

vulnhub靶场之FunBox-10

一.环境搭建 1.靶场描述 As always, its a very easy box for beginners. This works better on VitualBox rather than VMware 2.靶场下载 Funbox: Under Construction! ~ VulnHub 3.靶场启动 靶场IP地址我们不知道&#xff0c;但是网段我们知道是192.168.2.0/24 二.信息…

Filter和ServletContext和Listener

目录 Filter案例 解决全站乱码问题 登录权限校验 ServletContext对象 Listener&#xff08;监听器&#xff09; Filter案例 解决全站乱码问题 我们每次访问每个servlet都要书写处理请求和响应乱码的代码&#xff0c;这样代码十分冗余&#xff0c;所以我们可以在过滤中 We…