跳到主要内容

常用命令

以下是一些有用的命令,帮助你在 弹性容器集群 上使用 k8s 时更加得心应手
更多命令请参考k8s官方文档

申请和编辑清单

示例
---
kubectl apply -f [manifest.yaml] # 应用清单来部署资源或通过覆盖现有清单来应用更改
kubectl edit [resource_type] [resource_name/id] # 使用文本编辑器编辑资源清单

状态

示例
---
# 通用语法
kubectl get [资源类型]

# 部署
kubectl get deploys # 显示所有正在运行的部署
kubectl get deploy [deployment-name] # 显示特定的 Deployment

# 服务
kubectl get services #显示当前命名空间下的所有服务
kubectl get services --sort-by=.metadata.name #...按名称排序
kubectl get services --namespace [namespace] #...在特定的命名空间中

# PVC
kubectl get pvc # 显示活动的持久卷声明(存储卷)

# 虚拟服务器
kubectl get vs

# Pod
kubectl get pods # 显示当前命名空间中的所有 Pod
kubectl get pods -o wide #...更多信息
kubectl get pods --namespace [namespace] #...在特定的命名空间中

# 每个 Pod 请求的 CPU、GPU 和内存的数量。
# 注意:假设已安装 jq。
kubectl 获取 pods -o json | jq '.items[] | {名称:.metadata.name,cpu:.spec.containers[].resources.requests.cpu,gpu:.spec.containers[].resources.requests。"nvidia.com/gpu", 内存:.spec.containers[].resources.requests.memory}'

描述Pod并获取日志

示例
---
# 通用语法
kubectl describe [资源类型] [资源名称/id]

# Pod
kubectl describe pods # 显示所有 Pod 的详细信息
kubectl describe pod [pod_id] #...关于特定 Pod
kubectl describe pod [pod_id] -o yaml #...关于特定 Pod,采用 YAML 格式

# 日志
kubectl logs -f [pod_id] # 获取 pod 的流日志

删除资源

示例
---
kubectl delete [资源类型] [资源名称/id]
kubectl delete pod [pod_id] # 删除一个 pod,deployment 将启动一个新的
kubectl delete deploy [deployment_name] # 删除部署,不会重新启动

扩缩容

示例
---
kubectl scale --replicas=[数量] [资源类型]/[资源名称/id]

## 将部署扩展到 [number] 个副本
kubectl scale --replicas=[数量] deployment/[部署名称]

pod交互

示例
---
kubectl exec -it [pod_id] -- bash # 在你的 pod 中打开一个 bash shell