Kubernetes——命令指南

目录

前言

1.检查集群状态

2.使用Pod

3.使用部署

4.使用服务

5.使用 ConMap 和 Secret

6.调试与故障排除

7.清理

8.使用命名空间

9.管理持久卷

10.处理节点

11.资源配额和限制范围

12.访问API对象

13.总结


前言

kubectl 是针对Kubernetes集群运行命令的命令行界面,对于任何使用 Kubernetes 的软件工程师来说都是一个重要的工具。它提供了大量的命令,每个命令都有自己的一组选项,使其成为管理 Kubernetes 环境和排除故障的强大工具。本文旨在阐明 kubectl 软件工程师在日常操作中使用的一些最有用的命令。

1.检查集群状态

  • kubectl cluster-info:提供有关集群及其主要服务的基本信息
  • kubectl get nodes:可用于托管应用程序的所有节点

2.使用Pod

Pod 是 Kubernetes 中最小的可部署单元。

  • kubectl get pods:列出默认命名空间中的所有Pod
  • kubectl describe pod [pod-name]:获取有关特定Pod的详细信息,包括事件和状态
  • kubectl logs [pod-name]:显示指定Pod的日志,有助于调试
  • kubectl exec -it [pod-name] -- /bin/bash:在指定Pod内打开一个交互式Shell,对于调试和检查很有用

3.使用部署

部署是管理 Pod 的更高级别概念。

  • kubectl get deployments:列出默认命名空间中的所有部署
  • kubectl describe deployment [deployment-name]:提供有关特定部署的详细信息
  • kubectl scale deployment [deployment-name] --replicas=[number-of-replicas]:通过增加或减少副本数量来帮助扩展部署
  • kubectl rollout status deployment [deployment-name]:显示部署部署的状态。

4.使用服务

服务是公开在一组 Pod 上运行的应用程序的抽象方式。

  • kubectl get services:列出默认命名空间中的所有服务
  • kubectl describe service [service-name]:提供有关特定服务的详细信息
  • kubectl expose deployment [deployment-name] --type=NodePort --name=[service-name]:将部署公开为服务,使其可以在集群内或从 Internet 进行访问

5.使用 ConMap 和 Secret

ConfigMap和Secrets是 Kubernetes 对象,可让用户将应用程序的配置与代码分开。

  • kubectl get configmaps:列出默认命名空间中的所有 ConfigMap
  • kubectl get secrets:列出默认命名空间中的所有机密
  • kubectl create configmap [configmap-name] --from-file=[path-to-file]:从文件创建一个新的 ConfigMap
  • kubectl create secret generic [secret-name] --from-literal=key=value:创建一个新的秘密

6.调试与故障排除

Kubernetes 提供了多个命令来帮助查找和纠正问题

  • kubectl top node:显示每个节点的CPU和内存使用情况,这对于识别负载较高的节点很有用
  • kubectl top pod:显示每个 Pod 的 CPU 和内存使用情况,这对于识别使用大量资源的 Pod 很有用
  • kubectl get events --sort-by=.metadata.creationTimestamp:列出默认命名空间中的所有事件,按创建时间排序。这有助于识别集群中最近可能发生的问题

7.清理

Kubernetes 提供了清理资源的命令

  • kubectl delete pod [pod-name]:删除指定的Pod
  • kubectl delete deployment [deployment-name]:删除指定的部署
  • kubectl delete service [service-name]:删除指定的服务
  • kubectl delete all --all:删除默认命名空间中的所有资源

kubectl delete all --all                    [WARNING]切勿随意使用

8.使用命名空间

命名空间用于许多用户分布在多个团队的环境中。

  • kubectl get namespaces:列出集群中的所有命名空间
  • kubectl create namespace [namespace-name]:创建一个新的命名空间
  • kubectl config set-context --current --namespace=[namespace-name]:更改当前上下文的命名空间

9.管理持久卷

