0

我一直在尝试在我的系统上设置 Knative 开发环境。但是每次我部署 Istio 时,pilot 都处于挂起状态,我发现它是因为资源耗尽。

我遵循了 Knative 文档中的基本设置指南。即服务/blob/master/DEVELOPMENT.md

现在,如果我根据它安装和部署 istio,资源会耗尽,并且 istio-pilot 由于没有可用的节点而保持挂起状态。

如果我尝试与安装指南中给出的相同,即 https://knative.dev/docs/install/installing-istio/

它工作正常,直到后来我重新启动集群时,api-server 才停止,根据我通过搜索发现的内容,这也是由于缺乏资源。

那么 Knative 设置的具体要求是什么?

我使用的是 8 核处理器和 32GB RAM 的系统。

我分配错了吗?据我所知,我们必须为单节点 kubernetes 结构提供至少 8Gb 内存和 6 个 CPU(这就是我正在使用的)。Istio 和 Knative 部署使用的资源如何?

我检查了节点中的资源和限制,并将限制设置为 0%。

我已经尝试在 minikube 配置中限制 CPU 和 RAM,然后在启动 minikube 时使用 --cpu 和 --memory ,但输出保持不变。

Minikube 开始于:minikube start

     Creating virtualbox VM (CPUs=6, Memory=8192MB, Disk=20000MB) ...
     Preparing Kubernetes v1.15.2 on Docker 18.09.8 ...
     Pulling images ...

ISTIO 部署者:

    kubectl apply -f ./third_party/istio-1.2-latest/istio-crds.yaml
    while [[ $(kubectl get crd gateways.networking.istio.io -o 
    jsonpath='{.status.conditions[?(@.type=="Established")].status}') != 
    'True' ]]; do
    echo "Waiting on Istio CRDs"; sleep 1
    done
    kubectl apply -f ./third_party/istio-1.2-latest/istio.yaml

飞行员仍然待定,在描述了我们得到的吊舱后:

Events:
  Type     Reason            Age                  From               Message
  ----     ------            ----                 ----               -------
  Warning  FailedScheduling  71s (x4 over 5m12s)  default-scheduler  0/1 nodes are available: 1 Insufficient cpu.

输出kubectl describe node nodename

Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  Resource           Requests          Limits
  --------           --------          ------
  cpu                5105m (85%)       13800m (229%)
  memory             3749366272 (45%)  9497290Ki (117%)
  ephemeral-storage  0 (0%)            0 (0%)
Events:
  Type    Reason                   Age                From                  Message
  ----    ------                   ----               ----                  -------
  Normal  Starting                 19m                kubelet, minikube     Starting kubelet.
  Normal  NodeHasSufficientMemory  19m (x8 over 19m)  kubelet, minikube     Node minikube status is now: NodeHasSufficientMemory
  Normal  NodeHasNoDiskPressure    19m (x8 over 19m)  kubelet, minikube     Node minikube status is now: NodeHasNoDiskPressure
  Normal  NodeHasSufficientPID     19m (x7 over 19m)  kubelet, minikube     Node minikube status is now: NodeHasSufficientPID
  Normal  NodeAllocatableEnforced  19m                kubelet, minikube     Updated Node Allocatable limit across pods
  Normal  Starting                 18m                kube-proxy, minikube  Starting kube-proxy.

设置应该已经成功,因为我也使用 RequestQuotas 和 LimitRange 设置了限制。但没有任何工作。

我在这里做错了什么?

4

1 回答 1

2

你肯定没有足够的资源。仅对于Minikube上的Istio,您需要:

16384 MB 内存和 4 个 CPU

加上上面没有包含的对Knative的要求,你会发现你提供的资源是不够的。

于 2019-08-28T11:23:00.330 回答