kubectl命令

查看所有 pod 列表, -n 后跟 namespace, 查看指定的命名空间

kubectl get pod
kubectl get pod -n kube

查看 RC 和 service 列表, -o wide 查看详细信息

kubectl get rc,svc
kubectl get pod,svc -o wide
kubectl get pod -o yaml

显示 Node 的详细信息

kubectl describe node 192.168.0.212

显示 Pod 的详细信息, 特别是查看 pod 无法创建的时候的日志

kubectl describe pod
eg:
kubectl describe pod redis-master-tqds9

根据 yaml 创建资源, apply 可以重复执行,create 不行

kubectl create -f pod.yaml
kubectl apply -f pod.yaml

基于 pod.yaml 定义的名称删除 pod

kubectl delete -f pod.yaml

删除所有包含某个 label 的pod 和 service

kubectl delete pod,svc -l name=

kubectl delete namespace xxx

删除所有 Pod

kubectl delete pod --all

查看 endpoint 列表

kubectl get endpoints

kubectl get namespace

执行 pod 的 date 命令

kubectl exec -- date
kubectl exec -- bash
kubectl exec -- ping 10.24.51.9

通过bash获得 pod 中某个容器的TTY,相当于登录容器

kubectl exec -it -c -- bash
eg:
kubectl exec -it redis-master-cln81 -- bash
例如user-deployment:
kubectl --namespace=default exec -it user-deployment-54469dd57-vg87g --container user -- sh

获取所有k8s资源类型

kubectl api-resources

获取所有k8s自定义资源申明

kubectl get crd

获取所有k8s控制器资源

kubectl get controllerrevisions -A

获取所有wehhook

kubectl get mutatingwebhookconfigurations

启动一个nginx容器

kubectl run nginx --image=nginx --port=80

运行一个在前台运行的 busybox 单个实例,如果退出不会重启。

kubectl run busybox -it --image=busybox --env="POD_NAMESPACE=default" --restart=Never

调试镜像,通常“--command -- sleep 3600”启动参数可用于

#容器启动sleep 3600秒,即容器运行1小时,
kubectl run busybox -it --image=busybox --command -- sleep 3600
#格式
# run NAME --image=image [--env="key=value"] [--port=port] [--replicas=replicas] [--dry-run=bool] [--overrides=inline-json] [--command] -- [COMMAND] [args...]

通过在default命名空间下创建deploymen启动一个nginx pod

kubectl create deployment nginx --image=nginx:1.22 --port=80 -n default

查看容器的日志

kubectl logs
kubectl logs -f # 实时查看日志

posted @ 2020-03-23 00:06  Eric小星  阅读(730)  评论(0编辑  收藏  举报