RedHat OpenShift QuickStart

openshift 提供了命令行工具和web可视化页面,这些工具通过REST API去和openshift交互

1. 探索命令行

2. 探索web console

3. 部署一个docker镜像

4. 扩展应用实例

5. 路由HTTP请求

6. 从源代码构建

1. 探索命令行

通过OC命令去访问openshift的Command Line Interface(CLI)

登陆:

$ oc login

使用whoami查看当前用户:

$ oc whoami
developer
$

2. 探索web console

使用web console去登陆:

创建项目:

创建完成后,如下会显示项目的一些基本信息:

在导航栏最上面我们可以看见当前角色是admin,点击administer,可以切换不同的角色,从而展示不同的页面:

下面是开发人员视角:

3. 部署一个docker镜像

由于这是一个空项目,拓扑图里有这些选项:

From Git, Container Image, From Catalog, From Dockerfile, YAML, Database;

下面从容器镜像(Container Image)选项去创建一个应用:

在将来,要返回这个方法菜单去给你的项目添加新的内容,你可以点击左侧导航栏的 +Add

在Image Name里输入如下镜像信息(官方文档提供)

docker.io/openshiftroadshow/parksmap-katacoda:1.2.0

然后点击搜索按钮,会显示镜像的相关信息

此时应用名称(Application Name)会自动填充为parksmap-katacoda-app,名称(Name)会填充为parksmap-katacoda

默认情况下,通过容器镜像的方式创建会自动给你的应用创建一个路由,这个路由可以使你的应用可以被一个公开的URL访问

为了后续学习路由的创建,这里先把取消复选框的选择。

点击蓝色的create按钮,此时会为你创建你选择的应用

这就是在openshift上部署容器镜像的所有步骤

4. 扩展应用实例

先点击应用的圈,在点击overview,在点击上箭头

为了验证我们是否成功扩展应用为两个,点击旁边的resource,会显示有两个副本,显示如下:

总的来说,扩展应用就是如此简单。应用扩展可以非常快的发生是因为openshift只是启动存在镜像的新的实例,特别是该镜像已经缓存在节点上的情况下。

应用程序自愈:

Openshift的deploymentConfigs会不断监控,去查看pods是否以期待的数量运行,如果实际状态偏离的期望状态,openshift将会修复这种情况。

点击pods列表中其中一个名字,再点击Actions,选择Delete Pod,在弹出的对话框中选择delete:

此时,会发现出现了三个pods:

我们删除的那个pod此时正在终止(Terminating)(正在被清理),一个新的pod会被创建出来,因为openshift总是确保一个pod挂掉,就会创建出一个新的pod去顶替死掉的位置。

缩放容量:

使我们应用减少为一个实例,点击侧面导航栏Topology返回拓扑视图,点击我们创建的应用,点击overview,点击向下箭头缩放到一个实例。

5. 路由HTTP请求

Services在openshift中提供内部抽象和负载均衡。但是有时候在openshift之外的客户(用户、系统、设备等)访问在openshift中的应用是通过路由层,控制这个资源的对象就是一个路由。

默认的openshift路由器(HAProxy)使用传入的http请求头来确定代理连接的位置。你可以将路由设置为安全的,例如TLS。如果你想要你的服务扩展一下,能够被外界所访问,那么你就需要设置一个路由。

在之前教程中提到,通过容器镜像的方式去创建去部署应用会默认给你创建了一个路由,因为我们取消勾选了这个选项,所以我们现在手动去创建一个路由。

创建一个路由

幸运的是,创建一个路由是一个非常简单的过程。首先,在develper下拉菜单中选择administer视图,确保你的myproject项目在项目列表中是勾选的。其次,在左边导航栏点击networking,然后routes。

点击create route 按钮

在name中输入parksmap-katacoda,Service选择parksmap-katacoda,目标端口选择8080,其他设置默认。

当你点击create后,这个路由将被创建并展示在路由详情页。

你同样可以在开发人员视图下看见这个路由。现在切换回开发人员视图,进入到拓扑视图,在parksmap-katacoda可视化中,你应该在圆圈的右上角看见一个图标。这个就代表路由,如果你点击它,它就会在你浏览器中打开这个URL。

