• 1.Pod 启动时一直处在 Container Creating状态
  • 2.Pod数量限制
  • 3. 无法弹性伸缩
  • 4. Docker Hub 下载镜像

1.Pod 启动时一直处在 Container Creating状态

The pod has been stuck in the pending state for more than five minutes

  1. 检查Pod内部能不能访问网络,Creating状态的Pod是不能通过终端访问的,如果你的服务器还有其他的Pod,看看启动是不是正常,从终端连进去试试网络。
  2. 检查Pod 是否用到了Persistent Volume 需要创建
  3. 可能是Persistent Volume无法访问到,如果是网络服务,检查相关存储的状态,以及防火墙状态。如果在防火墙上设置允许某些服务访问网络而不是直接指定端口,那防火墙必须保持开启状态。

2.Pod数量限制

我使用All-In-One的运行方式,发现最多只能使用20个pod,查阅官方文档发现可以设置每个node最大的pod数量
https://docs.openshift.org/latest/admin_guide/manage_nodes.html#admin-guide-max-pods-per-node

因为我是直接解压运行,所以node-config.yaml位置是在:
/home/openshift/openshift.local.config/node-example.com/node-config.yaml

但是我按照文档的说法做了以下设置 没有生效

kubeletArguments:max-pods:- "250"

试了很多遍,发现要同时设置pods-per-core参数才可以,会取其中的最小值

kubeletArguments:pods-per-core:- "150"max-pods:- "250"

注意一定要按照官方文档的缩进格式,用空格缩进

3. 无法弹性伸缩

要想实现AutoScaler 除了必须设置pod的Resources Limit,设置AutoScaler条件之外,还得安装度量组件(Metrics)才行。

安装Metrics参见 https://github.com/openshift/origin-metrics

先把这个项目用git clone下来。

官方建议通过ansible安装,但由于我是在单服务器上解压Binary压缩包配置运行的,ansible用起来比较麻烦,就采用官方不推荐的旧办法了,通过安装一个Pod (metrics-deployer)自动化部署。

参见https://github.com/openshift/origin-metrics/blob/master/docs/deployer_installation.adoc

按照文档操作很简单,但是里面有坑,metrics-deployer运行时有版本错误,我需要说一下过程,不过这篇文档是事后写的,有点忘了,大致是这个样子。

有一个命令是 oc process -f metrics.yaml …是用来安装metrics-deployer的。
这个oc process 貌似也出错了,记不清了,我按照《开源容器云平台OpenShift》这本书所说,运行下面这个命令
别忘了把apps.example.com改成你自己的域名

oc new-app --template=metrics-deployer-templete \
-p HAWKULAR_METRICS_HOSTNAME=hawkular-metrics.apps.example.com \
-p IMAGE_PREFIX=openshift/origin \
-p USE_PERSISTENT_STORAGE=false

运行并查看pod日志发现运行脚本有错误,命令不存在,考虑到从docker hub下载的是最新版本, 也就是3.9版,而我的openshift 版本是3.7.1,大概是因为需要安装对应版本的才行。

好在 oc process -f metrics.yaml 后面还有参数,可以指定版本号:IMAGE_VERSION。需要上面的命令最后加上

-p IMAGE_VERSION=xxx \

参数说明 https://github.com/openshift/origin-metrics/blob/master/docs/deployer_configuration.adoc#deployer-template-parameters

去Docker Hub找 openshift/origin-metrics-deployer ,不好意思我已经忘了用的哪个版本了,应该是v3.7.0-rc.0 或者 v3.7.2 。运行后提示的错误是:命令的参数不存在,坑就在这,我试了7、8个版本没有一个能用的。

下载这个docker镜像的速度是很慢的,推荐使用镜像加速,使用镜像的方法在下一节。

解决办法是通过origin 的控制台 找到 openshift-infra 这个项目的pod: “metrics-deployer”,从debug in terminal 进入ssh,通过dockerfile找到命令运行脚本,删除缺少的参数,最后在这个调试环境的ssh运行一下,metrics就会被部署上。

当然,上面这还有一个前提,你得能看到openshift-infra 这个项目,如果看不到,通过下面的方式给当前用户受个cluster-admin权限(我是用的admin用户)

oc adm policy add-cluster-role-to-user cluster-admin admin

最后再补充一个坑,按照文档一切设置好之后,你会发现在控制台的deployments里,current usage获取不到,因此还是不能实现AutoScaler

这应该是个bug,不支持部署类型是DeploymentConfig 的容器,换成ReplicationController就行了。3.7版本是这样,这个bug 貌似 3.9 就修复了。

4. Docker Hub 下载镜像

DaoCloud 有个镜像加速器非常好用,首先要注册一个daocloud帐号,就会拿到这个加速的地址 xxxx.m.daocloud.io

https://www.daocloud.io/mirror

