100条k8s命令

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 100条k8s命令

100条k8s命令

  1. kubectl apply -f [file]:用指定文件中的内容创建或更新资源。
kubectl apply -f deployment.yaml
  1. kubectl create -f [file]:用指定文件中的内容创建资源。
kubectl create -f pod.yaml
  1. kubectl delete resource [name]:删除一个资源。
kubectl delete pod my-pod
  1. kubectl delete -f [file]:从指定文件中删除资源。
kubectl delete -f deployment.yaml
  1. kubectl edit resource [name]:编辑某个资源的定义。
kubectl edit pod my-pod
  1. kubectl exec [pod] [command]:在运行的pod中执行一个命令。
kubectl exec my-pod -- ls
  1. kubectl logs [pod]:查看pod的日志。
kubectl logs my-pod
  1. kubectl port-forward [pod] [localPort:remotePort]:将pod的端口转发到本地。
kubectl port-forward my-pod 8080:80
  1. kubectl run [name] --image=[image]:使用指定镜像创建一个pod。
kubectl run my-nginx --image=nginx
  1. kubectl scale [resource] [name] --replicas=[number]:为某个资源设置副本数。
kubectl scale deployment my-deployment --replicas=3
  1. kubectl set image [resource] [name] [container]=[image]:为某个资源的某个容器设置镜像。
kubectl set image deployment/my-deployment my-container=my-image
  1. kubectl rollout status [resource] [name]:查看一个滚动更新的状态。
kubectl rollout status deployment/my-deployment
  1. kubectl rollout undo [resource] [name]:撤销一个滚动更新。
kubectl rollout undo deployment/my-deployment
  1. kubectl expose [resource] [name] --port=[port] --target-port=[target-port] --type=[type]:为指定资源创建服务。
kubectl expose deployment/my-deployment --port=80 --target-port=8080 --type=NodePort
  1. kubectl label [resource] [name] [key]=[value]:为某个资源设置标签。
kubectl label pod my-pod env=prod
  1. kubectl annotate [resource] [name] [key]=[value]:为某个资源设置注释。
kubectl annotate pod my-pod description="This is a test pod"
  1. kubectl taint [node] [key]=[value]:[effect]:在节点上设置污点。
kubectl taint node my-node key=value:NoSchedule
  1. kubectl uncordon [node]: 解除节点的停机维护状态。
kubectl uncordon my-node
  1. kubectl certificate approve [name]: 批准证书签发请求。
kubectl certificate approve my-csr
  1. kubectl certificate deny [name]: 拒绝证书签发请求。
kubectl certificate deny my-csr
  1. kubectl api-versions: 查看API版本。
kubectl api-versions
  1. kubectl auth can-i [verb] [resource]:查看当前用户是否有指定动作的权限。
kubectl auth can-i list pods
  1. kubectl cluster-info: 查看集群信息。
kubectl cluster-info
  1. kubectl config current-context:查看当前上下文的名称。
kubectl config current-context
  1. kubectl config get-contexts:查看上下文的列表。
kubectl config get-contexts
  1. kubectl config set-context [name]: 设置当前上下文。
kubectl config set-context my-context
  1. kubectl config use-context [name]: 切换到指定的上下文。
kubectl config use-context my-context
  1. kubectl describe [resource] [name]:查看资源的详细信息。
kubectl describe pod my-pod
  1. kubectl diff -f [file]: 比较本地文件和远程资源之间的区别。
kubectl diff -f deployment.yaml
  1. kubectl get [resource]:查看资源的列表。
kubectl get pods
  1. kubectl top [resource] [name]: 查看资源的使用情况。
kubectl top pods my-pod
  1. kubectl rollout history [resource] [name]: 查看一个滚动更新的历史记录。
kubectl rollout history deployment/my-deployment
  1. kubectl rollout restart [resource] [name]: 重新启动一个滚动更新。
kubectl rollout restart deployment/my-deployment
  1. kubectl rollout pause [resource] [name]: 暂停一个滚动更新。
kubectl rollout pause deployment/my-deployment
  1. kubectl rollout resume [resource] [name]: 恢复一个滚动更新。
kubectl rollout resume deployment/my-deployment
  1. kubectl exec [pod] [command] -- [arg1] [arg2] ...:在运行的pod中执行一个命令和参数。
kubectl exec my-pod -- ls -a
  1. kubectl logs [pod] -f:实时查看pod的日志。
kubectl logs my-pod -f
  1. kubectl port-forward [pod] [localPort:remotePort] --address [address]:将pod的端口转发到指定地址。
kubectl port-forward my-pod 8080:80 --address 0.0.0.0
  1. kubectl delete resource [name] --force:强制删除一个资源。
kubectl delete pod my-pod --force
  1. kubectl edit deployment [name] --record:编辑deployment的定义,并记录修改历史。
kubectl edit deployment my-deployment --record
  1. kubectl diff [resource] [name]:比较当前状态和期望状态之间的区别。
kubectl diff deployment/my-deployment
  1. kubectl explain [resource]: 查看某个资源的字段说明。
kubectl explain pod
  1. kubectl get [resource] [name] -o yaml:以YAML格式显示资源的详细信息。
