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

K8s:K8s 20个常用命令汇总

写在前面


  • 博文内容为节译整理,用于温习
  • 理解不足小伙伴帮忙指正

对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波逐流,是对内心的恐惧 ——赫尔曼·黑塞《德米安》


Kubernetes 是一个容器编排平台,允许用户部署、管理和扩展容器化应用程序。

由于其灵活性、可扩展性和易用性,它已成为管理容器的最流行的平台之一。

Kubernetes 的主要功能之一是其命令行界面 (CLI),它允许用户使用命令与平台进行交互。

使用 k8s cli 提高效率将使您对工作负载的操作及其调试速度更快。

在本文中,我们将讨论可以帮助用户更有效地管理其 Kubernetes 集群的前 20 个命令式命令。

kubectl create

kubectl create 命令用于在 Kubernetes 中创建资源。它可用于创建各种资源,包括 Pod、服务、部署等。例如,若要创建新部署,可以:

kubectl create deployment my-deployment --image=my-image

kubectl create deployment <deployment-name> --image=<image-name>:创建一个 Deployment 对象,指定容器镜像名称和部署名称。

kubectl create service <service-name> --tcp=<port>:<target-port>:创建一个 Service 对象,将容器的端口暴露到集群内部,并将其映射到指定的端口。

kubectl create configmap <configmap-name> --from-file=<path-to-file>:创建一个 ConfigMap 对象,用于存储应用程序的配置信息。

kubectl create secret generic <secret-name> --from-literal=<key>=<value>:创建一个 Secret 对象,用于存储敏感信息,如密码等。

kubectl create namespace <namespace-name>:创建一个 Namespace 对象,用于隔离和管理 Kubernetes 资源。

kubectl create job <job-name> --image=<image-name>:创建一个 Job 对象,用于在 Kubernetes 集群中运行一个或多个任务。

kubectl create cronjob <cronjob-name> --image=<image-name> --schedule=<cron-expression>:创建一个 CronJob 对象,用于定期运行一个或多个任务。

kubectl get

它用于检索有关 Kubernetes 资源的信息。它可用于检索有关各种资源(包括 Pod、服务、部署等)的信息。

例如,要检索有关 Kubernetes 集群中所有 Pod 的信息,您可以:

kubectl get pods/deployments/svc/configmaps/secrets

kubectl describe

kubectl describe 命令用于检索有关特定 Kubernetes 资源的详细信息。它可用于检索有关各种资源(包括 Pod、服务、部署等)的信息。

例如,要检索有关特定容器的详细信息,可以:

kubectl describe pod <pod-name>

kubectl delete

kubectl delete 命令用于删除 Kubernetes 资源。它可用于删除各种资源,包括 Pod、服务、部署等。例如,要删除特定 Pod,可以:

kubectl delete pod my-pod

kubectl exec

kubectl exec 命令用于在正在运行的容器中执行命令。它可用于在各种容器中执行命令,包括 Pod、服务、部署等。

例如,要在正在运行的 Pod 中执行命令,可以:

kubectl exec my-pod -- ls 
kubectl exec -it <pod-name> /bin/bash/

kubectl logs

kubectl logs 命令用于从容器中检索日志。它可用于从各种容器(包括 Pod、服务、部署等)中检索日志。

kubectl logs my-pod

kubectl port-forward

kubectl port-forward 命令用于将本地端口转发到 Kubernetes pod 上的端口。

它可用于转发来自各种 Pod 的端口,包括 Pod、服务、部署等。例如,要将本地计算机上的端口 8080 转发到 Pod 上的端口 80,您可以:

kubectl port-forward my-pod 8080:80

kubectl label

kubectl label 命令用于在 Kubernetes 资源中添加或删除标签。它可用于在各种资源(包括容器、服务、部署等)中添加或删除标签。

例如,要向容器添加标签,可以:

kubectl label pod my-pod app=backend

kubectl scale

kubectl scale 命令用于扩展或缩减 Kubernetes 资源。它可用于缩放各种资源,包括部署、副本集等。例如,若要将部署扩展到 5 个副本,可以:

kubectl scale deployment my-deployment --replicas=5

