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
相关推荐
计算机小手2 小时前
一个带Web UI管理的轻量级高性能OpenAI模型代理网关,支持Docker快速部署
经验分享·docker·语言模型·开源软件
坚持学习前端日记3 小时前
常见docker指令
docker·容器·eureka
小芳矶4 小时前
Dify本地docker部署踩坑记录
python·docker·容器
70asunflower4 小时前
阿里云无影云电脑 Docker 使用完全指南
阿里云·docker·云计算
久绊A5 小时前
春节前云平台运维深度巡检-实操经验
运维·安全·容器·kubernetes·云平台
feasibility.6 小时前
在OpenCode使用skills搭建基于LLM的dify工作流
人工智能·低代码·docker·ollama·skills·opencode·智能体/工作流
!chen6 小时前
银河麒麟v11 kubeadm部署k8s v1.35.0高可用集群
云原生·容器·kubernetes
DB!!!7 小时前
自学Kubernestes(k8s)Day1 -- 核心基础概念
云原生·容器·kubernetes
lpruoyu7 小时前
【Docker进阶-02】Docker命令
docker·容器
FLGB8 小时前
Docker网段和服务器内部网段172.17 网段冲突导致网络不通
服务器·网络·docker