博客
关于我
Kubernetes学习总结(14)—— Kubernetes 实用命令总结
阅读量:790 次
发布时间:2023-01-29

本文共 3254 字,大约阅读时间需要 10 分钟。

Kubernetes操作指南

Pods

获取当前命名空间内的Pod

kubectl get pods

获取所有命名空间内的Pod

kubectl get pods --all-namespaces

获取Pod的详细信息

kubectl get pods -o wide

获取特定Pod的yaml定义

kubectl get pod mypod -o yaml

检查Pod的详细信息

kubectl describe pods

按照某个指标排序Pod

kubectl get pods --sort-by='.status.containerStatuses[0].restartCount'

显示Pod的标签

kubectl get pods --show-labels

按标签查询Pod

kubectl get pods -l "label=value"

将本地端口转发到Pod端口

kubectl port-forward pod mypod 8080:80

在Pod上执行命令

kubectl exec pod mypod -- sh

在Pod中的特定容器上执行命令

kubectl exec pod mypod -c containername -- sh

Secrets

获取当前命名空间内的Secret

kubectl get secrets

获取所有命名空间内的Secret

kubectl get secrets --all-namespaces

获取Secret的详细信息

kubectl get secrets -o wide

查看特定Secret的内容

kubectl get secret mysecret -o yaml

Services

获取当前命名空间内的Service

kubectl get services

获取所有命名空间内的Service

kubectl get services --all-namespaces

获取Service的详细信息

kubectl get services -o wide

查看特定Service的yaml定义

kubectl get service myservice -o yaml

检查Service的详细信息

kubectl describe services

显示Service的标签

kubectl get services --show-labels

按标签查询Service

kubectl get services -l "label=value"

Updating Resources

发新版本的部署

kubectl set image deployment/myapp myapp-image=yourimageversion

检查部署历史

kubectl rollout history deployment/myapp

回滚部署

kubectl rollout undo deployment/myapp

回滚到特定版本

kubectl rollout undo deployment/myapp --to-revision=2

watching滚动更新

kubectl rollout status -w deployment/myapp

重启滚动部署

kubectl rollout restart deployment/myapp

编辑资源的yaml

kubectl edit deployment/myapp

Scaling部署到3个Pod

kubectl scale --replicas=3 deployment/myapp

删除Pod

kubectl delete pod mypod

Context

显示上下文

kubectl config get-contexts

当前上下文

kubectl config current-context

###切换到其他集群

kubectl config use-context mycluster

###更改当前上下文的命名空间

kubectl config set-context --current --namespace= namespace

Logs

查看Pod的日志

kubectl logs mypod

按标签查询Pod日志

kubectl logs -l "label=value"

查看前一次容器的日志

kubectl logs mypod --previous

查看特定容器在Pod中的日志

kubectl logs mypod -c mycontainer

查看Pod的日志流

kubectl logs -f mypod

查看按标签排序的Pod日志流

kubectl logs -f -l "label=value" --all-containers

查看日志的详细等级

kubectl logs mypod --v=0:9

Deployments

获取当前命名空间内的部署

kubectl get deployment

获取所有命名空间内的部署

kubectl get deployment --all-namespaces

获取部署的详细信息

kubectl get deployment -o wide

查看特定部署的yaml定义

kubectl get deployment mydeployment -o yaml

检查部署的详细信息

kubectl describe deployment

按标签查询部署

kubectl get deployment -l "label=value"

Ingress

获取当前命名空间内的Ingress

kubectl get ingress

获取所有命名空间的Ingress

kubectl get ingress --all-namespaces

获取Ingress的详细信息

kubectl get ingress -o wide

查看特定Ingress的yaml定义

kubectl get ingress myingress -o yaml

检查Ingress的详细信息

kubectl describe ingress

按标签查询Ingress

kubectl get ingress -l "label=value"

Creating Resources

从文件创建Kubernetes资源

kubectl apply -f ./manifest.yaml

从多个文件中创建资源

kubectl apply -f ./manifest1.yaml -f ./manifest2.yaml

从目录中创建资源

kubectl apply -f ./ manifests/

从URL创建资源

kubectl apply -f https://example.com/manifest.yaml

创建一个单独的部署

kubectl create deployment mydeployment --image=yourimage

Nodes

标记节点为不可用的

kubectl cordon node mynode

用Drain命令排空节点

kubectl drain node mynode

重新标记节点为可用

kubectl uncordon node mynode

查看节点的性能指标

kubectl top node mynode

###查看集群信息

kubectl cluster-info

###导出集群状态到标准输出

kubectl cluster-info dump

###列出可用的Kubernetes资源

kubectl api-resources

###列出当前命名空间内的可用资源

kubectl api-resources --namespaced=true

转载地址:http://jlryk.baihongyu.com/

你可能感兴趣的文章