文档章节

你一定会用到的7条kubectl命令

RancherLabs
 RancherLabs
发布于 09/11 10:13
字数 1302
阅读 38
收藏 1

kubectl在使用Kubernetes过程中的重要性不言而喻,掌握其命令行也是许多IT人员的“必修课程”。

而互联网上关于kubectl的文章多如牛毛,本文秉持着“浓缩就是精华”的原则,精简精简再精简,挑出你一定会用到的7条命令!同时还介绍了kubectl命令的基本语法,帮助你快速上手kubectl!


kubectl是Kubernetes的命令行工具,人们通常通过它与Kubernetes进行交互。通过kubectl能够对集群本身进行管理,并能够在集群上进行容器化应用的安装部署。我们在《使用Kubectl管理Kubernetes的全解教程》一文中详细介绍了在不同的操作系统中如何安装kubectl以及如何使用RKE和Rancher创建配置文件。在本文中,我们将介绍kubectl中最常使用的命令。

首先,让我们来看看kubectl是如何工作的:

  • 一个kubectl命令可以执行一个行动,如getcreate或者describe

  • 一个行动可以在一个资源上执行,如Deployment

  • kubectl命令遵循这一语法格式:kubectl an_action a_resource a_resource_name –flags

在大部分情况下,名称和标志并不是必要的。例如,要获得关于现有pod的信息,你通常可以直接运行这一命令:kubectl get pods

这里有一个小技巧:如果你不想每次都手动输入kubectl,可以制作一个Bash alias。设置alias k='kubectl',之后只需输入“k”即可代替kubectl。

接下来,我们来看看最常见的kubectl资源类型及其缩写(括号内为缩写)。

最常见的11种kubectl资源类型

  • pods (po)

  • nodes(no)

  • deployments (deploy)

  • replicasets(rs)

  • daemonsets(ds)

  • statefulsets(sts)

  • jobs

  • cronjobs(cj)

  • services(svc)

  • persistentvolumes(pv)

  • persistentvolumeclaim (pvc)

你还需要知道的名称是alleventall是指所有已存在的资源,kubectl get all显示运行中的Pod、Service、Deployment以及ReplicaSet的关键信息。这个命令十分方便。

类似地,kubectl get events显示了event的历史记录。它像是Kubernetes级别的日志,而不是容器级别的日志。

如果你想要看到更多类型的kubectl资源,请查阅官方文档:

https://kubernetes.io/docs/reference/kubectl/overview/

现在让我们来看看在资源上执行的常见行动。

最常用的kubectl命令

  • help—获取帮助

  • get— 显示有关一个或多个资源的信息

  • describe—显示关于一个或多个资源的详细信息

  • logs—显示容器日志

  • exec—进入容器中一个正在运行的进程

  • apply—创建或选择一个资源

  • delete—删除一个或多个资源

现在,让我们来简单了解每个命令。

help

在命令之后输入--help以获取该命令的帮助。如,kubectl get pods –help

get

kubectl get all显示了关于运行中的pod、service、deployment以及Replicaset的关键信息。这是检查事物状态的首选命令,你可以将get和单个对象一起使用,并添加--watch标志以实时观察更新。

describe

kubectl describe all显示大量与你的集群相关的详细信息,你也可以将describe与单个对象一起使用。这个命令在debug过程中将大有用处。

logs

logs命令需要一个pod名称。当在多个pod中时,使用-c my-container标志来指定一个容器。使用--previous标志来获取不再运行的容器信息。

exec

exec帮助你debug一个容器进程,它允许你通过带-it的伪终端在容器内执行进程。例如,要在my_pod中进入容器并运行Bash,请输入kubectl exec -it my_pod bash

apply

这一命令可以通过文件名或控制台输入,对资源进行配置。并且apply能够对集群资源进行声明式管理:如果资源不存在,apply将创建它;如果它存在,apply将更改它。此外,apply还能够添加Service到适用的资源或者通过添加Pod自动化弹性伸缩的Deployment。