kubectl rollout

kubectl rollout 命令用于管理 Kubernetes 资源的推出。它可用于管理各种资源的推出,包括部署、副本集等。

kubectl rollout status deployment/my-deployment

kubectl expose

kubectl expose 命令用于将 Kubernetes 资源公开为服务。它可用于公开各种资源,包括 Pod、部署等。

例如,若要将部署公开为服务,可以:

kubectl expose deployment my-deployment --port=80 --target-port=8080

kubectl run

kubectl run 命令用于创建新的 Kubernetes 资源。它可用于创建各种资源,包括 Pod、deployment等。

kubectl run my-pod --image=my-image

kubectl config

kubectl config 命令用于管理 Kubernetes 配置。它可用于管理各种配置,包括上下文、群集等。

例如,要查看当前上下文配置,可以:

kubectl config current-context

kubectl cluster-info

kubectl cluster-info 命令用于检索有关 Kubernetes 集群的信息。
它可用于检索各种信息,包括 API 服务器 URL、Kubernetes 版本等。

例如,要检索有关 Kubernetes 集群的信息,您可以:

kubectl cluster-info

kubectl apply -dry-run

kubectl apply --dry-run 命令用于模拟对 Kubernetes 资源更改的应用。它可用于模拟对各种资源(包括 Pod、服务、部署等)的更改。

kubectl apply -f deployment.yaml — dry-run

kubectl rollout undo

kubectl rollout undo 命令用于撤消 Kubernetes 资源的推出。它可用于撤消各种资源的推出,包括部署、副本集等。

kubectl rollout undo deployment/my-deployment

kubectl auth

kubectl auth 命令用于管理 Kubernetes 身份验证。它可用于管理各种身份验证设置,包括角色、角色绑定等。

kubectl auth can-i get pods —-as my-user

kubectl top

kubectl top 命令用于从 Kubernetes 资源中检索资源使用指标。它可用于从各种资源(包括节点、Pod 等)中检索指标。

kubectl top pod my-pod

kubectl set

此命令用于更新或修改 Kubernetes 资源的状态。这是一个命令式命令,这意味着它直接指示 Kubernetes 执行操作,而不是声明所需的状态。

  • kubectl set image:此子命令用于更新部署或 Pod 使用的容器映像。
  • kubectl set env:此子命令用于更新 Pod 或部署的环境变量。
  • kubectl set resources:此子命令用于更新 Pod 或部署的资源请求和限制。
  • kubectl set replicas:此子命令用于更新部署的副本数。
kubectl set image deployment/my-deployment my-container=new-image:latest

博文部分内容参考

© 文中涉及参考链接内容版权归原作者所有,如有侵权请告知


https://shahneil.medium.com/top-20-must-know-kubernetes-commands-for-effective-container-orchestration-8ec6ef77c3c7


© 2018-2023 liruilonger@gmail.com, All rights reserved. 保持署名-非商用-相同方式共享(CC BY-NC-SA 4.0)

相关文章:

K8s:K8s 20个常用命令汇总

写在前面 博文内容为节译整理&#xff0c;用于温习理解不足小伙伴帮忙指正 对每个人而言&#xff0c;真正的职责只有一个&#xff1a;找到自我。然后在心中坚守其一生&#xff0c;全心全意&#xff0c;永不停息。所有其它的路都是不完整的&#xff0c;是人的逃避方式&#xff0…...

DHCP防护原理

电脑刚连接到网络 是没有IP地址的 。 通过发送广播到DHCPO服务器。 DHCP服务器响应对应的 IP地址&#xff08;简要过程&#xff09;。 如果有人私自挂接WIFI&#xff0c;相当于DHCP服务器&#xff0c;但这个DHCP服务器是假的&#xff0c;就会引起电脑接入获取家用WIFI的地址&…...

leetcode2434. 使用机器人打印字典序最小的字符串 出栈顺序 贪心+栈

https://leetcode.cn/problems/using-a-robot-to-print-the-lexicographically-smallest-string/ 给你一个字符串 s 和一个机器人&#xff0c;机器人当前有一个空字符串 t 。执行以下操作之一&#xff0c;直到 s 和 t 都变成空字符串。请你返回纸上能写出的字典序最小的…...

