Kubectl 命令行方式控制k8s
命令格式:kubectl [command] [TYPE] [NAME] [flags]
kubectl create -f my-service.yaml -f my-rc.yaml -n {namespace}
查看所有pod列表:
kubectl get pod -n {namespace}
kubectl get pods --all-namespaces
kubectl get pods -o wide -n kubernetes-dashboard
查看rc和service列表:
kubectl get rc,service -n {namespace}
查看namespace:
kubectl get namespaces
查看全部的资源:
kubectl get all -n {namespace}
显示Node的详细信息:
kubectl describe nodes -n {namespace}
显示pod的详细信息:
kubectl describe pods -n {namespace}
显示由RC管理的pod的信息:
kubectl describe pods -n {namespace}
基于pod.yaml定义的名称删除pod:
kubectl delete –f pod.yaml -n {namespace}
删除所有包含某个label的pod和service:
kubectl delete pods,services –l name= -n {namespace}
删除所有pod:
#kubectl delete pods --all -n {namespace}
执行pod 的whoami命令,默认使用pod的第一个容器执行:
kubectl exec whoami -n {namespace}
指定pod中某个容器执行whoami命令:
kubectl exec -c whoami -n {namespace}
通过bash获得pod中某个容器的TTY,相当于登录容器:
kubectl exec –it -c /bin/bash -n {namespace}
查看容器输出到stdout的日志
kubectl logs -n {namespace}
跟踪查看容器的日志,相当于tail –f命令的结果:
kubectl logs –f -c -n {namespace}
kubectl replace --force -f xxx.yaml
kubectl scale deployment {pod} --replicas=0 -n {namespace}
kubectl scale deployment {pod} --replicas=1 -n {namespace}
kubectl delete replicaset {rs_name} -n {namespace}
此方式只针对使用的deployment对象,并且重启策略为可以重启,则可以尝试删除重启
kubectl get pod {podname} -n {namespace} -o yaml | kubectl replace --force -f -
kubectl rollout restart deployment {pod} -n {namespace}
常用 kubectl 操作示例_架构师_IT虾米网
Kubernetes(K8S)中文文档_Kubernetes中文社区