k8s-第二节-常用操作

k8s命令行常用操作

k8s命令行 操作对象时都要前面声明操作对象类型

sh 复制代码
kubectl get 
kubectl describe    
kubectl delete 
kubectl edit 
kubectl logs 
kubectl exec 
kubectl port-forward 端口转发将pod 端口映射出来
kubectl cp 本地文件路径:容器文件路径
kubectl apply -f 文件路径
sh 复制代码
# 部署应用
kubectl apply -f app.yaml
# 查看 deployment
kubectl get deployment
# 查看 pod
kubectl get pod -o wide
# 查看 pod 详情
kubectl describe pod pod-name
# 查看 log
kubectl logs pod-name
# 进入 Pod 容器终端, -c container-name 可以指定进入哪个容器。
kubectl exec -it pod-name -- bash
# 伸缩扩展副本
kubectl scale deployment test-k8s --replicas=5
# 把集群内端口映射到节点
kubectl port-forward pod-name 8090:8080
# 查看历史
kubectl rollout history deployment test-k8s
# 回到上个版本
kubectl rollout undo deployment test-k8s
# 回到指定版本
kubectl rollout undo deployment test-k8s --to-revision=2
# 删除部署
kubectl delete deployment test-k8s
# 删除指定文件的部署
kubectl delete -f app.yaml
sh 复制代码
# 查看全部
kubectl get all
# 重新部署
kubectl rollout restart deployment test-k8s

# 命令修改镜像,--record 表示把这个命令记录到操作历史中
kubectl set image deployment test-k8s test-k8s=ccr.ccs.tencentyun.com/k8s-tutorial/test-k8s:v2-with-error --record

# 暂停运行,暂停后,对 deployment 的修改不会立刻生效,恢复后才应用设置
kubectl rollout pause deployment test-k8s
# 恢复
kubectl rollout resume deployment test-k8s

# 查看deployment以yaml格式并输出到文件
kubectl get deployment test-k8s -o yaml >> app2.yaml
# 删除全部资源
kubectl delete all --all

记录容易忘记的

sh 复制代码
kubectl get cs 查看主节点

查看方式 -o yaml wide 

-o=custom-columns=<spec>	根据自定义列名进行输出,以逗号分隔
-o=custom-colimns-file=<filename>	从文件中获取自定义列名进行输出
-o=json	以JSON格式显示结果
-o=jsonpath=<template>	输出jsonpath表达式定义的字段信息
-o=jsonpath-file=<filename>	输出jsonpath表达式定义的字段信息,来源于文件
-o=name	仅输出资源对象的名称
-o=wide	输出额外信息。对于Pod,将输出Pod所在的Node名
-o=yaml	以yaml格式显示结果

修改副本数量

shell 复制代码
# 只能修改deployment或数量,不能直接修改pod的副本数量
kubectl scale deployment <deployment---name> --replicas=4

端口转发

shell 复制代码
# 查看pod端口
kubectl describe pod 

# 端口转发
kubectl port-forward <pod-name> 8080:80 --address <0.0.0.0监听地址>

版本操作

sh 复制代码
# 查看历史
kubectl rollout history deployment test-k8s
# 回到上个版本
kubectl rollout undo deployment test-k8s
# 回到指定版本
kubectl rollout undo deployment test-k8s --to-revision=2

# 重新部署
kubectl rollout restart deployment test-k8s

# 命令修改镜像,--record 表示把这个命令记录到rollout操作历史中
kubectl set image deployment <deployment-name> <deployment-name=image_link> --record

# 暂停运行,暂停后,对 deployment 的修改不会立刻生效,恢复后才应用设置
kubectl rollout pause deployment test-k8s
# 恢复
kubectl rollout resume deployment test-k8s
相关推荐
BullSmall1 小时前
Anolis OS 8.10 Docker 部署 SonarQube 9.9 完整教程
运维·docker·容器
成为你的宁宁1 小时前
【K8s HPA 水平扩缩容】
kubernetes·hpa
欢醉2 小时前
k8s调度容器失败The node had condition: [DiskPressure]
kubernetes·springcloud
java_logo4 小时前
Apache Doris Docker 部署指南:实时分析数据库实战
数据库·docker·apache·doris·apache doris·轩辕镜像·docker部署doris
生活爱好者!17 小时前
我把NAS当作下载机,docker一键部署qb
运维·docker·容器
java_logo18 小时前
Docker Compose 部署 ClickHouse:快速搭建高性能列式数据库
数据库·clickhouse·docker·列式数据库·轩辕镜像·高性能数据库·clickhouse部署教程
MC皮蛋侠客18 小时前
uv 系列(七):CI/CD、Docker 与私有索引——生产级交付
python·ci/cd·docker·uv
Hui Baby19 小时前
K8S使用CRD和控制器简单应用
云原生·容器·kubernetes
用户2333768521821 小时前
Docker 端口"时通时不通"的排查实战
docker
做个文艺程序员21 小时前
Linux第22篇:用Docker容器化你的Java SaaS应用:一次构建,随处运行
java·docker·容器