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
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hhb_618

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值