Kubectl基础命令大全

Kubectl简述

在学习如何更有效地使用kubectl之前,您应该基本了解它是什么以及它是如何工作的。

从用户角度来说:

kubectl是控制Kubernetes的驾驶舱。它允许您执行所有可能的Kubernetes操作。

从技术角度来说:

kubectl是Kubernetes API的客户端,通过该客户端我们可以完全控制Kubernetes,这意味着每个Kubernetes操作都作为API端口公开,并且可以通过对此端点的HTTP请求来执行。

命令大全(我所知道的)

查询命令

查看所有pod

kubectl get pods

动态监听查看所有pod

kubectl get pods-w

查看所有deploymen

kubectl get deployment

查看所有service服务

kubectl get service

查看关联后端节点

kubectl get endpoints

查看相关POD的日志

kubectl get logs NAME

pod副本数量调整

kubectl scale [--current-replicas=replicas] --replicas=replicas NAME

其中,

“--current-replicas” 当前副本数量

“--replicas” 副本数量


项目的生命周期

创建--》发布--》更新--》回滚--》删除

创建

kubect run NAME --image=image [--port=port] [--replicas=replicas] [--command]

“--image” 指定镜像

“--replicas” 指定副本数量

“--port” 指定内部通信端口

实例:kubectl run nginx --image=nginx:latest --replicas=3

以最新版nginx作为镜像建立有着三个副本的pods

发布

kubectl expose (-f FILENAME | TYPE NAME) [--port=port] [--protocol=TCP|UDP|SCTP] [--target-port=number-or-name] [--name=name] [--external-ip=external-ip-of-service] [--type=type]

“-f FILENAME ” 指定YAML文件名称

“TYPE NAME” 指定deploymen名称

“--type” 指定服务类型(默认为集群地址-clusterip)

“--port=80” 内部通信的端口

“--target-port=80” 暴露在外部的端口

实例:kubectl expose deploy/nginx --port=80 --target-port=80 --name=nginx-svc --type=NodePort

将nginx以内部端口80,暴露端口80,指定名称为nginx-svc,类型为节点形式进行发布。

更新

kubectl set image deploy/NAME NAME=新版本

实例:kubectl set image deploy/nginx nginx=nginx:1.14

变更nginx版本为nginx1.14

回滚

kubectl rollout [commands]

常用command:

history 显示 rollout 历史

pause 标记提供的 resource 为中止状态

resume 继续一个停止的 resource

status 显示 rollout 的状态

undo 撤销上一次的 rollout

实例:kubectl rollout undo deploy/nginx

删除

kubectl delete ([-f FILENAME] | TYPE [(NAME | -l label | --all)]) [options]

实例:

kubectl delete svc/nginx-svc

kubectl delete deploy/nginx


除此之外,还有一批命令~~~

查看资源对象简写

kubectl api-resources

查看具体资源详细信息

kubectl describe (-f FILENAME | TYPE [NAME_PREFIX | -l label] | TYPE/NAME) [options]

实例:

kubectl describe pod/nginx-7697996758-9d6tf

kubectl describe svc/nginx

编辑资源详细信息

kubectl edit (-f FILENAME | TYPE [NAME_PREFIX | -l label] | TYPE/NAME) [options]

实例:

kubectl edit deploy/NAME

进入相应pod中*

kubectl exec POD [-c CONTAINER] -- COMMAND [args...] [options]

例子:kubectl exec -it nginx-7697996758-9d6tf bash

查看生成的YAML格式文件

kubectl run nginx-deployment --image=nginx --port=80 --replicas=3 --dry-run -o yaml

查看生成的JSON格式文件

kubectl run nginx-deployment --image=nginx --port=80 --replicas=3 --dry-run -o json

生成YAML 、 JSON文件导出

kubectl run nginx-deployment --image=nginx --port=80 --replicas=3 --dry-run -o json(yaml) > test.json(yaml)

将现有资源进行导出

kubectl get svc/nginx-svc --export -o yaml > nginx-svc.yaml

测试命令正确性,不执行(类似shell脚本中的sh -n)

kubectl run nginx --image=nginx --port=80 --replicas=2 --dry-run


create与apply的异同

通过YAML文件建立

kubectl create -f FILENAME [options]

例子:kubectl create -f nginx.yaml

通过YAML文件升级deployment

kubectl apply -f FILENAME

相同点 不同点
如果yaml文件中的kind值为deployment,那么上面这两个命令都可以创建一个deployment,生成相应数量的pod create命令:是先删除所有现有的东西,重新根据yaml文件生成新的。所以要求yaml文件中的配置必须是完整的<br />
apply命令:根据配置文件里面列出来的内容,升级现有的。所以yaml文件的内容可以只写需要升级的属性

