OpenShift Origin 疑难杂症
- 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
- 检查Pod内部能不能访问网络,Creating状态的Pod是不能通过终端访问的,如果你的服务器还有其他的Pod,看看启动是不是正常,从终端连进去试试网络。
- 检查Pod 是否用到了Persistent Volume 需要创建
- 可能是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 疑难杂症相关推荐
- OpenShift Origin中的Kubernetes Spark运算符(第1部分)
本系列有关Radanalytics.io的Kubernetes Spark运算符 OpenShift起源 . 它是一个开源的运营商来管理 Apache Spark集群和应用程序. 为了在OpenShi ...
- openshift/origin工作记录(9)——openshift结合jenkins实现持续集成
最近工作为基于jenkins.Openshift实现持续集成. 由于只给了我一周的时间,这里先记录一下V1.0版的实现过程. 集成jenkins 参考<openshift/origin学习记录( ...
- 在MacPro上安装 openshift origin
mac 上安装openshift origin 最近在研究openshift,但是官网的online环境申请人数太多,比较慢,再一个就是官网已经暂停注册.所以才在本机搞个origin玩玩. " ...
- openshift origin 用户权限创建
接上一篇的安装完成后需要创建用户,才能登陆平台.安装的时候我采用了在Ansible的hosts文件中定义了HTPasswd文件作为后端的用户身份信息库.安装程序自动生成了数据文件/etc/origin ...
- openshift/origin学习记录(12)——离线安装集群
最近在公司申请了三台云主机,并在这三台云主机上搭建openshift集群.由于公司的云主机是内网环境,无法连接外网,所以需要离线安装.记录过程如下: 搭建本地yum服务器 在之前在线安装的opensh ...
- Openshift Origin开发日记 1 - 10
1.下载https://github.com/openshift/origin/releases 并且上传到360云盘 /Postgraduate/云计算/Openshift Origin相关/安装包 ...
- Openshift Origin开发日记 11-20
11. 至此,登录一个用户,比如test,add to project点击之后,可以发现现在可以选择template了 12.根据下面的视频链接,测试下 https://access.redhat.c ...
- 在Windows上运行OpenShift Origin
OpenShift是这些天为我提供的最有趣的PaaS. 不仅因为它是Red Hat产品系列的一部分,而且还因为它包含了我对现代PaaS的期望. 它支持基于映像的部署(使用Docker-Images), ...
- openshift origin v1.5.0安装
主要解决v1.5.0 rpm找不到问题.安装过程好像报错 origin-docker-excluder-1.5.0...... openshift origin1.5.0安装, openshift-a ...
- 在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 ...
最新文章
- java 正则 cpu 100_这六个原因真的可以使Java应用程序的CPU使用率飙升到100%吗?...
- 参与的论文即将中顶会,但我发现了数学错误,到底该不该说?
- 使用Exceptionless记录日志
- 谁在为网易云音乐2亿用户的即时通讯保驾护航?
- python 图片旋转角度_OpenCV获取图像的旋转角度
- IJ-java-com-util-common:
- RTP协议全解析(H264码流和PS流)(转)
- 小数在内存中的存储表示
- ASP.NET.CORE发布后启动网站出现500.19-0x8007000d错误解决方法
- 操作系统上机作业--使用系统调用实现mycp
- 华为发布智能数据解决方案FusionData,重定义数据基础设施,释放数据价值
- JAVA项目实训struts2_JavaWeb学习:Struts2与Spring的IOC练习
- iOS Crash文件的解析
- Android开发从0到1学习(知识+路线)
- PowerBuilder2017
- web前端工程师眼中的母亲节
- VS code Could not establish connection to IP 解决方法
- Kindle DXG的一些使用方法及技巧
- [Canvas系列]Canvas简单线条绘制_02
- 【抖音小程序】抖音小程序避免onClose重复回调 解决广告重复回调