Openshift稳定版本安装数量7

时间:2018-04-08 21:04:16

标签: openshift openshift-origin

有人可以告诉我哪个最新版本的openshift-ansible(origin)足够稳定,可以安装在Centos 7上吗?

我正在寻找成功的多节点安装体验以及所使用的任何提示。

由于

3 个答案:

答案 0 :(得分:0)

最新的稳定版本是3.9

git clone https://github.com/openshift/openshift-ansible
cd openshift-ansible
git checkout release-3.9

并按照Advanced Installation指南

进行操作

https://docs.openshift.org/latest/install_config/install/advanced_install.html

答案 1 :(得分:0)

现在正在运作。

启用 openshift_repos_enable_testing = true 后,我没有在deploy_cluster playbook之前运行必备的playbook,这就是为什么它仍然没有找到错误的原因包。

答案 2 :(得分:0)

我相信 v3.11.0 版本的 OpenShift OKD/Origin(当时是最新的 3.x 版本)可以满足您的需求。在这个答案中是将 OpenShift OKD/Origin 安装为单节点集群服务的完整路线图

OKD website 转过来的一些关于 OpenShift OKD/Origin 的信息...

<块引用>

为 Red Hat 提供支持的 Kubernetes 社区分发 开班。围绕 OCI 容器包装的核心构建和 Kubernetes 容器集群管理,OKD 也通过 应用程序生命周期管理功能和 DevOps 工具。 OKD 提供完整的开源容器应用平台。

OKD 是一个针对持续优化的 Kubernetes 发行版 应用程序开发和多租户部署。 OKD添加 Kubernetes 之上的开发人员和以运营为中心的工具,以实现 快速的应用程序开发,易于部署和扩展,以及 小型和大型团队的长期生命周期维护。 OKD 是一个 Red Hat OpenShift 的同级 Kubernetes 发行版。

OKD 嵌入 Kubernetes 并通过安全性和其他功能对其进行扩展 综合概念。 OKD 在 github 中也称为 Origin 和 在文档中。

如果您正在寻找企业级支持或有关 合作伙伴认证,红帽还提供红帽 OpenShift 容器 平台。

所以我建议从 OpenShift OKD/Origin 开始,使用下面的路线图在 CentOS 7 上安装。然后你可以探索其他可能性(例如“多节点”)。

加:


  • OpenShift Origin (OKD) - 开源容器应用平台:

OpenShift 是由红帽开发的一系列容器化软件产品。它的旗舰产品是 OpenShift 容器平台——一个本地平台即服务,围绕 Docker 容器构建,由 Kubernetes 在红帽企业 Linux 的基础上编排和管理。该家族的其他产品通过不同的环境提供这个平台:OKD 作为社区驱动的上游(类似于 Fedora 是 Red Hat Enterprise Linux 上游的方式),OpenShift Online 是作为软件即服务提供的平台,以及 Openshift Dedicated是作为托管服务提供的平台。

OpenShift 控制台具有面向开发人员和管理员的视图。管理员视图允许监控容器资源和容器健康、管理用户、与操作员合作等。开发人员视图面向在命名空间内使用应用程序资源。 OpenShift 还提供了一个 CLI,该 CLI 支持 Kubernetes CLI 提供的操作的超集。

OpenShift Origin (OKD) 是 OpenShift(非企业级)的社区驱动版本。这意味着您可以免费且几乎没有任何麻烦地托管自己的 PaaS(平台即服务)。

