我一直在尝试在我的系统上设置 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 设置了限制。但没有任何工作。
我在这里做错了什么?