kubectl 使用

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

安装

安装最新版本

apt-get install kubernetes-client

安装指定版本

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

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

配置

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

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

常用命令

创建资源

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

kubectl create -f app.yaml

根据镜像创建资源

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

更新资源

kubectl apply -f app.yaml

查看资源

# 获取当前 Context 下所有的 资源 Deployment/Pod/Service
kubectl get deployments/pods/services

# 获取指定 Deployment/Pod/Service 的状态
kubectl describe deployment/pod/service <deployments/pods/services name>

# 查看详细信息
kubectl get pods -o wide

日志相关

查看正在运行的容器日志

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

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

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

调试指定容器命令

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

查看 pod 环境变量

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

查看 service 后端资源

kubectl get endpoints <Service名称>

查看集群信息

kubectl cluster-info

查看集群服务状态

kubectl get componentstatus

官网命令详述

目录