当你点击了路由图标,你会在浏览器中看见下面这个:

6. 从源代码构建

在这章节中,我们将要去部署ParksMap应用的后端服务。后端服务将会通过REST API提供各个国家公园的数据,ParksMap前端应用将会去查询这些数据并显示在你浏览器的交互式地图上。

背景:Source-to-Image(S2I)

在之前的章节中,学会了通过存在的容器镜像去部署应用。在这个章节中,将会学如何直接通过远程Git仓库中保存的源代码来部署应用。这将使用Source-to-Image(S2I)工具来完成。

S2I的文档从以下方面描述它:

Source-to-Image(S2I)是一个构建可复制容器镜像的工具。S2I通过将源代码注入到容器镜像中,组装后的新镜像包含了构建器镜像和已经构建完成的源代码,产生的结果就可以与docker run一起使用了。S2I支持增量构建,可以重用之前下载的依赖和之前构建的工具包。

openshift支持S2I,并将其作为构建机制之一(除了从Dockerfile和自定义构建容器镜像之外)。

关于S2I的详细资料可以在 OpenShift S2I documentation 和 GitHub project respository for S2I 去查看。

关于S2I,你只需要记住唯一关键点是它从你的源代码构建处理你的容器镜像。

部署应用代码

这章要部署的应用叫做nationalparks-katacoda,它是一个python应用,将会通过REST API以JSON格式返回世界各地主要国家公园的坐标。

源代码可以在这个GitHub仓库查看:https://github.com/openshift-roadshow/nationalparks-katacoda

构建这个应用你需要在开发人员视图下点击左侧导航栏的+Add。确保你的web console打开并且你所在的项目叫做myproject,这次不是使用容器镜像,而是使用From Catalog,将会出现以下界面:

在语言一节中,在受支持的语言列表中选python,当提供Django + Postgres SQL、Django + Postgres SQL (Ephemeral)和Python选项时,选择Python选项并单击Create Application。

使用以下Git代码仓库:

https://github.com/openshift-roadshow/nationalparks-katacoda

输入完成后,在输入框外面点击一下,name输入框就会出现nationalparks-katacoda

其他选项默认。

点击屏幕右侧create按钮会回到拓扑视图,点击nationalparks-katacoda 应用你会看见resource里,你会看见在builds部分里你的构建正在运行。

这是S2I在git仓库中拉取源码创建镜像然后将要运行的步骤。

点击构建的View Logs链接,你可以看见S2I下载运行应用程序,准备应用程序和创建镜像所需要的所有python包。

当构建完成后返回拓扑视图,查看正在部署的镜像和正在启动的应用。当你在构建日志中看见Push successful时,构建就完成了。

nationalparks-katacoda组建左下角绿色勾标记表示构建已经完成,圆圈从淡蓝色变为蓝色,后端应用nationalparks-katacoda已经被部署。

现在,回到浏览器中的ParksMap前端应用程序,应该能够看到显示的国家公园的位置。如果浏览器中还没有打开应用程序,请转到拓扑视图,并单击parksmap-katacoda应用程序右上角的图标,以在浏览器中打开URL。

原文:https://learn.openshift.com/introduction/getting-started/

原文地址:https://www.cnblogs.com/tiandz/p/12267433.html

时间: 2024-11-04 22:32:19

RedHat OpenShift QuickStart的相关文章

redhat openshift 跳转

网址: https://openshift.redhat.com/ OpenShift免费套餐的限制是:最多15PV/s,有3个512MB内存的应用,月流量在50K以下. 可以绑米,可惜的是,需要代理访问了 说明:50K=50000IP/人次访问 1K=1000IP/人安装些程序,访问后台时,http访问强制跳转为https访问,用.htaccess强制https跳转到http,设置如下 RewriteEngine on RewriteCond %{HTTP:X-Forwarded-Proto}

(转载)openstack学习指南