持久卷为 Pod 提供存储数据的方法。

  • kubectl get pv:列出所有持久卷
  • kubectl describe pv [volume-name]:提供有关特定卷的详细信息
  • kubectl get pvc:列出所有持久卷声明,这是用户对存储的请求

10.处理节点

节点是 Kubernetes 中的工作机器,是系统的重要组成部分。

  • kubectl cordon [node-name]:将节点标记为不可调度,阻止新的Pod在该节点上调度
  • kubectl uncordon [node-name]:删除节点上的不可调度标记,允许新的pod在该节点上调度
  • kubectl drain [node-name]:排空节点以准备维护

11.资源配额和限制范围

这些命令对于管理计算资源的消耗非常有用

  • kubectl get quota:列出当前命名空间下所有资源配额
  • kubectl describe limitrange [limit-range-name]:提供有关特定限制范围的详细信息

12.访问API对象

这些命令允许您访问原始 API 对象

  • kubectl api-resources:列出服务器上所有可用的API资源
  • kubectl explain [resource]:提供资源的文档

13.总结

命令含义命令分类
kubectl cluster-info提供有关集群及其主要服务的基本信息检查集群状态
kubectl get nodes可用于托管应用程序的所有节点
kubectl get pods列出默认命名空间中的所有Pod使用Pod
kubectl describe pod [pod-name]获取有关特定Pod的详细信息,包括事件和状态
kubectl logs [pod-name]显示指定Pod的日志,有助于调试
kubectl exec -it [pod-name] -- /bin/bash在指定Pod内打开一个交互式Shell,对于调试和检查很有用
kubectl get deployments列出默认命名空间中的所有部署使用部署
kubectl describe deployment [deployment-name]提供有关特定部署的详细信息
kubectl scale deployment [deployment-name] --replicas=[number-of-replicas]通过增加或减少副本数量来帮助扩展部署
kubectl rollout status deployment [deployment-name]显示部署部署的状态
kubectl get services列出默认命名空间中的所有服务使用服务
kubectl describe service [service-name]提供有关特定服务的详细信息
kubectl expose deployment [deployment-name] --type=NodePort --name=[service-name]将部署公开为服务,使其可以在集群内或从 Internet 进行访问
kubectl get configmaps列出默认命名空间中的所有 ConfigMap使用 ConMap 和 Secret
kubectl get secrets列出默认命名空间中的所有机密
kubectl create configmap [configmap-name] --from-file=[path-to-file]从文件创建一个新的 ConfigMap
kubectl create secret generic [secret-name] --from-literal=key=value创建一个新的秘密
kubectl top node显示每个节点的CPU和内存使用情况,这对于识别负载较高的节点很有用调试与故障排除
kubectl top pod显示每个 Pod 的 CPU 和内存使用情况,这对于识别使用大量资源的 Pod 很有用
kubectl get events --sort-by=.metadata.creationTimestamp列出默认命名空间中的所有事件,按创建时间排序。这有助于识别集群中最近可能发生的问题
kubectl delete pod [pod-name]删除指定的Pod清理
kubectl delete deployment [deployment-name]删除指定的部署
kubectl delete service [service-name]删除指定的服务
kubectl delete all --all删除默认命名空间中的所有资源
kubectl get namespaces列出集群中的所有命名空间使用命名空间
kubectl create namespace [namespace-name]创建一个新的命名空间
kubectl config set-context --current --namespace=[namespace-name]更改当前上下文的命名空间
kubectl get pv列出所有持久卷管理持久卷
kubectl describe pv [volume-name]提供有关特定卷的详细信息
kubectl get pvc列出所有持久卷声明,这是用户对存储的请求
kubectl cordon [node-name]将节点标记为不可调度,阻止新的Pod在该节点上调度处理节点
kubectl uncordon [node-name]删除节点上的不可调度标记,允许新的pod在该节点上调度
kubectl drain [node-name]排空节点以准备维护
kubectl get quota列出当前命名空间下所有资源配额资源配额和限制范围
kubectl describe limitrange [limit-range-name]提供有关特定限制范围的详细信息
kubectl api-resources列出服务器上所有可用的API资源访问API对象
kubectl explain [resource]提供资源的文档

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

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

