kubectl 是 k8s 的命令行工具,用于管理 k8s 集群

安装


安装最新版本

  1. apt-get install kubernetes-client

安装指定版本

  1. curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.13.0/bin/linux/amd64/kubectl
  2. chmod +x ./kubectl
  3. sudo mv ./kubectl /usr/local/bin/kubectl

E: Unable to locate package kubectl
sudo apt-get update


配置


添加k8s集群配置文件,将集群配置文件复制到 /.kube/config 中,集群配置文件 kubeconfig.json 在可云厂商管理平台中获取

  1. mkdir -p $HOME/.kube
  2. mv -f kubeconfig.json $HOME/.kube/config

常用命令


创建资源


根据 yaml 文件创建资源,可以是 Deployment,也可以是 Pod。

  1. kubectl create -f app.yaml

根据镜像创建资源

  1. kubectl run --image=k8s.gcr.io/echoserver:1.10 --port=8080

更新资源

  1. kubectl apply -f app.yaml

查看资源

  1. # 获取当前 Context 下所有的 资源 Deployment/Pod/Service
  2. kubectl get deployments/pods/services
  3. # 获取指定 Deployment/Pod/Service 的状态
  4. kubectl describe deployment/pod/service <deployments/pods/services name>
  5. # 查看详细信息
  6. kubectl get pods -o wide

日志相关


查看正在运行的容器日志

  1. kubectl logs <Pod名称> <Pod中的容器名称>

查看上一次 pod 运行日志 (常用于 pod restart 的时候 定位问题)

  1. kubectl logs --previous <Pod名称> <Pod中的容器名称>

调试指定容器命令

  1. kubectl exec <Pod名称> -c <Pod中的容器名称> -- <任意命令> <命令参数列表...>

查看pod 环境变量

  1. kubectl exec <Pod名称> -- printenv | grep SERVICE

查看service后端资源

  1. kubectl get endpoints <Service名称>

查看集群信息

  1. kubectl cluster-info


查看集群服务状态

  1. kubectl get componentstatus

官网命令详述 https://kubernetes.io/docs/reference/kubectl/overview/