K8S命令行工具Kubectl的实用命令

三 08 五月 2019
  • 安装配置Kubectl:
    • 下载kubectl,地址:https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl
    • 下载完成后放置到本地$Path路径
    • 修改本地$HOME/.kube/config,设置集群地址,凭证等信息
  • 用kubectl获取k8s集群的基本信息:

    $ kubectl get pods # 查看default命名空间下的pods
    $ kubectl get pods -n test # 查看test命名空间下的pods
    $ kubectl get deployments # 查看default命名空间下的部署
    $ kubectl get services # 查看default命名空间下的服务
    $ kubectl get pods -o=jsonpath="{range .items[*]}{'\n'}{.metadata.name}{':\t'}{range .spec.containers[*]}{.image}{', '}{end}{end}" # 查看pods里container的镜像和版本
    
  • 查看资源情况:

    $ kubectl top pod # 查看pods的cpu和memory资源占用
    $ kubectl top node # 查看节点的cpu和memory资源占用和百分比
    
  • 调试和进入Pod:

    $ kubectl describe pod ${pod_name} # 查看某个pod的信息(例如在pod有问题可以debug)
    $ kubectl exec -it ${pod_name} bash # 进入某个pod的某个容器进行调试
    
  • 通过端口转发调试接口:

    $ kubectl port-forward pods/pod_name 30000:30000 -n cicd
    $ curl 127.0.0.1:30000
    
  • 通过kube-api代理调试接口:

    $ kubectl proxy
    $ curl http://localhost:8001/api/v1/namespaces/default/pods/${pod_name}[:port_name]/proxy/
    
  • Deployments手动伸缩Pods:

    $ kubectl scale deployment <deployment_name> --replicas=3
    $ kubectl scale deployment <deployment_name> --replicas=0
    
  • Deployments添加和删除HorizontalPodScaler,自动伸缩pod:

    $ kubectl autoscale deployment <deployment_name> -name <hpa_name> --min=1 --max=8 --cpu-percent=50
    $ kubectl get hpa
    $ kubectl delete hpa <hpa_name>
    
  • 切换kubectl配置文件

    $ kubectl config use-context <config-name>
    

分类: Kubernetes 标签: kubernetes docker kubectl