【程序设计】一文讲解程序设计目标:高内聚,低耦合

前言 软件设计的目标是高内聚、低耦合。 如果代码是高耦合和低内聚的&#xff0c;就会出现修改一个逻辑&#xff0c;会导致多处代码要修改&#xff0c;可能影响到多个业务链路&#xff0c;这增加了出bug的业务风险&#xff0c;同时增加了测试回归的范围&#xff0c;导致研发成…...

nginx mirror代码分析

实现方式 mirror逻辑的工作阶段&#xff1a; ngx在log phase之后&#xff08;在ngx_http_free_request处调用&#xff09;已完成向client端返回response&#xff0c;在log phase之后完成close connection&#xff08;短链接&#xff09;&#xff0c;在该阶段处理mirror逻辑不…...

Python代理模式介绍、使用

一、Python代理模式介绍 Python代理模式&#xff08;Proxy Pattern&#xff09;是一种结构型设计模式。在代理模式中&#xff0c;代理对象充当了另一个对象的占位符&#xff0c;以控制对该对象的访问。 代理对象和被代理对象实现了相同的接口&#xff0c;因此它们可以互相替代…...

《MySQL45讲》笔记—索引

索引 索引是为了提高数据查询效率&#xff0c;就像书的目录一样。如下图&#xff0c;索引和数据就是位于存储引擎中&#xff1a; 索引常见模型 哈希表 以键值对存储的数据结构。适用于只有等值查询的场景。 有序数组 在等值查询和范围查询场景中性能都特别优秀。但是有…...

Android usb host模式通信示例

当使用Android设备作为USB主机时&#xff0c;可以使用Android提供的USB API来进行USB通信。下面是一个简单的Android USB通信的示例。在这个示例中&#xff0c;我们将发送一条消息到连接的USB设备并从USB设备接收响应。 首先&#xff0c;在AndroidManifest.xml文件中添加以下权…...

开源Blazor UI组件库精选:让你的Blazor项目焕然一新!

今天给大家推荐一些开源、美观的Blazor UI组件库&#xff0c;这些优秀的开源框架和项目不仅能够帮助开发者们提高开发效率&#xff0c;还能够为他们的项目带来更加丰富的用户体验。 注&#xff1a;排名不分先后&#xff0c;都是十分优秀的开源框架和项目 ​Ant Design Blazor…...

MATLAB RANSAC圆柱体点云拟合 (28)

MATLAB RANSAC圆柱体点云拟合 (28) 一、算法介绍二、函数介绍三、算法实现四、效果展示一、算法介绍 RANSAC拟合方法,从原始点云中拟合具有特定形状的点云,这里对原始点云中大致呈圆柱的点云进行分割,圆柱的半径,以及朝向都是比较重要的定义圆柱的参数。下面是具体使用的…...

【AI】《动手学-深度学习-PyTorch版》笔记(七):自动微分

AI学习目录汇总 1、什么是自动微分 自动微分:automatic differentiation,深度学习框架通过自动计算导数,即自动微分,自动微分使系统能够随后反向传播梯度。 计算图:computational graph,根据设计好的模型,系统会构建一个计算图, 来跟踪计算是哪些数据通过哪些操作组合…...

vuejs源码阅读之代码生成器

代码生成器是模版编译的最后以后&#xff0c;它的作用是将AST转换成渲染函数中的内容&#xff0c;这个内容可以称为代码字符串。 代码字符串可以被包装在函数中执行&#xff0c;这个函数就是我们通常说的渲染函数。 渲染函数被执行之后&#xff0c;可以生成一份VNode&#xf…...

【MySQL】视图(十)

&#x1f697;MySQL学习第十站~ &#x1f6a9;本文已收录至专栏&#xff1a;MySQL通关路 ❤️文末附全文思维导图&#xff0c;感谢各位点赞收藏支持~ 一.引入 视图&#xff08;View&#xff09;是一种虚拟存在的表。视图中的数据并不在数据库中实际存在&#xff0c;行和列数据…...

面试手写实现Promise.all

