k8s常用命令
1.查看所有 pod 列表
kubectl get pod
kubectl get pod -o wide
kubectl get pod -A
kubectl get pod -n tione-demo
-o wide 查看详细信息
-A 查看所有命名空间pods
-n 后跟 namespace
2.查看 rc和 service 列表
kubectl get rc,svc
kubectl get pod,svc -o wide
3.显示 Node 的详细信息
kubectl describe node 192.168.0.212
4.显示 pod 的详细信息, 特别是查看 pod 无法创建的时候的日志
kubectl describe pod <pod-name>
5.根据 yaml 创建资源, apply 可以重复执行,create 不行
kubectl create -f pod.yaml
kubectl apply -f pod.yaml
6.基于 pod.yaml 定义的名称删除 pod
kubectl delete -f pod.yaml
7.删除含某个 pod
kubectl delete pod pod_name -n tione-demo
8.删除所有 pod(慎用)
kubectl delete pod --all
9.查看 endpoint 列表
kubectl get endpoints
10.执行 pod 的 date 命令
kubectl exec <pod-name> -- date
kubectl exec <pod-name> -- bash
kubectl exec <pod-name> -- ping 10.24.51.9
11.通过bash获得 pod 中某个容器的TTY,相当于登录容器
kubectl exec -it <pod-name> -c <container-name> -- bash
eg:
kubectl exec -it redis-master-cln81 -- bash
12.查看容器的日志
kubectl logs <pod-name>
kubectl logs -f <pod-name> # 实时查看日志
kubectl log <pod-name> -c <container_name> # 若 pod 只有一个容器,可以不加 -c
kubectl logs -l app=frontend # 返回所有标记为 app=frontend 的 pod 的合并日志。
eg:
Kubectl logs pod/ms-348-6d7dd57c75-vnvkb -n demo-task
13.查看注释
kubectl explain pod
kubectl explain pod.apiVersion
14.查看节点 labels
kubectl get node --show-labels
15.重启 pod
kubectl get pod <POD名称> -n <NAMESPACE名称> -o yaml | kubectl replace --force -f
16.修改网络类型
kubectl patch service istio-ingressgateway -n istio-system -p '{"spec":{"type":"NodePort"}}'
17.伸缩 pod 副本
可用于将Deployment及其Pod缩小为零个副本,实际上杀死了所有副本。当您将其缩放回1/1时,将创建一个新的Pod,重新启动您的应用程序。
kubectl scale deploy/nginx-1 --replicas=0
kubectl scale deploy/nginx-1 --replicas=1
18.查看前一个 pod 的日志,logs -p 选项
kubectl logs --tail 100 -p user-klvchen-v1.0-6f67dcc46b-5b4qb > pre.log
19.获取所有节点
kubectl get nodes
20.节点状态变更为不可调度
kubectl cordon hostname
21.节点状态变更为可调度
kubectl uncordon hostname
22.修改镜像的依赖的基础镜像配置
kubectl edit deployment nginx -n tione-demo
23.获取configmap配置
kubectl get configmap -n ti-base
24.修改configmap配置
kubectl edit configmap -n ti-base ti-gateway-config
版权归原作者 令狐冲1008 所有, 如有侵权,请联系我们删除。