原文地址:https://blog.51cto.com/14484404/2471204

时间: 2024-10-09 21:45:52

Kubectl基础命令大全的相关文章

CentOS常用基础命令大全

这篇文章主要介绍了CentOS常用基础命令大全,学习centos的朋友需要掌握的知识,需要的朋友可以参考下 1.关机 (系统的关机.重启以及登出 ) 的命令shutdown -h now 关闭系统(1) init 0 关闭系统(2) telinit 0 关闭系统(3) shutdown -h hours:minutes & 按预定时间关闭系统 shutdown -c 取消按预定时间关闭系统 shutdown -r now 重启(1) reboot 重启(2) logout 注销2.查看系统信息的

思科基础命令大全

路由器 路由器的基本配置 1.从用户模式进入特权模式 R1>enable 2.从特权模式进入全局配置模式 R1#configure terminal 3.设置主机名 R1(config)#hostname R1 4. 退出到特权模式 R1(config)#end 5.退出到用户模式 R1#disable 6.退出控制台线路 R1>quit 7.通过console进入控制台口线路 R1(config)#line console {number} 8.启动光标跟随 R1(config-line)#

运维大作战之linux基础命令大全

一. 显示日期:date显示格式:date +%Y/%m/%d date +%H:%M日历指令:cal计算器:bc 显示几位小数点:scale=number 退出计算器:quit2.[Tab]热键:输入gr 命令时连按两下为有哪些以gr开头的命令,文件时连按两下为有哪些以gr开头的文件. man page 说明后面的数字中,1 代表一般账号可用指令,8 代表系统管理员常用指令,5 代表系统配置文件4.关机:shutdown [-krhc] [时间] '信息'选项与参数:-k : 不是真的关机,只

CentOS基础命令大全

1.关机 (系统的关机.重启以及登出 ) 的命令shutdown -h now 关闭系统(1) init 0 关闭系统(2) telinit 0 关闭系统(3) shutdown -h hours:minutes & 按预定时间关闭系统 shutdown -c 取消按预定时间关闭系统 shutdown -r now 重启(1) reboot 重启(2) logout 注销 2.查看系统信息的命令arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r

linux(CentOS)基础命令大全

1.关机 (系统的关机.重启以及登出 ) 的命令shutdown -h now 关闭系统(1) init 0 关闭系统(2) telinit 0 关闭系统(3) shutdown -h hours:minutes & 按预定时间关闭系统 shutdown -c 取消按预定时间关闭系统 shutdown -r now 重启(1) reboot 重启(2) logout 注销 2.查看系统信息的命令arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r

linux基础命令大全

编辑器 ed vi/vim (交互式) sed (非交互) vi/vim 的使用 1.命令模式 移动光标 方向键 hjkl H L M G 1G nG 复制行 yy nyy 粘贴 p 删除行 dd ndd D 删除字符 x 保存退出 ZZ 2.底行模式 显示行号 set nu set nonu 查找 / 向下查找 n 相同方向 N:相反方向 ? 向上查找 查找替换 行号1,行号2 s/oldstring/newstring/g 1,$ 行号1,+n s/oldstring/newstring/g

linux之基础命令大全

作为测试人员对linux系统命令必须非常熟悉,尤其对于高级测试工程师,从事性能方面测试,就更需要对linux命令了如指掌,这里只对部分常用命令做解释,想深入学习请关注后续文章 ctrl z  终止当前程序/ ctrl c cd 进入 ls/ll  查看 mkdir  创建 rm -rf  文件夹名 rmdir   删除文件夹名 ifconfig  IP查看 netconfig  设置网卡 service network restart/stop/start  重启网卡 source  /etc/

[转帖]CentOS基础命令大全

https://www.toutiao.com/i6601298434651587085/ 1.关机 (系统的关机.重启以及登出 ) 的命令 shutdown -h now 关闭系统(1) init 0 关闭系统(2) telinit 0 关闭系统(3) shutdown -h hours:minutes & 按预定时间关闭系统 shutdown -c 取消按预定时间关闭系统 shutdown -r now 重启(1) reboot 重启(2) logout 注销 2.查看系统信息的命令 arc

linux基础命令大全(常用)

pwd:显示当前路径cd :切换目录用法:cd cd ../ 切换到上级目录 cd /   切换到根目录 cd ~  (或只有cd )切换到当前用户主目录(home底下以用户名命名的文件夹) /root目录 mkdir 创建目录mkdir 目录名  -p   递归创建目录 rmdir 删除空目录用法:rmdir 目录名也可用:rm -rf 目录名 ls 查看目录或文件信息主要选项:-l 列出目录或者文件的详细信息.比如权限.修改时间等等-a 列出当前目录下所有文件,包括隐藏文件(已点开头的都是隐