k8s相關(guān)命令:
查看所有 pod 列表, -n 后跟 namespace, 查看指定的命名空間
kubectl get pod
kubectl get pod -n kube
kubectl get pod -o wide
查看 RC 和 service 列表, -o wide 查看詳細(xì)信息
kubectl get rc,svc
kubectl get pod,svc -o wide
kubectl get pod <pod-name> -o yaml
顯示 Node 的詳細(xì)信息
kubectl describe node 192.168.0.212
顯示 Pod 的詳細(xì)信息, 特別是查看 pod 無法創(chuàng)建的時(shí)候的日志
kubectl describe pod <pod-name>
eg:
kubectl describe pod redis-master-tqds9
根據(jù) yaml 創(chuàng)建資源, apply 可以重復(fù)執(zhí)行,create 不行
kubectl create -f pod.yaml
kubectl apply -f pod.yaml
基于 pod.yaml 定義的名稱刪除 pod
kubectl delete -f pod.yaml
刪除所有包含某個(gè) label 的pod 和 service
kubectl delete pod,svc -l name=<label-name>
刪除所有 Pod
kubectl delete pod --all
查看 endpoint 列表
kubectl get endpoints
執(zhí)行 pod 的 date 命令
kubectl exec <pod-name> -- date
kubectl exec <pod-name> -- bash
kubectl exec <pod-name> -- ping 10.24.51.9
通過bash獲得 pod 中某個(gè)容器的TTY,相當(dāng)于登錄容器
kubectl exec -it <pod-name> -c <container-name> -- bash
eg:
kubectl exec -it redis-master-cln81 -- bash
查看容器的日志
kubectl logs <pod-name>
kubectl logs -f <pod-name> # 實(shí)時(shí)查看日志
kubectl log <pod-name> -c <container_name> # 若 pod 只有一個(gè)容器,可以不加 -c
kubectl logs -l app=frontend # 返回所有標(biāo)記為 app=frontend 的 pod 的合并日志。
查看注釋
kubectl explain pod
kubectl explain pod.apiVersion
查看節(jié)點(diǎn) labels
kubectl get node --show-labels
重啟 pod
kubectl get pod <POD名稱> -n <NAMESPACE名稱> -o yaml | kubectl replace --force -f -
修改網(wǎng)絡(luò)類型
kubectl patch service istio-ingressgateway -n istio-system -p '{"spec":{"type":"NodePort"}}'
伸縮 pod 副本
可用于將Deployment及其Pod縮小為零個(gè)副本,實(shí)際上殺死了所有副本。當(dāng)您將其縮放回1/1時(shí),將創(chuàng)建一個(gè)新的Pod,重新啟動(dòng)您的應(yīng)用程序。
kubectl scale deploy/nginx-1 --replicas=0
kubectl scale deploy/nginx-1 --replicas=1
查看前一個(gè) pod 的日志,logs -p 選項(xiàng)
kubectl logs --tail 100 -p user-klvchen-v1.0-6f67dcc46b-5b4qb > pre.log
其他可以參考: k8s學(xué)習(xí)筆記之三:k8s快速入門 - 百衲本 - 博客園 (cnblogs.com)