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