首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法运行kubenetes部署。

无法运行kubenetes部署。
EN

Stack Overflow用户
提问于 2019-12-01 08:08:37
回答 3查看 458关注 0票数 0

我将kubernetes配置为有3个图像(我的API、弹性搜索和Kibana)

这是我的deployment.yml文件

代码语言:javascript
复制
 apiVersion: apps/v1
kind: Deployment
metadata:
  name: tooseeweb-deployment
spec:
  selector:
    matchLabels:
      app: tooseeweb-pod
  template:
    metadata:
      labels:
        app: tooseeweb-pod
    spec: 
      containers:
      - name: tooseewebcontainer
        image: tooseewebcontainer:v1
        resources:
          limits:
            memory: "128Mi"
            cpu: "500m"
        ports:
        - containerPort: 80
      - name: elasticsearch
        image: docker.elastic.co/elasticsearch/elasticsearch:6.2.4
        resources:
          limits:
            memory: "128Mi"
            cpu: "500m"
        ports:
        - containerPort: 9200
      - name: kibana
        image: docker.elastic.co/kibana/kibana:6.2.4
        resources:
          limits:
            memory: "128Mi"
            cpu: "500m"
        ports:
        - containerPort: 5601

当我运行kubectl get deployments时,我看到了这个

它卡在0/1上准备好了。我试着重新启动码头,等等。这没什么用。我怎么才能解决这个问题?

更新

我运行kubectl describe pod并出现以下错误

代码语言:javascript
复制
Warning  FailedScheduling  19s   default-scheduler  0/1 nodes are available: 1 Insufficient cpu.

我怎么才能解决这个问题?

EN

回答 3

Stack Overflow用户

发布于 2019-12-01 11:37:21

删除每个豆荚中的这些资源限制。

代码语言:javascript
复制
resources:
   limits:
      memory: "128Mi"
      cpu: "500m"

如果希望限制资源,请在成功应用部署一次之后再执行。

票数 3
EN

Stack Overflow用户

发布于 2019-12-02 10:07:09

我看你在安排豆荚的时候遇到麻烦了。Kubernetes错误消息:0/1 nodes are available: 1 Insufficient cpu,意味着您没有足够的资源来运行您的吊舱。

每个容器都需要0.5个cpu核心,所以整个吊舱需要1.5个cpu核心才能运行。Kubernetes无法找到一个具有1.5CPU核心的节点,因此它无法调度。如果您想运行它,您需要降低向节点添加更多资源的限制/请求。

我还注意到,你把所有的容器放在同一个吊舱里,这不是一个好的做法。只要你能把每个容器放在单独的货舱里。这还将允许更好地在节点之间进行负载分配。把几个容器放在同一个吊舱里,只有当这些容器必须放在一起,而且没有其他方法。

还请注意,elasticsearch是一个java应用程序,因此将其内存限制在128 so可能会导致频繁重新启动,这对于数据库来说是非常不可取的行为。

票数 0
EN

Stack Overflow用户

发布于 2020-01-22 03:36:36

分析:

  • ,它取决于节点中已经排定的豆荚。
  • Kubernetes调度程序在调度新的吊舱时跟踪节点中的资源和这些节点中调度的豆荚(
  • ),调度程序试图确定一个节点,如果它无法找到一个具有该吊舱所请求的必要资源的节点,调度程序将无法调度该吊舱,并且该吊舱将被困在等待状态

中。

解决办法:

减少分配给现有豆荚的资源/删除不必要的pods

  • Increase,即工作节点

中可用的资源

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59123709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档