OpenShift是红帽公司的一个开源容器应用平台,以docker作为容器引擎,以k8s模型编排、调度容器。在两者的基础上,红帽公司提供了一套更加完善的容器应用管理平台。可以部署在物理机,虚拟机,公有云,私有云等各种环境下。
功能(有很多基于k8s的概念):
s2i:基于git或svn的代码快速生成应用容器镜像;
deployment:快熟部署容器镜像,配置过程可高度定制,保证容器运行持续可靠。
service:提供访问容器集群统一端口,实现负载均衡。
route:定义内外网络连通,简单连通外网,保障内网集群安全。
pv:持久存储卷,支持多种存储类型,解决容器持久化存储问题。
webconsole:提供web端管理页面,方便管理。
优点:
支持快速部署,实现敏捷开发。
提供动态伸缩功能,将过程简化至只需更改一个值。
管理资源,为容器分配合适的资源,提高资源利用率。
有对应的平台自动化运维工具,大大减少运维负担。
在大规模集群时提供方便高效的管理方法。
有完善的结构,部署以后能快速地测试应用。
丰富的接口,提供给各种插件与二次开发使用
上手难度:是基于docker和k8s的开源项目,有丰富的社区技术支持。还有关于openshift中文参考书。
总结来说,openshift提供了一套完善的docker应用平台解决方案,如果公司需要部署并管理docker容器集群,我相信openshift是一款非常高效方便的方案。
(1)oc 命令
1. 登录:oc login
2. 创建新项目:oc new-project ProjectName (ProjectName为新建的项目名)
3. 查看当前项目下的pod: oc get pod
4. 查看project: oc get project
5. 进入一个project: oc project ProjectName
6. 将一个服务映射出域名: oc expose svc svcname –hostname=xxx,将一个服务器映射成域名,支持http/https协议,svcname可以不写默认与dcname相同
7. 查看pod日志: oc logs -f podname
8. 查看pod详细状态信息: oc describe pod podname
9. 删除,获取,编辑: oc get/delete/edit pod/bc/dc/svc/route
10. 查看域名映射: oc get route
11. 进入openshift中运行的pod: oc rsh podname bash
12. 获取token: oc whoami -t
oc login 登录系统
oc get project 查询项目列表
oc project <project_name> 切换到项目
oc get pod 查询容器列表
oc logs <project_name> 查询容器日志输出
oc rsh <project_name> 到容器执行命令
oc rsync <project_name> :<dir> <dir> 同步文件
oc <动作> -h 查看帮助
oc edit dc <name> 编辑dc兑现
oc delete dc <name> 删除对象
oc new-app tomcat/tomcat 部署容器应用
oc create -f <file_name> 创建对象
oc rollout latest dc /<dc_name> 发布应用
oc rollback <dc_name> -to-version=1 回滚应用
oc start-build <build_config_name> 触发器构建