8. K8S 之常用命令
1. 查看类命令
获取节点相应服务的信息
kubectl get nodes
如果需要按selector名来查找相应的pod信息, 可以通过以下命令查看:
1 | kubectl get pod --selector name=tomcat |
查看K8S集群信息
1 | kubectl cluster-info |
查看各组件信息
1 | kubectl -s http://localhost:8080 get componentstatuses |
查看pods所在的运行节点
1 | kubectl get pods -o wide |
如果需要通过某个命名空间查找节点信息, 可以通过以下命令查看:
1 | kubectl get pods -o wide -n kube-system |
如果需要查找所有命名空间下的所有Pod信息, 可以通过以下命令:
1 | kubectl get pods --all-namespaces |
查看pods定义的详细信息
1 | kubectl get pods -o yaml |
查看运行的pod的环境变量
1 | kubectl exec <pod名称> env |
查看指定pod的日志
1 | kubectl logs -f pods/<pod名称> -n kube-system |
查看集群节点信息
1 | kubectl get nodes |
如果需要查看集群名称为zone下的集群节点信息, 可以使用以下命令:
1 | kubectl get nodes -l zone |
查看某个命名空间(如kube-system)下的所有service
1 | kubectl get services kubernetes-dashboard -n kube-system |
查看某个命名空间(如kube-system)下的所有发布信息
1 | kubectl get deployment kubernetes-dashboard -n kube-system |
查看资源信息
根据service名查看资源信息
1 | kubectl describe service/kubernetes-dashboard --namespace="kube-system" |
根据pod名称查看资源信息
1 | kubectl describe pods/kubernetes-dashboard-349859023-g6q8c --namespace="kube-system" |
2. 操作类命令
创建资源
1 | kubectl create -f <文件名.yaml> |
重建资源
1 | kubectl replace -f <文件名 [--force] |
删除资源
强制删除某个文件名命名节点
1 | kubectl delete -f <文件名> |
删除某个Pod命令节点
1 | kubectl delete pod <pod名> |
删除某个Replication Controller命名节点
1 | kubectl delete rc <rc名> |
删除某个服务命名节点
1 | kubectl delete service <service名> |
删除所有Pod节点
1 | kubectl delete pod --all |
动态伸缩操作
为Replcation Controller名称为nginx动态扩展5个服务节点
1 | kubectl scale rc nginx --replicas=5 |
为redis-slave部署5 个服务节点
1 | kubectl scale deployment redis-slave --replicas=5 |
为redis-slave-deployment.yaml部署脚本下的服务扩展2个节点
1 | kubectl scale --replicas=2 -f redis-slave-deployment.yaml |
进入Pod节点容器内进行操作
1 | kubectl exec -it redis-master-1033017107-q47hh /bin/bash |
Pod节点容器标签操作
增加Node节点label值
1 | kubectl label nodes node1 zone=north |
增加Pod的label值 [key]=[value]
1 | kubectl label pod <pod-name> role=master |
删除Pod的label值(使用“ - ”减号相连)
1 | kubectl label pod <pod-name> role- # role 是某个label的key |
修改Pod的label值
1 | kubectl label pod redis-master-1033017107-q47hh role=backend --overwrite |
滚动升级
配置文件滚动升级
1 | kubectl rolling-update redis-master -f redis-master-controller-v2.yaml |
命令升级
1 | kubectl rolling-update redis-master --image=redis-master:2.0 |
Pod版本回滚
1 | kubectl rolling-update redis-master --image=redis-master:1.0 --rollback |
更多常用命令