[Ref(s).: https://en.wikipedia.org/wiki/OpenShift , https://www.openshift.com/blog/openshift-ecosystem-get-started-openshift-origin-gitlab ]

  • 在 CentOS 7 上设置本地 OpenShift Origin (OKD) 集群

此设置中的所有命令都必须以“root”用户身份执行。

  • 更新 CentOS 7

正在更新您的 CentOS 7 服务器...

yum -y update
  • 安装和配置 Docker

OpenShift 需要主机上的 docker 引擎来运行容器。使用以下命令在 CentOS 7 上安装 Docker 和其他依赖项...

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum -y install git-core
yum -y install wget
yum -y install yum-utils
yum -y install device-mapper-persistent-data
yum -y install lvm2
yum -y install docker-ce
yum -y install docker-ce-cli
yum -y install containerd.io

将登录的用户帐户添加到 docker 组...

usermod -aG docker $USER
newgrp docker

创建必要的文件夹...

mkdir "/etc/docker"
mkdir "/etc/containers"

使用不安全的注册表参数(“172.30.0.0/16”)为 Docker 守护进程创建“registries.conf”文件...

tee "/etc/containers/registries.conf" << EOF
[registries.insecure]
registries = ['172.30.0.0/16']
EOF

使用配置创建“daemon.json”文件...

tee "/etc/docker/daemon.json" << EOF
{
   "insecure-registries": [
     "172.30.0.0/16"
   ]
}
EOF

我们需要重新加载 systemd 并在编辑完配置后重新启动 Docker 守护进程...

systemctl daemon-reload
systemctl restart docker

启用 Docker 在启动时启动...

systemctl enable docker

然后在您的系统上启用“IP 转发”...

tee "/etc/sysctl.d/ip_forward.conf" << EOF
net.ipv4.ip_forward=1
EOF
sysctl -w net.ipv4.ip_forward=1
  • 配置防火墙。

添加必要的防火墙权限...

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=8443/tcp --permanent
firewall-cmd --zone=public --add-port=53/udp --permanent
firewall-cmd --zone=public --add-port=8053/udp --permanent
firewall-cmd --reload

注意:允许容器访问 OpenShift 主 API (8443/tcp)、DNS (53/udp) 端点并添加其他权限。

  • 下载 OpenShift

从 GitHub 下载 OpenShift 二进制文件并将它们移动到“/usr/local/bin/”文件夹...

wget https://github.com/openshift/origin/releases/download/v3.11.0/openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz
tar -zxvf openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz
cd ./openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit
mv ./oc /usr/local/bin/
mv ./kubectl /usr/local/bin/
rm -rf ./openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit*

验证 OpenShift 客户端实用程序的安装...

oc version
  • 启动 OpenShift Origin (OKD) 本地集群

现在通过运行以下命令来引导本地单服务器 OpenShift Origin 集群...

oc cluster up --public-hostname="<YOUR_SERVER_IP_OR_NAME>"

... 或...

oc cluster up --public-hostname="$(ip route get 1 | awk '{print $NF;exit}')"

上面这个会动态获取本地机器的主IP地址。

[Ref(s)。: https://stackoverflow.com/a/25851186/3223785 ]

提示:如果出现错误,请尝试执行命令 oc cluster down 并重复上述命令。

注意:硬件配置不足(主要是 CPU 和 RAM)会导致上述命令超时。

重要提示:如果未通知参数 --public-hostname="<YOUR_SERVER_IP_OR_NAME>",则对 URL <YOUR_SERVER_IP_OR_NAME> 处的网络服务(“网络控制台”)的调用将被重定向到本地 IP “127.0 .0.1”。

[Ref(s).: https://github.com/openshift/origin/issues/19699 , https://github.com/openshift/origin/issues/19699#issuecomment -854069124,https://github.com/openshift/origin/issues/20726, https://github.com/openshift/origin/issues/20726#issuecomment-498078849,https://hayardillasenlared.blogspot.com/2020/06/instalar-openshift-origin-ubuntu.html,https://www。 a5idc.net/helpview_526.html、https://thecodeshell.wordpress.com/、https://www.techrepublic.com/article/how-to-install-openshift-origin-on-ubuntu-18-04/ <强>]

上面的命令将...

  1. 启动 OKD Cluster 监听接口通知 (<YOUR_SERVER_IP_OR_NAME>:8443);
  2. 在“/console”(<YOUR_SERVER_IP_OR_NAME>:8443) 处启动侦听所有接口的网络控制台;
  3. 启动 Kubernetes 系统组件;
  4. 配置注册表、路由器、初始模板和默认项目;
  5. OpenShift 集群将作为一体化容器在 Docker 主机上运行。

安装成功后,您应该会得到类似于下面的输出...

[...]
Login to server ...
Creating initial project "myproject" ...
Server Information ...
OpenShift server started.

The server is accessible via web console at:
    https://<YOUR_SERVER_IP_OR_NAME>:8443

You are logged in as:
    User:     developer
    Password: <any value>

To login as administrator:
    oc login -u system:admin

提示:

  1. 在设置 Openshift Origin 时可以应用许多选项。使用 oc cluster up --help;
  2. 查看它们
  3. 使用自定义选项的命令模型...

模型

oc cluster up --public-hostname="<PUBLIC_HOSTNAME_OR_IP>" --routing-suffix="<PUBLIC_HOSTNAME_OR_IP>.<SUFFIX>"

示例

oc cluster up --public-hostname="192.168.56.124" --routing-suffix="192.168.56.124.nip.io"

;

  1. OpenShift Origin 集群配置文件将位于“~/openshift.local.clusterup”目录中。 “~”是登录的用户主目录。

如果您的集群设置成功,则命令...

oc cluster status

...会给你一个像这样的积极输出...

Web console URL: https://<YOUR_SERVER_IP_OR_NAME>:8443/console/

Config is at host directory 
Volumes are at host directory 
Persistent volumes are at host directory /root/openshift.local.clusterup/openshift.local.pv
Data will be discarded when cluster is destroyed
  • 在系统启动时将 OpenShift 作为单节点集群服务运行

创建 OpenShift 服务文件...

read -r -d '' FILE_CONTENT << 'HEREDOC'
BEGIN
[Unit]
Description=OpenShift oc cluster up service
After=docker.service
Requires=docker.service

[Service]
ExecStart=/usr/bin/bash -c "/usr/local/bin/oc cluster up --public-hostname=\"$(ip route get 1 | awk '{print $NF;exit}')\""
ExecStop=/usr/bin/bash -c "/usr/local/bin/oc cluster down"
Restart=no
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=occlusterup
User=root
Type=oneshot
RemainAfterExit=yes
TimeoutSec=300

[Install]
WantedBy=multi-user.target

END
HEREDOC
echo -n "${FILE_CONTENT:6:-3}" > '/etc/systemd/system/openshift.service'

注意:由于某种原因,如果没有解决方法 /usr/bin/bash -c "<SOME_COMMAND>",我们无法启动 OpenShift 集群。有关 oc cluster up 命令参数的更多信息,请参见下面的参考资料。

[Ref(s)。: https://avinetworks.com/docs/18.1/avi-vantage-openshift-installation-guide/, https://github.com/openshift/origin/issues/7177#issuecomment-391478549 , https://github.com/minishift/minishift/issues/1910#issuecomment-375031172 ]

[Ref(s)。: https://tobru.ch/openshift-oc-cluster-up-as-systemd-service/,https://eenfach.de/gitblit/ blob/RedHatTraining!agnosticd.git/af831991c7c752a1215cfc4cff6a028e31f410d7/ansible!configs!rhte-oc-cluster-vms!files!oc-cluster.service.j2 ]

启动并启用(在启动时启动)OpenShift 服务并按顺序查看日志输出...

systemctl enable openshift.service
systemctl start openshift.service
journalctl -u openshift.service -f --no-pager | less
  • 使用 OpenShift OKD/Origin 管理控制台

OKD 包含一个 Web 控制台,您可以使用它进行创建和其他管理操作。此 Web 控制台可通过 https... 在端口 8443 上的服务器 IP/主机名上访问...

https://<IP_OR_HOSTNAME>:8443/console

注意:您应该会看到一个带有用户名和密码表单的 OpenShift Origin 页面(用户名:开发人员/密码:开发人员)。

  • 在集群中部署测试应用

以“常规开发人员”用户身份登录 Openshift 集群(用户名:开发人员/密码:开发人员)...

oc login

提示:您开始以“开发者”身份登录。

使用 oc "new-project" 命令创建一个测试项目...

模型

oc new-project <PROJECT_NAME> --display-name="<PROJECT_DISPLAY_NAME>" --description="<PROJECT_DESCRIPTION>"

示例

oc new-project test-project --display-name="Test Project" --description="My cool Test Project."

注意:以下所有涉及“deployment-example”参数值的命令都将链接到“test-project”,因为创建此项目后,它将被选为后续设置的项目.使用 oc login -u system:admin 命令以管理员身份确认此登录并查看 oc status 命令的输出。有关更多信息,请参阅“一些 OpenShift Origin 集群有用命令”部分中的 oc project <PROJECT_NAME> 命令。

从 Docker Hub 注册表标记应用程序映像...

oc tag --source=docker openshift/deployment-example:v2 deployment-example:latest

将应用程序部署到 OpenShift...

模型

oc new-app <DEPLOYMENT_NAME>

示例

oc new-app "deployment-example"

允许外部访问已部署的应用程序...

模型

oc expose "svc/<DEPLOYMENT_NAME>"

示例

oc expose "svc/deployment-example"

显示应用程序部署状态...

oc status

显示 Pod 状态...

oc get pods

获取服务详细信息...

oc get svc

测试应用程序本地访问...

注意:请参阅上面命令 <CLUSTER_IP> 输出中的 oc get svc

curl http://<CLUSTER_IP>:8080

查看已部署应用程序的外部访问路由...

oc get routes

测试对应用程序的外部访问...

在浏览器上打开 URL <HOST_PORT>

模型

http://<HOST_PORT>

示例

http://deployment-example-test-project.192.168.56.124.nip.io

注意:

  1. <HOST_PORT> 输出中查看 oc get routes
  2. 通配符 DNS 记录 *.<IP_OR_HOSTNAME>.nip.io 指向 OpenShift Origin 服务器 IP 地址。

删除测试项目...

模型

oc delete project "<PROJECT_NAME>"

示例

oc delete project "test-project"

[Ref(s)。: https://docs.openshift.com/container-platform/4.2/applications/projects/working-with-projects.html#deleting-a-project -using-the-CLIprojects ]

删除测试部署...

模型

oc delete all -l app="<DEPLOYMENT_NAME>"

示例

oc delete all -l app="deployment-example"

删除项目和部署后检查 pods 状态...

oc get pods

提示:完全重新创建集群...

oc cluster down
rm -rf ~/openshift.local.clusterup

。可能需要重启服务器才能删除上述文件夹;
. “~”是登录的用户主目录。

  • 一些 OpenShift Origin 集群有用的命令

要以管理员身份登录,请使用...

oc login -u system:admin

作为管理员(“system:admin”)用户,您可以查看节点状态等信息...

oc get nodes

要获取有关特定节点的更多详细信息,包括当前状况的原因...

模型

oc describe node "<NODE_NAME>"

示例

oc describe node "localhost"

要显示您创建的资源的摘要...

oc status

选择一个项目来执行 CLI 操作...

oc project "<PROJECT_NAME>"

注意:所选项目将用于操作项目范围内容的所有后续操作。

[Ref(s)。: https://docs.openshift.com/container-platform/4.2/applications/projects/working-with-projects.html#viewing-a-project -using-the-CLI_projects ]

要返回“常规开发者”用户(用户名:开发者/密码:开发者)...

oc login

要检查谁是登录用户...

oc whoami

谢谢! =D