如何在 Ubuntu 18.04 上安装和配置 OpenShift Origin PaaS 服务器
本教程适用于这些操作系统版本
- Ubuntu 20.04(Focal Fossa)
- Ubuntu 18.04(仿生海狸)
在此页
- 要求
- 开始
- 安装 Docker CE
- 安装 OpenShift
- 启动 OpenShift 集群
- 在 OpenShift 上创建一个测试项目
- 访问 OpenShift Web 控制台
OpenShift 是由 Red Hat 开发的免费开源平台即服务。 OpenShift 用于在云环境中开发、托管和扩展应用程序。 OpenShift 支持多种语言,例如 Java EE6、Ruby、PHP、Python、Perl、MongoDB、MySQL 和 PostgreSQL。 OpenShift 是领先的云和企业 Kubernetes 应用程序平台,受到 1000 多家公司的信赖。 Openshift 允许您根据需要创建、修改和部署应用程序。
在本教程中,我们将学习如何在 Ubuntu 18.04 LTS 服务器上安装单节点 OpenShift Origin。
要求
- 一台运行 Ubuntu 18.04 且内存至少为 2 GB 的服务器。
- 在服务器上配置了根密码。
入门
在开始之前,请使用最新的稳定版本更新您的系统。您可以使用以下命令执行此操作:
apt-get update -y
apt-get upgrade -y
更新后,重新启动服务器以应用所有配置更改。
安装 Docker CE
OpenShift 在 Docker 容器上运行。因此,您需要在服务器上安装 Docker CE。默认情况下,最新版本的 Docker CE 在 Ubuntu 18.04 默认存储库中不可用。因此,您需要将 Docker CE 存储库添加到您的系统。
要安装 Docker CE,请使用以下命令下载并添加 Docker GPG 密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
添加后,使用以下命令添加 Docker CE 存储库:
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
接下来,使用以下命令更新并安装 Docker CE:
apt-get update -y
apt-get install docker-ce -y
安装后,使用以下命令检查 Docker CE 的状态:
systemctl status docker
您应该看到以下输出:
? docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2019-08-07 08:06:57 UTC; 33s ago
Docs: https://docs.docker.com
Main PID: 19052 (dockerd)
Tasks: 8
CGroup: /system.slice/docker.service
??19052 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.372084572Z" level=warning msg="Your kernel does not support swap memory limit"
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.372483783Z" level=warning msg="Your kernel does not support cgroup rt period"
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.372711298Z" level=warning msg="Your kernel does not support cgroup rt runtime"
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.373275104Z" level=info msg="Loading containers: start."
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.612047102Z" level=info msg="Default bridge (docker0) is assigned with an IP ad
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.712918131Z" level=info msg="Loading containers: done."
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.938574106Z" level=info msg="Docker daemon" commit=74b1e89 graphdriver(s)=overl
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.939341612Z" level=info msg="Daemon has completed initialization"
Aug 07 08:06:57 hitesh systemd[1]: Started Docker Application Container Engine.
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.989385865Z" level=info msg="API listen on /var/run/docker.sock"
完成后,您可以继续下一步。
安装 OpenShift
首先,您需要从 Git 存储库下载最新稳定版本的 OpenShift。您可以使用以下命令从 Git 存储库下载最新版本的 OpenShift:
cd /opt
wget https://github.com/openshift/origin/releases/download/v3.9.0/openshift-origin-client-tools-v3.9.0-191fece-linux-64bit.tar.gz
下载后,使用以下命令解压缩下载的文件:
tar -zvxf openshift-origin-client-tools-v3.9.0-191fece-linux-64bit.tar.gz
接下来,将目录更改为解压目录并使用以下命令将 oc 二进制文件复制到 /usr/local/bin 目录:
cd openshift-origin-client-tools-v3.9.0-191fece-linux-64bit
cp oc /usr/local/bin/
您现在可以使用以下命令验证 oc 的版本:
oc version
您应该看到以下输出:
oc v3.9.0+191fece
kubernetes v1.9.1+a0ce1bc657
features: Basic-Auth GSSAPI Kerberos SPNEGO
接下来,您需要将不安全的注册表添加到 docker 守护进程。您可以使用以下命令执行此操作:
nano /etc/docker/daemon.json
添加以下行:
{
"insecure-registries" : [ "172.30.0.0/16" ]
}
完成后保存并关闭文件。然后,重新启动 Docker 服务以应用配置更改:
systemctl restart docker
完成后,您可以继续下一步。
启动 OpenShift 集群
现在,通过指定您的 IP 地址或主机名来启动 OpenShift 集群,如下所示:
oc cluster up --public-hostname=38.143.69.14
服务器成功启动后,您应该会看到以下输出:
WARNING: Binding DNS on port 8053 instead of 53, which may not be resolvable from all clients.
Using Docker shared volumes for OpenShift volumes
Using public hostname IP 38.143.69.14 as the host IP
Using 38.143.69.14 as the server IP
Starting OpenShift using openshift/origin:v3.9.0 ...
OpenShift server started.
The server is accessible via web console at:
https://38.143.69.14:8443
You are logged in as:
User: developer
Password:
To login as administrator:
oc login -u system:admin
注意:将您的服务器 IP 地址替换为 38.143.69.14。
现在,使用以下命令登录到您的集群:
oc login -u system:admin
您应该看到以下输出:
Logged into "https://38.143.69.14:8443" as "system:admin" using existing credentials.
You have access to the following projects and can switch between them with 'oc project ':
default
kube-public
kube-system
* myproject
openshift
openshift-infra
openshift-node
openshift-web-console
Using project "myproject".
现在,您可以使用以下命令将项目更改为默认值:
oc project default
您应该看到以下输出:
Now using project "default" on server "https://38.143.69.14:8443".
您现在可以使用以下命令检查项目的状态:
oc status
您应该看到以下输出:
In project default on server https://38.143.69.14:8443
svc/docker-registry - 172.30.1.1:5000
dc/docker-registry deploys docker.io/openshift/origin-docker-registry:v3.9.0
deployment #1 deployed 3 minutes ago - 1 pod
svc/kubernetes - 172.30.0.1 ports 443->8443, 53->8053, 53->8053
svc/router - 172.30.106.228 ports 80, 443, 1936
dc/router deploys docker.io/openshift/origin-haproxy-router:v3.9.0
deployment #1 deployed 3 minutes ago - 1 pod
View details with 'oc describe /' or list everything with 'oc get all'.
在 OpenShift 上创建测试项目
OpenShift 现已安装并运行。接下来,使用开发者用户登录 OpenShift:
oc login
以开发人员/开发人员身份提供用户名和密码,然后按回车键。您应该看到以下输出:
Authentication required for https://38.143.69.14:8443 (openshift)
Username: developer
Password:
Login successful.
You have one project on this server: "myproject"
Using project "myproject".
现在,使用以下命令创建一个新的测试项目:
oc new-project dev --display-name="test - Dev" --description="Test Project"
您应该看到以下输出:
Now using project "dev" on server "https://38.143.69.14:8443".
You can add applications to this project with the 'new-app' command. For example, try:
oc new-app centos/ruby-22-centos7~https://github.com/openshift/ruby-ex.git
to build a new example application in Ruby.
接下来,使用以下命令在此项目上构建一个新的 Ruby 应用程序:
oc new-app centos/ruby-22-centos7~https://github.com/openshift/ruby-ex.git
现在,使用以下命令检查当前项目的状态:
oc status
您应该看到以下输出:
In project test - Dev (dev) on server https://38.143.69.14:8443
svc/ruby-ex - 172.30.16.207:8080
dc/ruby-ex deploys istag/ruby-ex:latest <- bc="" ruby-ex="" source="" builds="" https:="" github="" com="" openshift="" git="" on="" istag="" ruby-22-centos7:latest="" build="" 1="" running="" for="" 54="" seconds="" -="" c00ecd7:="" merge="" pull="" request="" 25="" from="" pvalena="" master="" honza="" horak="" hhorak="" redhat="">)
deployment #1 waiting on image or update
完成后,您可以继续下一步。
访问 OpenShift Web 控制台
现在,打开您的 Web 浏览器并输入 URL https://your-server-ip:8443。您将被重定向到以下页面:

提供您的开发者用户名和密码。然后,单击“登录”按钮。您应该在以下页面中看到 OpenShift 默认仪表板:

现在,单击右侧的“我的项目”。您应该会看到以下页面:

现在,单击测试 - 开发。您应该会在以下页面中看到已部署的 Ruby 应用程序:

恭喜!您已在 Ubuntu 18.04 服务器上成功安装和配置 OpenShift。您可以创建一个新项目并使用 OpenShift 部署您自己的应用程序。如果您有任何问题,请随时问我。不建议将本文用于生产用途。有关详细信息,您可以参考 OpenShift 上的官方文档。