kubectl get pod my-pod -o yaml
  1. kubectl get [resource] [name] -o json:以JSON格式显示资源的详细信息。
kubectl get pod my-pod -o json
  1. kubectl label [resource] [name] [key]-:为某个资源移除标签。
kubectl label pod my-pod env-
  1. kubectl annotate [resource] [name] [key]-:为某个资源移除注释。
kubectl annotate pod my-pod description-
  1. kubectl taint [node] [key]-=[value]:[effect]:在节点上移除污点。
kubectl taint node my-node key=:NoSchedule-
  1. kubectl cordon [node]: 将节点设置为停机维护状态。
kubectl cordon my-node
  1. kubectl certificate renew [name]: 恢复证书签发请求。
kubectl certificate renew my-csr
  1. kubectl explain [resource].[field]: 查看某个特定字段的说明。
kubectl explain pod.spec.containers.name
  1. kubectl config view:查看当前的配置。
kubectl config view
  1. kubectl config set-cluster [name] [key]=[value]: 设置集群的属性。
kubectl config set-cluster my-cluster server=https://my-server.com
  1. kubectl config set-credentials [name] [key]=[value]: 设置凭据的属性。
kubectl config set-credentials my-creds token=my-token
  1. kubectl config set-context [name] [key]=[value]: 设置上下文的属性。
kubectl config set-context my-context cluster=my-cluster user=my-creds
  1. kubectl config unset [property]: 移除指定的配置属性。
kubectl config unset users.my-creds.token
  1. kubectl describe [resource] [name] --show-events:查看资源的详细信息,并显示相关事件。
kubectl describe pod my-pod --show-events
  1. kubectl get [resource] [name] -o wide:以宽格式显示资源的详细信息。
kubectl get pod my-pod -o wide
  1. kubectl get [resource] [name] --watch:实时查看资源的状态。
kubectl get pods --watch
  1. kubectl rollout history [resource] [name] --revision=[number]: 查看一个滚动更新的特定版本。
kubectl rollout history deployment/my-deployment --revision=2
  1. kubectl rollout status [resource] [name] --timeout=[duration]: 查看一个滚动更新的状态,并设置超时时间。
kubectl rollout status deployment/my-deployment --timeout=5m
  1. kubectl rollout undo [resource] [name] --to-revision=[number]: 恢复一个滚动更新到特定版本。
kubectl rollout undo deployment/my-deployment --to-revision=2
  1. kubectl exec [pod] [command] -it:在运行的pod中执行一个交互式命令。
kubectl exec -it my-pod bash
  1. kubectl logs [pod] -n [namespace]: 查看另一个命名空间中的pod的日志。
kubectl logs my-pod -n my-namespace
  1. kubectl port-forward [pod] [localPort:remotePort] --address [address] -n [namespace]: 将另一个命名空间中的pod的端口转发到指定地址。
kubectl port-forward my-pod 8080:80 --address 0.0.0.0 -n my-namespace
  1. kubectl delete resource [name] --cascade:级联删除某个资源的所有子资源。
kubectl delete deployment my-deployment --cascade
  1. kubectl delete resource [name] --grace-period=[duration]: 设置删除资源的grace period。
kubectl delete pod my-pod --grace-period=30s
  1. kubectl edit resource [name] --editor-command=[command]: 使用指定编辑器编辑某个资源的定义。
kubectl edit pod my-pod --editor-command="vi"
  1. kubectl exec [pod] [command] --container=[name]: 在指定容器中执行一个命令。
kubectl exec my-pod --container=my-container -- ls
  1. kubectl logs [pod] --tail=[lines]: 查看pod的最后几行日志。
kubectl logs my-pod --tail=100
  1. kubectl rollout history [resource] [name] --revision=[number] --dry-run:查看特定版本的滚动更新,但不实际向系统应用它。
kubectl rollout history deployment/my-deployment --revision=2 --dry-run
  1. kubectl rollout undo [resource] [name] --to-revision=[number] --dry-run:将滚动更新恢复到特定版本,但不实际向系统应用它。
kubectl rollout undo deployment/my-deployment --to-revision=2 --dry-run
  1. kubectl exec [pod] -c [container] -- [command]: 在指定容器中执行一个命令。
kubectl exec my-pod -c my-container -- ls
  1. kubectl logs [pod] -c [container]:查看指定容器的日志。
kubectl logs my-pod -c my-container
  1. kubectl scale [resource] [name] --replicas=[number] --current-replicas=[currentReplicas]:为某个资源设置副本数,并指定当前的副本数。
kubectl scale deployment my-deployment --replicas=3 --current-replicas=2
  1. kubectl edit configmap [name]:编辑配置映射的定义。
kubectl edit configmap my-configmap
  1. kubectl delete configmap [name] --cascade:级联删除配置映射的所有子资源。
kubectl delete configmap my-configmap --cascade
  1. kubectl rollout status [resource] [name] --revision=[number]: 查看一个特定版本的滚动更新的状态。
kubectl rollout status deployment/my-deployment --revision=2
  1. kubectl rollout undo [resource] [name] --to-revision=[number] --dry-run=true: 查看滚动更新恢复到特定版本,但不实际向系统应用它。
