栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

从零开始,在IBM Cloud的ROKS上构建Nginx

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从零开始,在IBM Cloud的ROKS上构建Nginx

日文版请参考ゼロから始めよう、ROKS on IBM CloudでのNginxサーバ構築 - Qiita

虽然目前关于构建Nginx的web server文章有很多,但是在ROKS(Red Hat OpenShift on IBM Cloud)上构建的文章却寥寥无几。因此,这次介绍从0开始构建IBM Cloud VPC环境,到在ROKS上创建cluster,再在此基础上部署Nginx Pod 的方法。

本篇文章是针对没有任何IBM Cloud及container的使用经验的初学者,完全没有经验也OK

需要注意的是本文截图是日语系统界面,因此可能会有稍许不同,但内容和步骤都是一样的

本教程一共分为四步:

Step1 创建VPC环境
Step2 构建ROKS
Step3 登录ROKS cluster
Step4 创建Nginx serve并访问

前提

在开始之前请确认以下配置已经完成 

  • IBM Cloud账号
  • IBM Cloud CLI https://cloud.ibm.com/docs/cli?topic=cli-getting-started 
  • OC CLI:Getting started with the OpenShift CLI - OpenShift CLI (oc) | CLI tools | OpenShift Container Platform 4.7 
  • 下方的command已经被下载
  $ install vpc-infrastructure
  $ ibmcloud plugin install container-service
  $ ibmcloud plugin install container-registry
  $ ibmcloud plugin install observe-service

本篇文章所示的内容均在Windows10环境下完成

Step1 创建VPC环境


首先,登录到IBM Cloud。

此处介绍通过API key登录的方法,其他的方法也同样可以正常登录到IBM Cloud,请选择自己喜欢的方法登录。

$ ibmcloud login --apikey  -g  -r jp-tok

例:$ ibmcloud login --apikey  -g rg-common -r jp-tok

API エンドポイント: https://cloud.ibm.com
認証中です...
OK

Tips:

请参考下方链接了解获取API key的方法

IBM Docs

在step1当中,需要设置vpc、subnet、public gateway(ROKS用security group)、cloud object storage(保存data)、四个service,接下来进行逐一介绍。

这次将在一个IBM Cloud当中设置3个zone,并在每个zone当中设置一个ROKS的subnethepublic gateway。环境配置的架构如下图所示。

具体的配置信息如下表所示

service名称数量设置
IBM Cloud: Zone3jp-tok-1, jp-tok-2, jp-tok-3 (region: Japan)
IBM Cloud: recourse group1rg-common
VPC1vpc-common
Subnet3subnet-common1, subnet-common-2, subnet-common-3
Public Gateway3pgw-common-tok1, pgw-common-tok2, pgw-common-tok3
IBM Cloud Object Storage1objectstorage-common
 1.1 VPC
##创建vpc
$ ibmcloud is vpc-create    
例:$ ibmcloud is vpc-create vpc-common
1.2 subnet
##创建subnet
$ ibmcloud is subnet-create   --zone jp-tok-1 --ipv4-address-count ADDR_COUNT --resource-group-name  

例:$ ibmcloud is subnet-create subnet-common1 r022-xxxxxxx --zone jp-tok-1 --ipv4-address-count 256 --resource-group-name rg-common

因为需要3个subnet,所以重复输入上方command分别构建3个subnet

1.3 public gateway

接下来继续构建public gateway。有两个方法可以创建public gateway

方法一: 通过GUI(IBM Cloud console画面)直接创建。

方法二: 通过CLI,输入command创建。

这里介绍通过CLI创建的方法。

##创建public gateway
$ ibmcloud is public-gateway-create   
例:$ ibmcloud is public-gateway-create pgw-common-tok1 r022-xxxxxxxx jp-tok-1

##将创建好的public gateway与subnet链接起来
$ ibmcloud is subnet-update  --public-gateway-id 
例:$ ibmcloud is subnet-update 02f7-xxxxxx --public-gateway-id r022-393xxxxxxxxxxxxx

存在3个subnet,所以重复上面command创建三次

1.4 object storage