目录 前言常见面试手写系列Promise.resolve 简要回顾源码实现Promise.reject 简要回顾源码实现Promise.all 简要回顾源码实现Promise.allSettled 简要回顾源码实现Promise.race 简单回顾源码实现结尾 前言 (?﹏?)曾经真实发生在一个朋友身上的真实事件&#xff0c;面试官让…...

TCP网络通信编程之字符流

【案例1】 【题目描述】 【 注意事项】 (3条消息) 节点流和处理流 字符处理流BufferedReader、BufferedWriter&#xff0c;字节处理流-BufferedInputStream和BufferedOutputStream (代码均正确且可运行_Studying~的博客-CSDN博客 1。这里需要使用字符处理流&#xff0c;来将…...

佰维存储面向旗舰智能手机推出UFS3.1高速闪存

手机“性能铁三角”——SoC、运行内存、闪存决定了一款手机的用户体验和定位&#xff0c;其中存储器性能和容量对用户体验的影响越来越大。 针对旗舰智能手机&#xff0c;佰维推出了UFS3.1高速闪存&#xff0c;写入速度最高可达1800MB/s&#xff0c;是上一代通用闪存存储的4倍以…...

降龙十八掌

目录 大数据&#xff1a; 1 HIVE&#xff1a; 1.1 HIVE QL 1.1.1 创建表 1.1.2 更新表 1.1.3 常用语句 1.2 hive参数配置 大数据&#xff1a; 1 HIVE&#xff1a; 1.1 HIVE QL DDL中常用的命令有&#xff1a;create&#xff0c;drop&#xff0c;alter&#xff0c;trunc…...

【项目设计】MySQL 连接池的设计

目录 &#x1f449;关键技术点&#x1f448;&#x1f449;项目背景&#x1f448;&#x1f449;连接池功能点介绍&#x1f448;&#x1f449;MySQL Server 参数介绍&#x1f448;&#x1f449;功能实现设计&#x1f448;&#x1f449;开发平台选型&#x1f448;&#x1f449;MyS…...

Ubuntu系统adb开发调试问题记录

Ubuntu系统adb开发调试问题记录 一、adb devices no permissions二、自定义adb server端口三、动态库目录四、USB抓包 一、adb devices no permissions lsusb -t 设备树直观地查看设备的Bus ID和Device Num&#xff0c;lsusb找到对应的PID和VID编辑udev规则 sudo vim /etc/ud…...

【宏定义】——检验条件是否成立,并返回指定的值

文章目录 功能说明实现示例解析扩展 功能说明 宏检验条件是否成立&#xff0c;并返回指定的值 #define TU_VERIFY(...) _GET_3RD_ARG(__VA_ARGS__, TU_VERIFY_2ARGS, TU_VERIFY_1ARGS, UNUSED)(__VA_ARGS__)TU_VERIFY(1) 检验为真&#xff0c;啥也不干TU_VERIFY(0) 校验为假&…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业&#xff0c;其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进&#xff0c;需提前预防假检、错检、漏检&#xff0c;推动智慧生产运维系统数据的流动和现场赋能应用。同时&#xff0c;…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名&#xff08;Class Name)2.协议名&#xff08;Protocol Name)3.方法名&#xff08;Method Name)4.属性名&#xff08;Property Name&#xff09;5.局部变量/实例变量&#xff08;Local / Instance Variables&…...

dedecms 织梦自定义表单留言增加ajax验证码功能

增加ajax功能模块&#xff0c;用户不点击提交按钮&#xff0c;只要输入框失去焦点&#xff0c;就会提前提示验证码是否正确。 一&#xff0c;模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章&#xff1f;AI自动生成&#xff0c;效率提升10倍&#xff01; 支持多语言、自动配图、定时发布&#xff0c;让内容创作更轻松&#xff01; AI内容生成 → 不想每天写文章&#xff1f;AI一键生成高质量内容&#xff01;多语言支持 → 跨境电商必备&am…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计&#xff0c;聪明的码友立马就知道了&#xff0c;该到数据访问模块了&#xff0c;要不就这俩玩个6啊&#xff0c;查库势在必行&#xff0c;至此&#xff0c;它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据&#xff08;数据库、No…...