相关文章

怎么通过微信小程序实现远程控制8路控制器/断路器

怎么通过微信小程序实现远程控制8路控制器/断路器呢? 本文描述了使用微信小程序调用HTTP接口,实现控制8路控制器/断路器,支持8路输出,均可独立控制,可接入各种电器。 可选用产品:可根据实际场景需求&#…

DS:顺序表、单链表的相关OJ题训练(2)

欢迎各位来到 Harper.Lee 的学习世界! 博主主页传送门:Harper.Lee的博客主页 想要一起进步的uu欢迎来后台找我哦! 一、力扣--141. 环形链表 题目描述:给你一个链表的头节点 head ,判断链表中是否有环。如果链表中有某个…

提升网络性能,解决网络故障,了解AnaTraf网络流量分析仪

在当今数字化时代,网络性能监测与诊断(Network Performance Monitoring and Diagnosis,NPMD)成为了企业和个人关注的焦点。随着网络流量不断增长,确保网络的稳定性和高效性变得更加重要。在这个领域,AnaTraf网络流量分析仪是您不可或缺的得力…

从“金事通”带给我意想不到的来说--“数据是架构的中心”

背景 上周一个保险的销售人员来找我完成一定的售后流程。其中有一项是请我下载一个叫 金事通的 APP。说实在的我根本没听过。她说这是政治任务。我想不是有你们保险公司的APP了嘛。为什么还要我安装。没办法先安装吧。 经历了注册、人脸识别的步骤后。可以登录了。注册短信发…

使用Docker+Jar方式部署微服务工程(前后端分离)看着一篇就够了

本篇教程的使用到的技术有springboot、springcloud、Nacos、Docker、Nginx部署前后端分离访问的微服务。 部署一下Nacos 首先我们需要在服务器中(或者本地部署启动一下Nacos),这里我采用服务器的方式进行部署,这里有一点不一样的…

前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽

🔥 个人主页:空白诗 文章目录 引言 👋一、Nginx简介 📚二、常见的Web服务器架构 🌀📌 架构概述📌 Nginx的深入探讨 三、正向代理与反向代理 🔮📌 正向代理工作原理&#…

Leecode热题100---1:两数之和

题目&#xff1a;从nums中找出两个元素&#xff0c;它们的和等于target&#xff0c;返回下标。 C&#xff1a; 1、直接暴力法 写嵌套循环&#xff0c;让每一个元素和其他元素分别相加&#xff0c;判断和是否等于target&#xff0c;等于就返回下标。 #include <iostream>…

RabbitMQ(四种使用模式)

文章目录 1.Fanout&#xff08;广播模式&#xff09;1.基本介绍2.需求分析3.具体实现1.编写配置类 RabbitMQConfig.java2.编写生产者&#xff0c;发送消息到交换机 MQSender.java3.编写消费者&#xff0c;接受消息 MQReceiver.java4.控制层调用方法&#xff0c;发送信息到交换机…

git error index file corrupt

错误提示&#xff1a; error: bad signature 0x00000000 fatal: index file corrupt 场景复现&#xff1a;在使用git add .提交代码到缓冲区时电脑宕机&#xff0c;重启后再次提交代码会出现该提示 原因分析&#xff1a;.git目录下的index文件损坏 解决方式&#xff1a; 删…

工程师工具箱系列(3)Arthas

文章目录 工程师工具箱系列&#xff08;3&#xff09;Arthas安装与准备Arthas插件使用场景查看某个变量值ognl方式调用Bean方法tt(TimeTunel)方式调用Bean的方法ognl调用带参数方法 资源总览 工程师工具箱系列&#xff08;3&#xff09;Arthas Java诊断利器 安装与准备 window…

