当前位置:网站首页>Kubernetes kubectl常用命令
Kubernetes kubectl常用命令
2022-08-06 10:00:00 【ygqygq2】
Kubernetes kubectl常用命令
文章目录
1. 查看资源对象
常用查看资源对象(<rc>)有namespace(ns)podsservice(svc)endpoints(ep)deployment(deploy)pvcingresses(ing),括号内为最简写法。kubectl get <rc>
显示更多信息,在后面接-o wide、-ojson或者-o yaml,同时查看多个资源对象用英文逗号隔开。
查看资源对象全名,可通过kubectl rc,<rc>
2. 创建资源对象
创建时,注意文件内是否有namespace,如果没有,请在命令后面指定-n <namespace-name>。
根据yaml配置文件一次性创建资源对象kubectl create -f service.yaml -f deployment.yaml
根据<directory>目录下所有.yaml、.yml、.json文件的定义进行创建操作kubectl create -f <directory>
对资源进行配置,最常用功能。kubectl apply -f service.yamlkubectl apply -f <directory>
3. 编辑资源对象
编辑资源对象时,编辑器为vi,需要熟悉vi命令操作。kubectl edit deploy <deployment-name>
如果平常是使用yaml文件维护,注意下次修改时的配置。
4. 描述资源对象
显示service的详细信息kubectl describe svc <service-name>
显示pod的详细信息,其中显示的pod启动过程事件可以帮助排错。kubectl describe pods/<pod-name>
5. 删除资源对象
类似create命令用法
基于deployment.yaml定义的名称删除deploymentkubectl delete -f deployment.yaml
根据<directory>目录下所有.yaml、.yml、.json文件的定义进行创建删除kubectl delete -f <directory>
删除所有包含某个label的pod和servicekubectl delete pods,svc -l name=<label-name>
6. 执行容器的命令
执行pod的ls命令,默认是用pod中的第一个容器执行kubectl exec -it <pod-name> -- ls
指定pod中某个容器执行ls命令kubectl exec <pod-name> -c <container-name> ls
登录容器(容器中命令存在时)kubectl exec -it <pod-name> /bin/shkubectl exec -it <pod-name> /bin/bash
7. 查看容器日志
查看容器的全部日志。pod中有多个容器时需要指定容器名kubectl logs <pod-name> [<container-name>]
类似tail -f实时输出日志kubectl logs -f <pod-name>
查看最近多少时间以来日志,并实时输出,适用于日志较多,运行较久的podkubectl logs -f <pod-name> --since 10m
一般配合kubectl describe pods/<pod-name>进行排错。
8. pod的扩容与缩容
执行扩容缩容pod的操作,支持的资源对象有deploymentstatefulsetdaemonsetkubectl scale deploy <deployment-name> --replicas=2
扩容与缩容是相对于当前的replicas数。如果平常是使用yaml文件维护,注意下次修改时的配置。
9. pod的滚动升级
执行滚动升级操作kubectl rolling-update <deployment-name> -f deployment.yaml
可以使用kubeclt rolling-update <deployment-name> --image=example:v2.0直接指定镜像名称的方式直接升级。
还可以使用kubectl edit命令达到滚动升级目的。如果平常是使用yaml文件维护,注意下次修改时的配置。
10. 端口转发
在集群节点外面连接集群,避免大量端口管理,可以作为开发调试常用功能。当前v1.12版本还未支持tcp keepalived连接,因此连接不活动容易中断。kubectl port-forward svc/<service-name> 本机端口:服务端口 …
其它技巧:
https://jimmysong.io/kubernetes-handbook/guide/kubectl-cheatsheet.html
边栏推荐
- Docker Desktop启动mysql
- Neo4j:通过 Docker 和 Cypher 查询语言 运行图形数据库
- GEE(9): Area area statistics (using connectedPixelCount and ee.Image.pixelArea())
- 【R语言】【4】data.frame与merge与join与cbind与rbind
- 《Jenkins 2.x实践指南》读书笔记-触发Pipeline执行
- 昼夜双色导航主题模板 WordPress导航模板
- Unity Atlas Optimization Principle
- 创建一个 Dapp,为什么要选择波卡?
- C语言实现扫雷
- 千兆宽带网接入电脑电脑却只有百兆
猜你喜欢

Argo Workflows 体验

根据轮廓创建旋转框和椭圆

【 machine learning bayesian classifier

Fusion communication FAQ | 7 issue of the cloud small classroom

imu绘制运动轨迹

HCIP 18 days notes

Day and night double-color navigation WordPress theme template navigation template

【C】函数和递归的使用

ArrayList 的扩容机制

Redis In Action —— Advanced —— Redis 的两种持久化方式 —— RDB 与 AOF 工作流程与原理 —— RDB 与 AOF 的对比 —— 囊括面试题
随机推荐
UE5 使用Mesh Editor 查看骨骼相对于root的坐标系
Redis In Action —— Redis Cache Client 工具类封装 —— 封装了针对于缓存穿透、缓存击穿等问题的优化 —— 缓存空值数据|缓存击穿互斥锁优化|缓存击穿逻辑过期优化
[Mathematical Modeling] Integer Programming
A. Two 0-1 Sequences(贪心)
RL强化学习总结(二)
[Nanny-level tutorial] How does Tencent Cloud obtain secretId and secretKey, and enable face service
A. Two 0-1 Sequences (greedy)
【深基16.例1】淘汰赛(下)
C语言实现扫雷
定时任务 出现 A component required a bean named ‘xxx‘ that could not be found
【TensorFlow&PyTorch】loss损失计算
Kotlin进阶指南 - default constructor not found
Docker Desktop启动mysql
《Jenkins 2.x实践指南》读书笔记-环境变量与构建工具
Neo4j:通过 Docker 和 Cypher 查询语言 运行图形数据库
数组里的值放到另一个数组中,并转大写
LinkedList 是如何完成添加的?
工行开放平台接口签名详解
unity 超简易对象池
sqlalchemy 批量插入