kubectl常用的命令

news2024/11/15 21:52:22

目录

安装 kubectl

一、命令自动补全

二、常用命令

1、查看所有pod列表

2、查看RC和service列表

3、显示Node的详细信息

4、显示Pod的详细信息, 特别是查看Pod无法创建的时候的日志

5、 根据yaml创建资源, apply可以重复执行,create不行

6、基于nginx.yaml定义的名称删除指定资源

7、删除所有包含某个label的pod和service

8、删除默认命名空间下的所有 Pod

9、执行pod命令

10、查看容器日志

11、查看节点 labels

12、重启pod

三、创建命令

四、查看和查找资源 

五、删除资源 

六、Pod常用操作 


       Kubernetes 是一种用于自动化部署、扩展和管理容器化应用程序的开源平台。而 kubectl 则是 Kubernetes 的命令行工具,用于管理 Kubernetes 集群。

在本文中,我们将深入介绍 kubectl 的各种用法和功能。

安装 kubectl

       要安装 kubectl,需要使用的操作系统的软件包管理器或者前往 Kubernetes 官方网站下载二进制文件。在安装之前,确保Kubernetes集群已经启动并正在运行。

一、命令自动补全

source <(kubectl completion bash) 
#在bash中设置当前shell的自动补全,要先安装bash-completion包。

echo "source <(kubectl completion bash)" >> ~/.bashrc 

二、常用命令

1、查看所有pod列表

查看所有的pod列表,-n 后跟namespace,查看指定的命名空间

kubectl get pod
kubectl get pod -n kube-system  #查看指定的命名空间的pod
​kubectl get pod -owide          #查看更详细的信息,比如pod 所在的节点
kubectl get pod --show-labels   #获取pod 并查看pod 的标签

2、查看RC和service列表

查看RC和service列表, -o wide查看详细信息

kubectl get rc,svc
kubectl get pod,svc -o wide  
kubectl get pod <pod-name> -o yaml

3、显示Node的详细信息

kubectl describe node 192.168.80.8 #可以跟Node或者IP或者主机名

4、显示Pod的详细信息, 特别是查看Pod无法创建的时候的日志

kubectl describe pod <pod-name>
eg:
kubectl describe pod nginx-deployment-d558b54fd-72bpn

5、 根据yaml创建资源, apply可以重复执行,create不行

kubectl get service nginx -o yaml > nginx.yaml

kubectl create -f nginx.yaml
kubectl apply -f nginx.yaml

6、基于nginx.yaml定义的名称删除指定资源

kubectl delete -f nginx.yaml

7、删除所有包含某个label的pod和service

kubectl delete pod,svc -l name=<label-name>

8、删除默认命名空间下的所有 Pod

kubectl delete pod --all

9、执行pod命令

kubectl exec <pod-name> -- date
kubectl exec <pod-name> -- bash
kubectl exec <pod-name> -- ping

10、查看容器日志

kubectl logs <pod-name>
kubectl logs -f <pod-name>   #实时查看日志
kubectl log  <pod-name>  -c <container_name>  #若pod只有一个容器,可以不加-c 
​
kubectl logs -l app=frontend   #返回所有标记为app=frontend的pod的合并日志。

11、查看节点 labels

kubectl get node --show-lables

12、重启pod

kubectl get pod <POD名称> -n <NAMESPACE名称> -o yaml | kubectl replace --force -f -

三、创建命令

kubectl apply -f ./ss.yaml                    # 创建资源
kubectl apply -f ./ss1.yaml -f ./ss2.yaml     # 使用多个文件创建
kubectl apply -f ./dir                        # 基于目录下的所有清单文件创建资源
kubectl apply -f https://git.io/vPieo         # 从 URL 中创建资源
kubectl create deployment nginx --image=nginx # 启动单实例 nginx
kubectl explain pods,svc                      # 获取 pod 清单的文档说明

四、查看和查找资源 

kubectl get services                       # 列出当前命名空间下的所有 services
kubectl get pods --all-namespaces          # 列出所有命名空间下的全部的 Pods
kubectl get pods -o wide                   # 列出当前命名空间下的全部 Pods,并显示更详细的信息
kubectl get deployment my-dep              # 列出某个特定的 Deployment
kubectl get pods                           # 列出当前命名空间下的全部 Pods
kubectl get pod my-pod -o yaml             # 获取一个 pod 的 YAML

五、删除资源 

kubectl delete -f ./pod.json                   # 删除在 pod.json 中指定的类型和名称的 Pod
kubectl delete pod,service baz foo             # 删除名称为 "baz" 和 "foo" 的 Pod 和服务
kubectl delete pods,services -l name=myLabel   # 删除包含 name=myLabel 标签的 pods 和服务
kubectl delete pods,services -l name=myLabel --include-uninitialized      
# 删除包含 label name=myLabel 标签的 Pods 和服务
kubectl -n my-ns delete po,svc --all           # 删除在 my-ns 名字空间中全部的 Pods 和服务

六、Pod常用操作

