k8s 常用命令

Kubectl 命令行方式控制k8s

命令格式:kubectl [command]  [TYPE]  [NAME]  [flags]

1.创建资源对象.

kubectl create -f my-service.yaml -f my-rc.yaml  -n {namespace}

2.查看资源对象

查看所有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}

3.描述资源对象

显示Node的详细信息:

kubectl describe nodes  -n {namespace}

显示pod的详细信息:

kubectl describe pods  -n {namespace}

显示由RC管理的pod的信息:

kubectl describe pods  -n {namespace}

4.删除资源对象

基于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}

5.执行容器的命令

执行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} 

6.查看容器的日志

查看容器输出到stdout的日志
kubectl logs   -n {namespace}

跟踪查看容器的日志,相当于tail –f命令的结果:
kubectl logs –f  -c   -n {namespace}

7.重启

7.1 有yaml文件的重启方式

kubectl replace --force -f xxx.yaml

7.2 没有yaml文件重启方式

  • 使用scale命令
kubectl scale deployment {pod} --replicas=0 -n {namespace}
kubectl scale deployment {pod} --replicas=1 -n {namespace}
  • 直接删除重启
kubectl delete replicaset {rs_name} -n {namespace}

此方式只针对使用的deployment对象,并且重启策略为可以重启,则可以尝试删除重启 

  • 使用 "-o yaml"参数导出Pod模板并重建模板(推荐)
kubectl get pod {podname} -n {namespace} -o yaml | kubectl replace --force -f -
  • 使用restart 命令( Kubernetes 1.15以上版本)
kubectl rollout restart deployment {pod}  -n {namespace}

常用 kubectl 操作示例_架构师_IT虾米网

Kubernetes(K8S)中文文档_Kubernetes中文社区

你可能感兴趣的:(kubernetes,kubernetes,docker,容器)