编辑配置文件 /etc/sysconfig/docker ,然后重启docker

OPTIONS 的后面加上 --registry-mirror=http://xxxxxx.m.daocloud.io

OpenShift Origin 疑难杂症相关推荐

  1. OpenShift Origin中的Kubernetes Spark运算符(第1部分)

    本系列有关Radanalytics.io的Kubernetes Spark运算符 OpenShift起源 . 它是一个开源的运营商来管理 Apache Spark集群和应用程序. 为了在OpenShi ...

  2. openshift/origin工作记录(9)——openshift结合jenkins实现持续集成

    最近工作为基于jenkins.Openshift实现持续集成. 由于只给了我一周的时间,这里先记录一下V1.0版的实现过程. 集成jenkins 参考<openshift/origin学习记录( ...

  3. 在MacPro上安装 openshift origin

    mac 上安装openshift origin 最近在研究openshift,但是官网的online环境申请人数太多,比较慢,再一个就是官网已经暂停注册.所以才在本机搞个origin玩玩. " ...

  4. openshift origin 用户权限创建

    接上一篇的安装完成后需要创建用户,才能登陆平台.安装的时候我采用了在Ansible的hosts文件中定义了HTPasswd文件作为后端的用户身份信息库.安装程序自动生成了数据文件/etc/origin ...

  5. openshift/origin学习记录(12)——离线安装集群

    最近在公司申请了三台云主机,并在这三台云主机上搭建openshift集群.由于公司的云主机是内网环境,无法连接外网,所以需要离线安装.记录过程如下: 搭建本地yum服务器 在之前在线安装的opensh ...

  6. Openshift Origin开发日记 1 - 10

    1.下载https://github.com/openshift/origin/releases 并且上传到360云盘 /Postgraduate/云计算/Openshift Origin相关/安装包 ...

  7. Openshift Origin开发日记 11-20

    11. 至此,登录一个用户,比如test,add to project点击之后,可以发现现在可以选择template了 12.根据下面的视频链接,测试下 https://access.redhat.c ...

  8. 在Windows上运行OpenShift Origin

    OpenShift是这些天为我提供的最有趣的PaaS. 不仅因为它是Red Hat产品系列的一部分,而且还因为它包含了我对现代PaaS的期望. 它支持基于映像的部署(使用Docker-Images), ...

  9. openshift origin v1.5.0安装

    主要解决v1.5.0 rpm找不到问题.安装过程好像报错 origin-docker-excluder-1.5.0...... openshift origin1.5.0安装, openshift-a ...

  10. 在Mac上安装 openshift origin 3.6.0 新版本 oc 版本oc v3.9.0+191fece

    具体安装请参考前面文章,这里只将1.4换成3.6 本文主要是通过版本更新,将1.4版本换成3.6: 用Docker和Origin版本要对应 To run an OpenShift cluster lo ...

最新文章

  1. java 正则 cpu 100_这六个原因真的可以使Java应用程序的CPU使用率飙升到100%吗?...
  2. 参与的论文即将中顶会,但我发现了数学错误,到底该不该说?
  3. 使用Exceptionless记录日志
  4. 谁在为网易云音乐2亿用户的即时通讯保驾护航?
  5. python 图片旋转角度_OpenCV获取图像的旋转角度
  6. IJ-java-com-util-common:
  7. RTP协议全解析(H264码流和PS流)(转)
  8. 小数在内存中的存储表示
  9. ASP.NET.CORE发布后启动网站出现500.19-0x8007000d错误解决方法
  10. 操作系统上机作业--使用系统调用实现mycp
  11. 华为发布智能数据解决方案FusionData,重定义数据基础设施,释放数据价值
  12. JAVA项目实训struts2_JavaWeb学习:Struts2与Spring的IOC练习
  13. iOS Crash文件的解析
  14. Android开发从0到1学习(知识+路线)
  15. PowerBuilder2017
  16. web前端工程师眼中的母亲节
  17. VS code Could not establish connection to IP 解决方法
  18. Kindle DXG的一些使用方法及技巧
  19. [Canvas系列]Canvas简单线条绘制_02
  20. 【抖音小程序】抖音小程序避免onClose重复回调 解决广告重复回调

热门文章

  1. phpQuery的用法
  2. CrossApp V1.0.1,新增动画与连接 wifi 功能
  3. php时间戳转换为天数,js时间戳转换为日期和天数转换为时间戳
  4. PyTorch使用LMDB数据库加速文件读取
  5. C#编写刷机工具exe替代adb敲命令行操作
  6. java下载神奇宝贝mega,神奇宝贝mega
  7. 分布式数据库BLP安全模型介绍
  8. 谈谈核心网UPF和开放
  9. LaTeX实战经验:如何插入程序代码
  10. mysql绿色版安装、局域网访问配置