k8s的常用命令
kubectl patch:部分修改资源的配置,例如 kubectl patch pod/mypod -p '{"spec":{"containers":[{"name":"mycontainer","image":"myimage:v2"}]}}' 可以将名称为 mypod 的Pod中名为 mycontainer 的容器的镜像版本更新为 myimage:v2。
Kubernetes是一种用于容器编排和管理的开源平台,以下是一些常用的Kubernetes命令:
-
kubectl version:查看Kubernetes版本信息。
-
kubectl get:查看资源列表,例如 kubectl get pods 可以列出所有的Pods。
-
kubectl describe:查看资源的详细信息,例如 kubectl describe pod mypod 可以查看名称为 mypod 的Pod的详细信息。
-
kubectl create:创建资源,例如 kubectl create -f mypod.yaml 可以根据yaml文件创建Pod资源。
-
kubectl apply:应用更新,例如 kubectl apply -f mypod.yaml 可以应用yaml文件中的更新。
-
kubectl delete:删除资源,例如 kubectl delete pod mypod 可以删除名称为 mypod 的Pod资源。
-
kubectl logs:查看Pod的日志信息,例如 kubectl logs mypod 可以查看名称为 mypod 的Pod的日志信息。
-
kubectl exec:在Pod中运行命令,例如 kubectl exec mypod ls 可以在名称为 mypod 的Pod中执行 ls 命令。
-
kubectl port-forward:将本地端口转发到Pod中的端口,例如 kubectl port-forward mypod 8080:80 可以将名称为 mypod 的Pod中的80端口映射到本地的8080端口。
-
kubectl scale:扩容或缩容资源,例如 kubectl scale deployment mydeployment --replicas=3 可以将名称为 mydeployment 的Deployment扩容到3个实例。
-
kubectl rollout:管理应用的滚动更新,例如 kubectl rollout undo deployment/mydeployment 可以撤销名为 mydeployment 的Deployment的最近一次更新。
-
kubectl label:给资源打标签,例如 kubectl label pod mypod app=web 可以给名称为 mypod 的Pod打上 app=web 的标签。
-
kubectl annotate:给资源添加注释,例如 kubectl annotate pod mypod description="This is my pod" 可以给名称为 mypod 的Pod添加一条描述为 “This is my pod” 的注释。
-
kubectl config:管理Kubernetes配置文件,例如 kubectl config view 可以查看当前的Kubernetes配置文件。
-
kubectl taint:给Node节点打标记,例如 kubectl taint nodes node1 app=web:NoSchedule 可以给名称为 node1 的Node打上 app=web 的标记,并且不允许调度Pod到该Node上。
-
kubectl cluster-info:查看Kubernetes集群的信息,例如 kubectl cluster-info 可以查看当前Kubernetes集群的信息。
-
kubectl top:查看资源的CPU和内存占用情况,例如 kubectl top pod mypod 可以查看名称为 mypod 的Pod的CPU和内存占用情况。
-
kubectl edit:编辑资源的配置信息,例如 kubectl edit pod mypod 可以编辑名称为 mypod 的Pod的配置信息。
-
kubectl rollout history:查看应用的更新历史,例如 kubectl rollout history deployment/mydeployment 可以查看名为 mydeployment 的Deployment的更新历史。
-
kubectl apply -f URL:从远程URL中应用配置文件,例如 kubectl apply -f https://raw.githubusercontent.com/kubernetes/website/master/content/en/examples/pods/busybox.yaml 可以从GitHub上的URL中应用配置文件。
-
kubectl get events:查看Kubernetes集群中的事件,例如 kubectl get events 可以列出Kubernetes集群中的所有事件。
-
kubectl rollout status:查看应用的更新状态,例如 kubectl rollout status deployment/mydeployment 可以查看名为 mydeployment 的Deployment的更新状态。
-
kubectl rollout pause/resume:暂停/恢复应用的更新,例如 kubectl rollout pause deployment/mydeployment 可以暂停名为 mydeployment 的Deployment的更新。
-
kubectl rollout restart:重新启动应用的更新,例如 kubectl rollout restart deployment/mydeployment 可以重新启动名为 mydeployment 的Deployment的更新。
-
kubectl exec -it:在Pod中交互式地运行命令,例如 kubectl exec -it mypod bash 可以在名称为 mypod 的Pod中进入bash交互式命令行。
-
kubectl apply --dry-run:检查配置文件的语法和语义错误,例如 kubectl apply -f mypod.yaml --dry-run 可以检查yaml文件的语法和语义错误。
-
kubectl rollout history undo:回滚应用的更新,例如 kubectl rollout history undo deployment/mydeployment --to-revision=2 可以将名为 mydeployment 的Deployment回滚到版本2。
-
kubectl diff:比较两个配置文件之间的差异,例如 kubectl diff -f mypod-v1.yaml -f mypod-v2.yaml 可以比较两个yaml文件之间的差异。
-
kubectl create secret:创建Kubernetes密钥,例如 kubectl create secret generic mysecret --from-literal=username=myuser --from-literal=password=mypassword 可以创建名为 mysecret 的密钥,并将用户名和密码存储在密钥中。
-
kubectl rollout history pause/resume:暂停/恢复应用的更新历史记录,例如 kubectl rollout history pause deployment/mydeployment 可以暂停名为 mydeployment 的Deployment的更新历史记录。
-
kubectl scale:扩展或缩小Deployment、ReplicaSet或StatefulSet的副本数量,例如 kubectl scale deployment/mydeployment --replicas=3 可以将名为 mydeployment 的Deployment的副本数量扩展到3个。
-
kubectl label:给资源添加或修改标签,例如 kubectl label pod/mypod app=myapp 可以给名称为 mypod 的Pod添加标签 app=myapp。
-
kubectl annotate:给资源添加或修改注释,例如 kubectl annotate pod/mypod description="This is my pod" 可以给名称为 mypod 的Pod添加注释描述信息。
-
kubectl top:查看Kubernetes集群中的资源使用情况,例如 kubectl top pods 可以查看当前Pod的CPU和内存使用情况。
-
kubectl logs:查看容器的日志,例如 kubectl logs mypod -c mycontainer 可以查看名称为 mypod 的Pod中名为 mycontainer 的容器的日志。
-
kubectl edit:编辑资源的配置,例如 kubectl edit pod/mypod 可以编辑名称为 mypod 的Pod的配置。
-
kubectl patch:部分修改资源的配置,例如 kubectl patch pod/mypod -p '{"spec":{"containers":[{"name":"mycontainer","image":"myimage:v2"}]}}' 可以将名称为 mypod 的Pod中名为 mycontainer 的容器的镜像版本更新为 myimage:v2。
-
kubectl delete:删除资源,例如 kubectl delete pod/mypod 可以删除名称为 mypod 的Pod。
-
kubectl proxy:为Kubernetes集群中的资源提供代理服务,例如 kubectl proxy 可以启动一个本地代理服务,使得在本地访问Kubernetes API变得更加方便。
-
kubectl port-forward:将Kubernetes集群中的服务端口映射到本地端口,例如 kubectl port-forward service/myservice 8080:80 可以将名为 myservice 的Service的80端口映射到本地的8080端口。
更多推荐
所有评论(0)