kubectl logs my-pod                           
# 获取 pod 日志(标准输出)
kubectl logs -l name=myLabel           
# 获取含 name=myLabel 标签的 Pods 的日志(标准输出)
kubectl logs my-pod --previous           
# 获取上个容器实例的 pod 日志(标准输出)
kubectl logs my-pod -c my-container             
# 获取 Pod 容器的日志(标准输出, 多容器场景)
kubectl logs -l name=myLabel -c my-container        
# 获取含 name=myLabel 标签的 Pod 容器日志(标准输出, 多容器场景)
kubectl logs my-pod -c my-container --previous      
# 获取 Pod 中某容器的上个实例的日志(标准输出, 多容器场景)
kubectl logs -f my-pod                              
# 流式输出 Pod 的日志(标准输出)
kubectl logs -f my-pod -c my-container       
# 流式输出 Pod 容器的日志(标准输出, 多容器场景)
kubectl logs -f -l name=myLabel --all-containers    
# 流式输出含 name=myLabel 标签的 Pod 的所有日志(标准输出)
kubectl run -i --tty busybox --image=busybox -- sh  
# 以交互式 Shell 运行 Pod
kubectl run nginx --image=nginx -n mynamespace      
# 在指定名字空间中运行 nginx Pod
kubectl run nginx --image=nginx --dry-run=client -o yaml > pod.yaml    
# 运行 ngins Pod 并将其规约写入到名为 pod.yaml 的文件   
​kubectl attach my-pod -i                            
# 挂接到一个运行的容器中
kubectl port-forward my-pod 5000:6000                    
# 在本地计算机上侦听端口 5000 并转发到 my-pod 上的端口 6000
kubectl exec my-pod -- ls /                         
# 在已有的 Pod 中运行命令(单容器场景)
kubectl exec my-pod -c my-container -- ls /         
# 在已有的 Pod 中运行命令(多容器场景)
kubectl top pod POD_NAME --containers               
# 显示给定 Pod 和其中容器的监控数据

 

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

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

相关文章

实验室设计SICOLAB第三方检测中心实验室设计

第三方检测中心实验室怎么设计&#xff1f;详细设计内容有哪些&#xff1f;功能区域有哪些&#xff1f;仪器有哪些&#xff1f;要多少面积&#xff1f;第三方检测中心实验室是一种独立的实验室&#xff0c;为客户提供各种测试和分析服务。以下是一个第三方检测中心实验室的详细…

给你安利几款好用的谷歌浏览器插件

给你安利几款好用的谷歌浏览器插件前言一 Octotree 插件二 GitCodeTree 插件三 SourceGraph 插件四 GitZip 插件五 Enhanced GitHub 插件六 插件下载安装6.1 谷歌应用商店下载6.2 离线安装6.2.1 下载插件6.2.2 安装插件七 移除、启用、停用插件小结前言 GitHub是全球最大的代码…

Windows PowerShell中成功进入conda虚拟环境

本人操作系统是Windows10&#xff08;输入命令cmd或在运运行中输入winver查看&#xff09;在cmd命令行中大家都很熟悉&#xff0c;很方便进入到指定创建了的虚拟环境中&#xff0c;那么在PowerShell中怎么进入呢&#xff1f;比如在VSCode中的TERMINAL使用的是PowerShell&#x…

论文阅读笔记-DiffusionInst: Diffusion Model for Instance Segmentation

文章目录DiffusionInst: Diffusion Model for Instance Segmentation摘要介绍任务介绍实例分割的几种方法想法来源贡献方法整体结构Mask RepresentationDiffusionInst组成TrainingInference不足之处感悟DiffusionInst: Diffusion Model for Instance Segmentation 代码&#x…

魔兽世界经典怀旧服务器架设教程

准备工具&#xff1a;MySQL服务端服务器最重要的你需要会技术、要不然都瞎扯 给你东西你也看不懂。教程开始&#xff1a;安装MySQL并创建数据库安装MySQL社区版&#xff0c;并配置SQL服务器。安装SQLyog。利用其登录&#xff0c;创建realmd、characters、mangos、scriptdev2数据…

普通动物实验室规划设计SICOLAB

一、普通动物实验室普通动物实验室是进行动物实验的专门场所&#xff0c;用于研究疾病的发生机制&#xff0c;测试药物的安全性和有效性等。以下是普通动物实验室设计的一些细节和功能房间&#xff1a;&#xff08;1&#xff09;动物饲养区&#xff1a;用于饲养动物&#xff0c…

面试浅谈之 C++ STL 篇

面试浅谈之 C STL 篇 一 &#x1f3e0; 概述 HELLO&#xff0c;各位博友好&#xff0c;我是阿呆 &#x1f648;&#x1f648;&#x1f648; 这里是面试浅谈系列&#xff0c;收录在专栏面试中 &#x1f61c;&#x1f61c;&#x1f61c; 本系列将记录一些阿呆个人整理的面试题…

hydra常见端口服务穷举

