常用命令
以下是一些有用的命令,帮助你在 弹性容器集群
上使用 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/[部署名称]