LabVIEW学习记录3 - 自定义函数

LabVIEW学习记录3 - 自定义函数 一、LabVIEW学习记录二、自定义函数及函数调用 一、LabVIEW学习记录 【labVIEW】学习记录LabVIEW学习记录2 - MySQL数据库连接与操作LabVIEW学习记录 - 实时显示时间LabVIEW学习记录4-局部变量、全局变量、共享变量 二、自定义函数及函数调用 …

C++入门-stack和queue(下)

大家好啊&#xff0c;在这先祝天下的母亲节日快乐啦&#xff01;现在呢&#xff0c;给大家带来C中priority_queue和容器适配器的相关知识点 3.1 C 中的优先队列&#xff08;priority_queue&#xff09;介绍 优先队列&#xff08;priority_queue&#xff09;是一种特殊的队列…

洛谷 P6218 [USACO06NOV] Round Numbers S 题解 数位dp

[USACO06NOV] Round Numbers S 题目描述 如果一个正整数的二进制表示中&#xff0c; 0 0 0 的数目不小于 1 1 1 的数目&#xff0c;那么它就被称为「圆数」。 例如&#xff0c; 9 9 9 的二进制表示为 1001 1001 1001&#xff0c;其中有 2 2 2 个 0 0 0 与 2 2 2 个 1 …

Linux部署Heartbeat

环境信息&#xff1a; 10.1.13.75 master 10.1.13.140 slave 10.1.13.247 VIP 一&#xff0c;基础环境处理 1&#xff0c;修改主机名 master节点 hostnamectl set-hostname master slave节点 hostnamectl set-hostname slave 2&#xff0c;修改/etc/hosts vi /etc/hos…

transformer与beter

transformer与beter 解码和编码器含义tokizer标记器和one-hot独热编码编码解码--语义较好的维度空间矩阵相乘--空间变换编码理解如何构造降维的嵌入矩阵--实现到达潜空间上面是基础&#xff0c;下面是transformer正文自注意力机制注意力分数--上下文修正系数为什么需要KQ两个矩…

设计模式-07 设计模式-观察者模式(Observer Pattern)

设计模式-07 设计模式-观察者模式&#xff08;Observer Pattern&#xff09; 1.定义 观察者模式是一种软件设计模式&#xff0c;它定义了一种一对多的依赖关系&#xff0c;其中一个对象&#xff08;称为“主题”&#xff09;维护了一个依赖对象的列表&#xff08;称为“观察者”…

ssm125四六级报名与成绩查询系统+jsp

四六级报名与成绩查询系统的设计与实现 摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对四六级报名信息管理混乱&am…

达梦数据插入操作的深坑

提示错误&#xff1a;Only if specified in the column list and SET IDENTITY_INSERT is ON, then identity column could be assigned value 插入的语句采用缺省的方式实现&#xff0c;执行插入操作失败&#xff1b; 原因分析&#xff1a; 1.自增长的SQL表里面插入指定ID的…

DIFT:Emergent Correspondence from Image Diffusion # 论文阅读

URL https://arxiv.org/pdf/2306.03881 主页&#xff1a;https://diffusionfeatures.github.io/ 代码&#xff1a;https://github.com/Tsingularity/dift TD;DR 23 年 6月 cornell 大学的文章&#xff0c;任务是做图片的特征匹配&#xff08;关联&#xff09;&#xff0c;特…

【kali工具使用】Tcpdump 抓包查看三次握手过程

Tcpdump 抓包查看三次握手过程 tcpdump 常用参数&#xff1a; -c 指定要抓取的数据包数量 -n 对 IP 地址以数字方式显式&#xff0c;否则显式为主机名 port 指定端口 -I 指定 tcpdump 需要监听的接口。默认会抓取第一个网络接口 tcp 1ClientSYN1seqx 2Server SYN1 seq…