目录 工具介绍 参数说明 官方示例 官方字典 ssh爆破 ftp爆破 mysql爆破 smb爆破 rdb爆破 http爆破 redis爆破 工具介绍 hydra 是一个支持众多协议的爆破工具&#xff0c;已经集成到KaliLinux中&#xff0c;直接在终端打开即可 参数说明 -l &#xff1a; 指定破…

Linux下安装MySQL8.0的详细步骤(解压tar.xz安装包方式安装)

Linux下安装MySQL8.0的详细步骤 第一步&#xff1a;下载安装配置 第二步&#xff1a;修改密码&#xff0c;并设置远程连接&#xff08;为了可以在别的机器下面连接该mysql&#xff09; 第三步&#xff1a;使用Navicat客户端连接 搞了一台云服务器&#xff0c;首先要干的活就是…

move_base代码解析(二)MoveBase::planThread

在第一章中第四步执行了planThread函数的线程启动&#xff0c;该步骤会调用planThread函数。这里不是通过函数调用的形式实现的&#xff0c;而是通过线程开关的形式实现的: boost::unique_lock<boost::recursive_mutex> lock(planner_mutex_);//给该线程上锁planner_goal…

117页数字化转型与产业互联网发展趋势及机会分析报告(PPT)

【版权声明】本资料来源网络&#xff0c;知识分享&#xff0c;仅供个人学习&#xff0c;请勿商用。【侵删致歉】如有侵权请联系小编&#xff0c;将在收到信息后第一时间删除&#xff01;完整资料领取见文末&#xff0c;部分资料内容&#xff1a; 产业互联网是以机构组织为主体的…

CentOS7 Hive2.3.9 安装部署(mysql 8.0)

一、CentOS7安装MySQL数据库 查询载mariadb rpm -qa | grep mariadb卸载mariadb rpm -e --nodeps [查询出来的内容]安装wget为下载mysql准备 yum -y install wget在tools目录下执行以下命令&#xff0c;下载MySQL的repo源&#xff1a; wget -P /tools/ https://dev.mysql.…

网络编程学习一

1、初识网络编程2、网络编程三要素3、三要素&#xff08;IP&#xff09;4、IPV4的一些小细节5、Inetaddress类的使用package com.leitao.demo.network;import java.net.InetAddress; import java.net.UnknownHostException;/*** Description: TODO* Author LeiTao* Date 2023/2…

移动WEB开发三、flex布局

零、文章目录 文章地址 个人博客-CSDN地址&#xff1a;https://blog.csdn.net/liyou123456789个人博客-GiteePages&#xff1a;https://bluecusliyou.gitee.io/techlearn 代码仓库地址 Gitee&#xff1a;https://gitee.com/bluecusliyou/TechLearnGithub&#xff1a;https:…

企业数字化管理是什么?如何建立企业数字化管理?

企业数字化管理是什么&#xff0c;如何建立企业数字化管理&#xff1f; 01 什么是企业数字化管理&#xff1f; 提到企业数字化管理&#xff0c;就不得不联想到机器自动化、业务流程自动化以及数字处理自动化这三个概念的区别&#xff1a; ​而抛开那些又臭又长的概念解读&…

支持域自适应的可解释网络改进药物-靶标预测

预测药物-靶点相互作用是药物发现的关键。最近基于深度学习的方法表现出良好的性能&#xff0c;但仍然存在两个挑战&#xff1a; 如何明确地建模和学习药物和靶标之间的局部相互作用&#xff0c;以更好地预测和解释&#xff1b;如何优化新型药物-靶标对预测的泛化性能。 在这…

高斯课堂 计算机网络(下)

第四章、网络层 0、第四章导图 1、网络层概述及IP地址&#xff08;上&#xff09; &#xff08;1&#xff09;网络层概述 无连接指的是在网络层这一层次&#xff0c;我们在发送数据的时候&#xff0c;不需要实现建立连接&#xff0c;这种建立连接的可靠性由谁来保证呢&#x…

【Python入门第十三天】Python 元组

元组&#xff08;Tuple&#xff09; 元组是有序且不可更改的集合。在 Python 中&#xff0c;元组是用圆括号编写的。 实例 创建元组&#xff1a; thistuple ("apple", "banana", "cherry") print(thistuple)运行实例 访问元组项目 您可以通…

【Mysql】存储过程

【Mysql】存储过程 文章目录【Mysql】存储过程1.存储过程1.1 存储过程概述1.2 特点1.3 基本语法1.3.1 创建1.3.2 调用1.3.3 查看1.3.4 删除1.4 变量1.4.1 系统变量1.4.2 用户定义变量1.4.3 局部变量1.5 if1.6 参数1.7 case1.8 循环1.8.1 while1.8.2 repeat1.8.3 loop1.9 游标1.…

keepalived高可用

文章目录前言一、Keepalived简介二、keepalived工作原理三、配置文件四、实验过程1.某台Real Server down2.LVS本身down方法&#xff1a;五、代码详细演示整体过程调度器安装软件、设置测试keepalived对后端RS的健康检测backup服务主机设置总结前言 一、Keepalived简介 Keepali…