当前位置: 首页 > 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) 校验为假&…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习&#xff08;Reinforcement Learning, RL&#xff09;是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程&#xff0c;然后使用强化学习的Actor-Critic机制&#xff08;中文译作“知行互动”机制&#xff09;&#xff0c;逐步迭代求解…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题&#xff1a;CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者&#xff1a;Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能&#xff1a;服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...

springboot整合VUE之在线教育管理系统简介

可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生&#xff0c;小白用户&#xff0c;想学习知识的 有点基础&#xff0c;想要通过项…...