请注意,你可以使用create来创建一个Deployment并且使用expose创建一个Service。但相对来说,无论对于文件本身还是之后需要重新使用来说,使用带有apply的YAML文件是更好选择。apply是创建和更新资源的“瑞士军刀”。

delete

kubectl delete pod my_pod这一命令可用于删除名称为my_pod的Pod。

要删除所有相同类型的资源,需要使用--all标志。例如,使用kubectl delete rs –all可以删除所有ReplicaSet。请注意,如果你尝试这一操作,那么要先删除Deployment,否则ReplicaSet将会重新启动。

现在你已经了解K8s的关键命令了,如果你还想查看更多的kubectl命令,请参阅:

https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands

© 著作权归作者所有

RancherLabs
粉丝 95
博文 254
码字总数 553319
作品 0
深圳
程序员
私信 提问
kubernets1.10.1--基本操作(一)

Kubectl管理工具 在node节点部署 命令 命令 1、创建 kubectl run nginx --replicas=3 --labels="app=example" --image=nginx:1.10 --port=80 2、查看 kubectl get deploy kubectl get pods ......

295631788
2018/05/06
0
0
使用Kubectl管理Kubernetes的全解教程

对不少IT人员来说,每天与Kubernetes交互的机制一般是通过kubectl——一种命令行工具。kubectl主要用于与Kubernetes API服务器通信,以在Kubernetes中创建、更新和删除工作负载。本教程的目的...

RancherLabs
07/10
0
0
Kubernetes源码学习之一:下载和编译源码

版权声明:欢迎转载,请注明出处,谢谢。 https://blog.csdn.net/boling_cavalry/article/details/88591982 《Kubernetes源码学习》系列是我在学习Kubernetes过程中的收获和总结,希望能对读...

博陵精骑
03/16
0
0
Kubernetes学习之路(一)之Kubeadm部署K8S集群

一个星期会超过多少阅读量呢??发布一篇,看看是否重新在51上写学习博文,有老铁支持嘛?? 使用kubeadm部署集群 1、配置kubernetes源 将源拷贝到node01和node02节点 2、Master节点安装doc...

IT_外卖小哥
2018/11/01
0
0
centos 7 k8s v1.7 v1.6 搭建记

K8s V1.6 V1.7 部署 一、基础环境 1、主机名 IP hosts 配置 主机名 IP 系统 k8s.master 192.168.1.44 CentOS 7 64 k8s.node1 192.168.1.45 CentOS 7 64 k8s.node2 192.168.1.46 CentOS 7 64 ......

奋怒的菜鸟
2017/07/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

程序性能checklist

程序性能checklist

Moks角木
昨天
2
0
VUE 计算属性

本文转载于:专业的前端网站▶VUE 计算属性 1、示例代码 <!DOCTYPE html><html lang="zh"> <head> <meta charset="UTF-8" /> <title>vue示例</title> </hea......

前端老手
昨天
2
0
快速搭建LNMT平台和环境部署 Tomcat详解

Tomcat部署的基本概念 1. CATALINA_HOME与CATALINA_BASE分别指什么?     CATALINA_HOME指的是Tomcat的安装目录     bin:\\Tomcat一些脚本存放目录,比如启动脚本startup.bat/start...

网络小虾米
昨天
2
0
float浮动

float浮动 float浮动概念及原理: 文档流:文档流是文档中可显示对象在排列时所占用的位置。 加浮动的元素,会脱离文档流,会沿父容器靠左或靠右排列,如果之前已经有浮动的元素,会挨着浮动...

studywin
昨天
2
0
实战项目-学成在线(一)

之前看的黑马程序员实战项目之一,打算以博客的形式写出来,也让自己重新温习一下。 1、项目背景 略(就是当前这东西很火,我们重点在开发,这些就略过) 2、功能模块 门户,学习中心,教学管...

lianbang_W
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部