在GKE上,我创建了一个具有1个节点和n1-standard-1实例类型(vCPU:1,RAM:3.75 GB)的集群。群集的主要目的是托管一个在默认名称空间上具有3个Pod(mysql,后端和前端)的应用程序。我可以毫无问题地部署mysql。之后,当我尝试部署后端时,它只是保持“ Pending”状态,表示没有足够的CPU可用。该消息非常冗长。
所以我的问题是,使用1个CPU单元不能运行3个Pod吗?我要降低成本,并让这些Pod使用相同的CPU。有可能实现这一目标吗?如果是,那怎么办?
答案 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"
一个人将需要有关您的部署的更多信息,以更详细的方式回答您的查询。请考虑提供相同的内容。