最后来创建object storage。通过GUI来创建的话非常的简单,因此这里介绍直接在IBM Cloud页面上创建的方法。

点击右上方的「catalogue」→输入「object storage」→选择「object storage」

这里的object sotrage是为了保存VPC环境里ROKS的数据,使用light plan的话不能满足这一目的,因此最低最低也得选择standard plan。

 

Step2 创建ROKS

在GUI上创建即可。点击右上方的「catalogue」→输入「openshift」→选择「Red Hat OpenShift on IBM Cloud」

 ROKS的配置信息如下表

service名称设置
cluster nameROKS-common
InfrastructureVPC
Cloud object storageobjectstorage-common
Zonejp-tok-1, jp-tok-2, jp-tok-3
Worker pool1
Subnetsubnet-common1, subnet-common-2, subnet-common-3
Security Groupdefault SG

设置完成之后点击右下方保存即可。

Step3 登录ROKS cluster

接下来尝试通过CLI登录到创建好的ROKS cluster里面。

登录的方法有以下两种

方法一,在IBM Cloud的IAM当中创建API key,通过API key来登录到ROKS cluster(参考资料IBM Cloud Docs)

##使用API key登录
$ oc login -u apikey -p 

方法二、在openshift web console中复制登录command,粘贴到CLI当中。

如下方图,选择「OpenShift Web console」→右上的「IAM#ACCOUNT_NAME」→「Copy Login Command」→「Display Token」→「Log in with this token」,即复制了登录用command。粘贴到CLI当中,回车。

 

按照下图的command顺序 

# amdin权限获取kubeconfig
$ ibmcloud oc cluster config --cluster  --admin
例:$ ibmcloud oc cluster config --cluster roks-common --admin

#下载kubeconfigを
$ ibmcloud oc cluster config -c 
例:$ ibmcloud oc cluster config -c roks-common

# 登录到ROKS cluster
#方法1(通过API key):
$ oc login -u apikey -p 
Login successful.

You have access to 67 projects, the list has been suppressed. You can list all projects with 'oc projects'

Using project "default".

#方法2(复制好的登录command):
$ oc login --token= --server=
Logged into "XXXXXXX" as "IAM#xxxxxxx" using the token provided.

You have access to 67 projects, the list has been suppressed. You can list all projects with 'oc projects'

Using project "default".

 登录完成后,向security group追加ROKS用的设置。

# 获得SecurityGroup的ID
$ ibmcloud is security-groups

# 向SecurityGroup追加ROKS的rule
$ ibmcloud is security-group-rule-add  inbound tcp --port-min 30000 --port-max 32767
$ ibmcloud is security-group-rule-add  inbound udp --port-min 30000 --port-max 32767

例:$ ibmcloud is security-group-rule-add r022-xxxxxx inbound tcp --port-min 30000 --port-max 32767
例:$ ibmcloud is security-group-rule-add r022-xxxxxx inbound udp --port-min 30000 --port-max 32767

 创建新的project

首次创建:
$ oc new-project  --description="" --display-name="
例:$ oc new-project test-common --description="this is a test page" --display-name="test-common"

从第二次登录开始,需要手动输入project的名称,指定需要使用的project
$ oc project 
例:$ oc project test-common
Now using project "test-common" on server "https://xxxxxx".

以上就是登录ROKS cluster的方法,以及登录到project的流程。

Step4 创建Nginx serve并访问

最后一布创建Nginx server并且成功访问它。

首先登录到project当中后,创建Nginx server。

#Pod作成、Service作成
$ oc run nginx --image=nginx --restart=Never --expose --port=80

#将Service与Route链接
$ oc expose service nginx
OR ($ oc expose svc nginx)

#确认信创建的Route的信息
$ oc get route
NAME    HOST/PORT                  PATH   SERVICES   PORT   TERMINATION   WILDCARD
nginx   xxxxxxxxxxxxxxxxx                  nginx      80                   None

从openshfit web console里「developer」→「topology」→pod,点击右上方的小箭头,确认nginx。

如果出现了下方的界面则表示成功创建完成Nginx

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/298321.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号