kubectl常用的命令

这篇具有很好参考价值的文章主要介绍了kubectl常用的命令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

安装 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 的标签

kubectl常用的命令kubectl常用的命令

2、查看RC和service列表

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

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

kubectl常用的命令

kubectl常用的命令

3、显示Node的详细信息

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

kubectl常用的命令

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

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

kubectl常用的命令文章来源地址https://www.toymoban.com/news/detail-456592.html

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 和其中容器的监控数据

 

到了这里,关于kubectl常用的命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微分享-kubectl get常用命令

    获得更加详细的信息 获取pod信息,默认是default名称空间 获取pod信息,默认是default名称空间,并查看附加信息【如:pod的IP及在哪个节点运行】 获取指定名称空间的pod 获取所有名称空间的pod 查看pod的标签信息 根据Selector(label query)来查询pod 获取指定名称空间中的指定pod

    2024年02月12日
    浏览(33)
  • k8s kubectl常用命令

    kubectl 是 Kubernetes 的一个命令行管理工具,可用于 Kubernetes 上的应用部署和日常管理。本文列举了 9 个常见的 kubectl 命令,并总结了一些使用技巧,希望可以帮助系统管理员简化管理工作。 对于刚开始使用命令行工具的开发者,最保险的方法是提出问题(读取操作),而不是

    2024年02月11日
    浏览(42)
  • k8s-kubectl常用命令

    查询集群所有资源的详细信息,resource包括集群节点、运行的Pod、Deployment、Service等。 1.1.1 查询Pod kubectl get po -o wid 1.1.2 查询所有NameSpace kubectl get namespace 1.1.3 查询NameSpace下Pod kubectl get po --all-namespaces 1.1.4 查询NameSpace下所有Pod标签 kubectl get po --show-labels  1.1.5 以yaml输出pod/jso

    2024年01月19日
    浏览(30)
  • 五、Kubernetes(K8S):Kubectl常用命令详解

    注意:后续技术分享,第一时间更新,以及更多更及时的技术资讯和学习技术资料 ,将在公众号 CTO Plus 发布,请关注公众号: CTO Plus   Kubectl 是Kubernetes命令行工具,用于管理Kubernetes集群资源和应用程序的部署、升级和扩展等。其作用包括但不限于: 1. 创建、更新和删除应

    2024年02月04日
    浏览(45)
  • Kubernetes 命令行工具 kubectl 安装和使用教程

    管理 Kubernetes 集群资源的唯一入口是通过调用 apiserver 的接口,kubectl 是官方提供的 CLI 命令行工具,kubectl 将用户在命令行输入的命令组织并转化为 apiserver 能识别的信息,进而实现对 Kubernetes 各种资源的管理功能。使用 kubectl 可以实现部署应用程序、检查和管理集群资源、查

    2024年02月06日
    浏览(43)
  • shell命令之文件目录常用命令

    1.1返回到某一级目录 dirName1、dirName2、dirName3表示某一目录; 1.2返回到上级目录 也可以写成: 1.3返回到家目录 1.4返回上一次目录 2.1查看当前目录 显示当前目录下的文件和目录; -l 列出文件和目录的详细信息,可缩写成ll; -a 列出当前目录下所有文件及目录,包括隐藏的文件或

    2024年02月06日
    浏览(42)
  • cmd常用命令:更换文件夹、切换路径、查看目录和返回根目录和子目录

    打开cmd:快捷键 Win+R,输入cmd 打开cmd之后,默认是在C:Users电脑路径 文件夹中 更换磁盘:输入D:,然后回车 +dir查看当前目录 cd…可以返回上一级目录 cd 返回到根目录 输入 cd 文件夹名, 可以进入子文件夹 例如输入 cd Program Files/Java/jdk-19/ 【注意反斜杠】 cmd命令打开及切换目

    2023年04月18日
    浏览(101)
  • Linux——认识Linux的目录结构 & 常用命令 & vim命令 & 权限及其控制

    一切皆文件 文件分类 【安装】Linux环境下的 JDK的安装 安装配置 环境变量 1.进程kill -9 运行窗口退出 2.ctrl c退出 ls -a 查看所有文件(包含隐藏) ​ ls -la 查看所有文件详细信息 查看当前文件夹下的文件 在 Linux 系统中,ls 和 ll 命令都是用来列出目录内容的命令,它们的区别

    2024年02月16日
    浏览(61)
  • liunx 常用命令1-目录/文件:新建、修改、移动和删除

        创建         mkdir newdir         #递归地创建多级目录         mkdir -p /path/to/newdir/subdir            更改权限         chmod 755 /path/to/directory          更改所有者和组         ##将“/home/user/documents”目录的所有者更改为“newowner”,组更改为“newgroup”   

    2024年02月01日
    浏览(51)
  • Linux工作原理2常用基本命令和目录层次结构

    本章是对本书中你将遇到的Unix命令和工具的指南。 为什么是Unix命令?这不是一本关于Linux如何工作的书吗?当然是的,但Linux在本质上是一种Unix风格。在本章中,你会看到Unix这个词,而不是Linux,因为你可以把你学到的东西直接带到BSD和其他Unix风味的系统中去。我试图避免

    2024年02月06日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包