Google Kubernetes引擎(GKE)CPU /吊舱

时间:2018-07-18 22:07:10

标签: kubernetes google-kubernetes-engine

在GKE上,我创建了一个具有1个节点和n1-standard-1实例类型(vCPU:1,RAM:3.75 GB)的集群。群集的主要目的是托管一个在默认名称空间上具有3个Pod(mysql,后端和前端)的应用程序。我可以毫无问题地部署mysql。之后,当我尝试部署后端时,它只是保持“ Pending”状态,表示没有足够的CPU可用。该消息非常冗长。

所以我的问题是,使用1个CPU单元不能运行3个Pod吗?我要降低成本,并让这些Pod使用相同的CPU。有可能实现这一目标吗?如果是,那怎么办?

2 个答案:

答案 0 :(得分:1)

错误消息“待处理”不是很有意义。你能跑

kubectl get pods

获取您的广告连播名称,然后再次运行

kubectl describe pod {podname}

然后您将获得有关错误消息的提示。

通过这种方式,您可以在一个CPU中运行3个Pod。

答案 1 :(得分:0)

是的,单个CPU单元上可以有多个Pod,也可以是3个。
如果要管理内存资源,请考虑放置约束,例如in the official docs中所述的约束。下面是一个示例。

apiVersion: v1
kind: Pod
metadata:
  name: frontend
spec:
  containers:
  - name: db
    image: mysql
    env:
    - name: MYSQL_ROOT_PASSWORD
      value: "password"
    resources:
      requests:
        memory: "64Mi"
        cpu: "250m"
      limits:
        memory: "128Mi"
        cpu: "500m"

一个人将需要有关您的部署的更多信息,以更详细的方式回答您的查询。请考虑提供相同的内容。