kubectl rollout undo deployment/my-deployment --to-revision=2 --dry-run=true
  1. kubectl exec [pod] [command] --env [key]=[value]: 在运行的pod中执行一个命令,并指定环境变量。
kubectl exec my-pod -- ls --env FOO=bar
  1. kubectl logs [pod] --since=[duration]: 查看从多久之前开始的pod的日志。
kubectl logs my-pod --since=1h
  1. kubectl rollout undo [resource] [name] --to-revision=[number] --dry-run=false: 恢复一个滚动更新到特定版本,并向系统应用它。
kubectl rollout undo deployment/my-deployment --to-revision=2 --dry-run=false
  1. kubectl patch [resource] [name] -p [patch]: 使用json patch更新现有资源。
kubectl patch pod my-pod -p '{"spec":{"containers":[{"name":"my-container","image":"nginx:latest"}]}}'
  1. kubectl apply -f [dir]: 用指定目录中的所有文件创建或更新资源。
kubectl apply -f manifests/
  1. kubectl create configmap [name] --from-file=[path]: 使用文件创建配置映射。
kubectl create configmap my-configmap --from-file=my-config.json
  1. kubectl delete configmap [name] --grace-period=[duration]: 设置删除配置映射的grace period。
kubectl delete configmap my-configmap --grace-period=30s
  1. kubectl explain [resource].[field].[subfield]: 查看某个字段的子字段说明。
kubectl explain pod.spec.containers.livenessProbe.httpGet
  1. kubectl get [resource] [name] -o yaml --export: 以YAML格式导出资源的详细信息。
kubectl get pod my-pod -o yaml --export
  1. kubectl get [resource] --all-namespaces: 查看所有命名空间中的资源的列表。
kubectl get pods --all-namespaces
  1. kubectl rollout undo [resource] [name] --dry-run=true: 查看滚动更新恢复到上一个版本,但不实际向系统应用它。
kubectl rollout undo deployment/my-deployment --dry-run=true
  1. kubectl exec [pod] [command] --namespace=[namespace]: 在指定命名空间中运行的pod中执行一个命令。
kubectl exec my-pod --namespace=my-namespace -- ls
  1. kubectl logs [pod] --previous: 查看pod的上一个容器的日志。
kubectl logs my-pod --previous
  1. kubectl rollout undo [resource] [name] --dry-run=false: 恢复一个滚动更新到上一个版本,并向系统应用它。
kubectl rollout undo deployment/my-deployment --dry-run=false
  1. kubectl exec [pod] [command] --stdin --tty:在运行的pod中执行一个交互式命令,并分配一个伪终端。
kubectl exec my-pod --stdin --tty -- bash
  1. kubectl logs [pod] -c [container] --follow: 实时查看指定容器的日志。
kubectl logs my-pod -c my-container --follow
  1. kubectl get [resource] --export: 导出所有资源的详细信息。
kubectl get pods --export
  1. kubectl rollout status [resource] [name] --revision-history-max=[number]: 查看滚动更新历史中最多多少个版本的状态。
kubectl rollout status deployment/my-deployment --revision-history-max=5
  1. kubectl rollout undo [resource] [name] --to-revision=[number] --dry-run=false --record=true: 恢复一个滚动更新到特定版本,并记录修改历史。
kubectl rollout undo deployment/my-deployment --to-revision=2 --dry-run
相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
7月前
|
运维 Kubernetes 监控
揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?
揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?
2233 0
|
7月前
|
Kubernetes 应用服务中间件 API
Kubernetes(K8S)命令指南
Kubernetes(K8S)命令指南
267 0
|
Kubernetes 调度 数据中心
K8S常用命令
K8S常用命令
180 0
|
Kubernetes 容器 Perl
k8s查看日志命令—2023.02
k8s查看日志命令—2023.02
214 0
|
7月前
|
运维 Kubernetes 容器
K8S运维命令必备kubectl命令总结
K8S运维命令必备kubectl命令总结
103 3
|
7月前
|
iOS开发 MacOS Windows
|
2月前
|
缓存 Kubernetes 应用服务中间件
k8s学习--helm的详细解释及安装和常用命令
k8s学习--helm的详细解释及安装和常用命令
k8s学习--helm的详细解释及安装和常用命令
|
4月前
|
Kubernetes Shell Docker
在K8S中,如果容器没有bash命令,如何进⼊容器排查问题?
在K8S中,如果容器没有bash命令,如何进⼊容器排查问题?
|
4月前
|
Kubernetes Docker 容器
Kubernetes(K8S) 常用命令
Kubernetes(K8S) 常用命令
61 0
|
4月前
|
Kubernetes 监控 Shell
掌握Kubernetes故障排除技巧:kubectl命令的基本指南
以上是使用 `kubectl` 进行故障排除的一些基本指南。熟悉这些命令能够帮助您快速定位和解决在Kubernetes集群中遇到的问题。在实际使用中,您可能还需要结合其他工具和资源,如官方文档、社区论坛以及第三方监控和日志服务来进行更深入的故障诊断和排除。
110 0