首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在梅索斯的库伯内特斯,没有合适的报价

在梅索斯的库伯内特斯,没有合适的报价
EN

Stack Overflow用户
提问于 2016-03-06 01:51:28
回答 2查看 223关注 0票数 0

我按照此页上的说明来构建和部署Mesos。我在一个Ubuntu可信任的VM上做了这件事,它有一个Mesos主和一个从机。下面的命令是我用来运行Mesos的命令。

代码语言:javascript
复制
$ mesos-master --ip=10.0.2.15 --work_dir=/var/lib/mesos --log_dir=/var/log/mesos
$ mesos-slave --master=10.0.2.15:5050 --containerizers=docker,mesos 

所有三个测试都在没有错误消息的情况下完成。

然后我跟随此页部署Kubernetes。在构建Kubernetes-Mesos之后,我使用以下命令部署Kubernetes。

代码语言:javascript
复制
$ export KUBERNETES_MASTER_IP=10.0.2.15
$ export KUBERNETES_MASTER=http://${KUBERNETES_MASTER_IP}:8888
$ docker run -d --hostname $(uname -n) --name etcd \
  -p 4001:4001 -p 7001:7001 quay.io/coreos/etcd:v2.0.12 \
  --listen-client-urls http://0.0.0.0:4001 \
  --advertise-client-urls http://${KUBERNETES_MASTER_IP}:4001

etcd容器正在运行。

代码语言:javascript
复制
$ export PATH="$(pwd)/_output/local/go/bin:$PATH"
$ export MESOS_MASTER=10.0.2.15:5050
$ cat <<EOF >mesos-cloud.conf
  [mesos-cloud]
        mesos-master        = ${MESOS_MASTER}
  EOF
$ km apiserver \
  --address=${KUBERNETES_MASTER_IP} \
  --etcd-servers=http://${KUBERNETES_MASTER_IP}:4001 \
  --service-cluster-ip-range=10.10.10.0/24 \
  --port=8888 \
  --cloud-provider=mesos \
  --cloud-config=mesos-cloud.conf \
  --secure-port=0 \
  --v=1 >apiserver.log 2>&1 &
$ km controller-manager \
  --master=${KUBERNETES_MASTER_IP}:8888 \
  --cloud-provider=mesos \
  --cloud-config=./mesos-cloud.conf  \
  --v=1 >controller.log 2>&1 &
$ km scheduler \
  --address=${KUBERNETES_MASTER_IP} \
  --mesos-master=${MESOS_MASTER} \
  --etcd-servers=http://${KUBERNETES_MASTER_IP}:4001 \
  --mesos-user=root \
  --api-servers=${KUBERNETES_MASTER_IP}:8888 \
  --cluster-dns=10.10.10.10 \
  --cluster-domain=cluster.local \
  --v=2 >scheduler.log 2>&1 &

日志似乎是正确的,没有错误消息。

kubectl get services显示:

代码语言:javascript
复制
NAME             CLUSTER-IP    EXTERNAL-IP   PORT(S)     AGE
k8sm-scheduler   10.10.10.50   <none>        10251/TCP   1m
kubernetes       10.10.10.1    <none>        443/TCP     2m

然后我创建了一个简单的nginx,kubectl get pods总是显示它是挂起的。kubectl get events显示:

代码语言:javascript
复制
FIRSTSEEN   LASTSEEN   COUNT     NAME      KIND      SUBOBJECT   TYPE      REASON             SOURCE                 MESSAGE
2m          47s        9         nginx     Pod                   Warning   FailedScheduling   {default-scheduler }   Error scheduling: No suitable offers for pod/task

指的是什么意思不适合为pod/任务提供服务?在Mesos的日志中,我看到Mesos不断向Kubernetes框架发送报价,但一直被拒绝。如果我运行mesos-execute --master=10.0.2.15:5050 --name=echo --command="echo 'hello world'" --containerizer=docker --docker_image=ubuntu:14.04,它可以部署带有"mesos-“前缀的Docker映像并运行命令。因此,码头集装箱似乎工作正常。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-07 16:29:02

库伯内特斯-梅索斯将拒绝报价,原因有几个:

  1. 报价中的资源不能满足启动吊舱任务所需的最低限度。在给定的从属服务器上启动的第一个结束符任务除了需要荚任务资源之外,还需要执行程序资源。
  2. 报价中的资源与调度程序不兼容。如果启动框架、启动任务、终止调度程序进程,然后使用不同的标志重新启动调度程序,则会发生这种情况;一些调度器标志会影响用于启动执行器的命令行。纠正这种情况的最快方法是删除任何正在运行的豆荚,并手动杀死已经在从服务器上运行的不兼容的executor进程(Es)。
  3. apiserver注册表中的节点信息存在问题。

您运行的是什么版本的k8sm?师父?您可以尝试增加调度程序日志的详细性(--v=3),然后将调度程序日志的副本转储到pastebin或其他类似的文件中,以便进行分析。在没有日志的情况下,通常很难排除这种情况。

票数 1
EN

Stack Overflow用户

发布于 2016-03-06 11:17:28

听起来,即将到来的报价并不能满足库伯内特斯的需求。您必须找出您的框架需要什么,然后将其与被拒绝的提供程序进行比较。

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

https://stackoverflow.com/questions/35822152

复制
相关文章

相似问题

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