OpenStack Hacker养成指南 朱 荣泽     |     2013. 8. 8 [toc wrapping="right"] 0 阅读指南 希望本文能够解开你心中萦绕已久的心结,假如是死结,请移步到 https://wiki.openstack.org/wiki/Main_Page 学习OpenStack其实就是学习各种Python库的过程. 把OpenStack的设计原则贴在你的墙上. https://wiki.openstack.org/wiki/BasicDesig

一组图表告诉你,AWS为什么刚刚启动了K8S 容器项目

K8S技术社区正式上线啦!快快关注找到志同道合的小伙伴! 2017年3月,AWS与K8S(Kubernetes)创业公司Heptio联合启动了K8S Quick Start,Heptio将帮助AWS解决方案架构团队设计K8S参考架构. 此前,K8S已被应用于Azure.DC/OS以及几乎所有知名的云平台,而Amazon Web Services(AWS)是唯一的例外.Amazon在2016年的re:Invent大会上发布AWS Blox的时候还曾阻击K8S.Blox是一个开源项目,支持用户在Am

个人开发者的免费资源合集

阅读目录 Alternate container hosting 源码存储,团队合作,代码质量,持续集成,安全,部署管理,日志,监控,异常处理,搜索,邮件,CDN,PaaS,IaaS,SSO,tracker,存储,多媒体. free-for-dev Developers and Open Source authors now have a massive amount of services offering free tiers but it can be hard to find them

OpenStack部署工具总结

目前感觉比较简单直观的部署工具有RDO.devstack.Fuel等: 1. RDO https://openstack.redhat.com/Quickstart REDHAT出品,支持Redhat.CentOS等系统.RDO基于puppet部署各个组件,支持单节点或多节点部署,在Redhat系操作系统上使用非常方便. 2. devstack http://docs.openstack.org/developer/devstack/ 这个应该是最老的Openstack部署工具了,可以用来快速部

OpenStack 安装笔记

提起openstack的安装,整个人感觉都不好了,搞了将近一周时间也没能搞定Redhat.CentOS 6.5系统的安装,最后换到CentOS7.0上一次安装成功.为了以后少走弯路,记下自己愚钝的脚步. 第一次安装openstack,拿到的服务器是Redhat6.5的系统,手里还有一张CentOS6.5的系统光盘.开发人都很懒,能用的就用,有问题就一根筋的钻研下去(我不是个好的开发人员,到最后没能有将问题解决),这样就开始不幸的安装历程. 第一个头疼的问题是Redhat上配置yum源,文章上讲配

Packstack单节点一键安装openstack

本文介绍在单节点上用packstack一键安装openstack的方法,其中节点的硬件架构为x86_64(必须是64位,32位不可以).操作系统为centos7.官方的安装文档地址为https://openstack.redhat.com/Quickstart. 1 安装软件库 更新安装的软件包,命令如下: sudo yum update -y 建立RDO库,命令如下: sudo yum install -y https://rdo.fedorapeople.org/rdo-release.rp

60款开源云应用【Part 1】(60 Open Source Apps You Can Use in the Cloud)

60款开源云应用[Part 1](60 Open Source Apps You Can Use in the Cloud) 本篇翻译自http://www.datamation.com/open-source/60-open-source-apps-you-can-use-in-the-cloud-1.html,原作者Cynthia Harvey,翻译者hcbbt,转载请注明. 本人对云服务也是没有了解太多,希望能借助这篇文章涨涨姿势,顺便练习一下英文,如果有翻译错误希望能指出,欢迎交流- 如

RedHat6.5 安装OpenStack all in one-RDO方式

OpenStack是一个开源的云平台,由各个组件协同工作,安装非常复杂.RedHat有个关于Openstack的项目RDO,可以简化安装过程,但是如果真按RDO所说的三步去安装,发现安装过程中还是有很多报错,不得不查询Openstack的官方文档.本来准备在新出的RHEL7上安装的,发现缺少libselinux(epel7)的附加包,有可能还没编译.所有选择RedHat6.5作为底层操作系统. 安装环境准备 1.硬件环境: DELL R410  四核4G内存,双网卡(本实例中只用到一个网卡),2