- OpenShift 教程
- OpenShift - 首页
- OpenShift - 概述
- OpenShift - 类型
- OpenShift - 架构
- OpenShift - 环境搭建
- OpenShift - 基本概念
- OpenShift - 入门指南
- OpenShift - 自动构建
- OpenShift - 命令行界面 (CLI)
- OpenShift - CLI 操作
- OpenShift - 集群
- OpenShift - 应用伸缩
- OpenShift - 管理
- OpenShift - Docker 和 Kubernetes
- OpenShift - 安全性
- OpenShift 有用资源
- OpenShift - 快速指南
- OpenShift - 有用资源
- OpenShift - 讨论
OpenShift - 环境搭建
本章我们将学习 OpenShift 的环境搭建。
系统要求
为了搭建企业级 OpenShift 环境,需要拥有一个有效的 Red Hat 账户。由于 OpenShift 基于 Kubernetes 主节点和工作节点架构,我们需要在不同的机器上分别搭建主节点和工作节点,其中一台机器作为主节点,其他机器作为工作节点。为了搭建两者,需要满足最低系统要求。
主节点配置
以下是主节点配置的最低系统要求。
一个基础机器,可以是物理机、虚拟机或云环境中的任何一种。
至少 Linux 7 及其所需软件包。
2 个 CPU 内核。
至少 8 GB RAM。
30 GB 内部硬盘空间。
工作节点配置
- 与主节点相同的物理机或虚拟机镜像。
- 机器上至少安装 Linux 7。
- 安装 Docker,版本不低于 1.6。
- 1 个 CPU 内核。
- 8 GB RAM。
- 15 GB 硬盘空间用于存放镜像,15 GB 硬盘空间用于存储镜像。
OpenShift 搭建步骤
在下面的描述中,我们将搭建一个 OpenShift 实验环境,之后可以扩展到更大的集群。由于 OpenShift 需要主节点和工作节点,我们需要至少两台机器,可以是云服务器、物理机或虚拟机。
步骤 1 - 首先在两台机器上安装 Linux,最低版本应为 Linux 7。如果拥有有效的 Red Hat 订阅,可以使用以下命令进行安装。
# subscription-manager repos --disable = "*"
# subscription-manager repos --enable = "rhel-7-server-rpms"
# subscription-manager repos --enable = "rhel-7-server-extras-rpms"
# subscription-manager repos --enable = "rhel-7-server-optional-rpms"
# subscription-manager repos --enable = "rhel-7-server-ose-3.0-rpms"
# yum install wget git net-tools bind-utils iptables-services bridge-utils
# yum install wget git net-tools bind-utils iptables-services bridge-utils
# yum install python-virtualenv
# yum install gcc
# yum install httpd-tools
# yum install docker
# yum update
在两台机器上安装完上述基本软件包后,下一步是在各自的机器上安装 Docker。
步骤 2 - 配置 Docker,使其仅允许在本地网络上进行不安全的通信。为此,编辑 `/etc/sysconfig` 目录下的 Docker 文件。如果该文件不存在,则需要手动创建。
# vi /etc/sysconfig/docker OPTIONS = --selinux-enabled --insecure-registry 192.168.122.0/24
在主节点上配置 Docker 后,我们需要在两台机器之间建立免密码通信。为此,我们将使用公钥和私钥认证。
步骤 3 - 在主节点上生成密钥,然后将 `id_rsa.pub` 密钥复制到工作节点的授权密钥文件,可以使用以下命令完成。
# ssh-keygen
# ssh-copy-id -i .ssh/id_rsa.pub [email protected]
完成上述设置后,下一步是在主节点上安装 OpenShift 版本 3。
步骤 4 - 在主节点上运行以下 curl 命令。
# sh <(curl -s https://install.openshift.com/ose)
以上命令将完成 OSV3 的安装。下一步是在机器上配置 OpenShift V3。
如果无法直接从互联网下载,则可以从 https://install.openshift.com/portable/oo-install-ose.tgz 下载为 tar 包,然后在本地主节点上运行安装程序。
准备就绪后,我们需要开始在机器上实际配置 OSV3。此设置非常适用于测试实际生产环境,我们已准备好 LDAP 等其他内容。
步骤 5 - 在主节点上,配置 `/etc/openshift/master/master-config.yaml` 下面的代码。
# vi /etc/openshift/master/master-config.yaml identityProviders: - name: my_htpasswd_provider challenge: true login: true provider: apiVersion: v1 kind: HTPasswdPasswordIdentityProvider file: /root/users.htpasswd routingConfig: subdomain: testing.com
接下来,创建一个标准用户作为默认管理员。
# htpasswd -c /root/users.htpasswd admin
步骤 6 - 由于 OpenShift 使用 Docker 镜像仓库来配置镜像,我们需要配置 Docker 镜像仓库。这用于在构建后创建和存储 Docker 镜像。
使用以下命令在 OpenShift 工作节点上创建一个目录。
# mkdir /images
接下来,使用默认的管理员凭据登录主节点,这些凭据在设置镜像仓库时创建。
# oc login Username: system:admin
切换到默认创建的项目。
# oc project default
步骤 7 - 创建一个 Docker 镜像仓库。
#echo '{"kind":"ServiceAccount","apiVersion":"v1","metadata":{"name":"registry"}}' | oc create -f -
编辑用户权限。
#oc edit scc privileged users: - system:serviceaccount:openshift-infra:build-controller - system:serviceaccount:default:registry
创建和编辑镜像仓库。
#oadm registry --service-account = registry -- config = /etc/openshift/master/admin.kubeconfig -- credentials = /etc/openshift/master/openshift-registry.kubeconfig -- images = 'registry.access.redhat.com/openshift3/ose-${component}:${version}' -- mount-host = /images
步骤 8 - 创建默认路由。
默认情况下,OpenShift 使用 OpenVswitch 作为软件网络。使用以下命令创建默认路由。这用于负载均衡和代理路由。路由器类似于 Docker 镜像仓库,也运行在镜像仓库中。
# echo '{"kind":"ServiceAccount","apiVersion":"v1","metadata":{"name":"router"}}' | oc create -f -
接下来,编辑用户的权限。
#oc edit scc privileged users: - system:serviceaccount:openshift-infra:build-controller - system:serviceaccount:default:registry - system:serviceaccount:default:router #oadm router router-1 --replicas = 1 -- credentials = '/etc/openshift/master/openshift-router.kubeconfig' -- images = 'registry.access.redhat.com/openshift3/ose-${component}:${version}'
步骤 9 - 配置 DNS。
为了处理 URL 请求,OpenShift 需要一个可用的 DNS 环境。此 DNS 配置需要创建一个通配符,这需要创建一个指向路由器的 DNS 通配符。
# yum install bind-utils bind
# systemctl start named
# systemctl enable named
vi /etc/named.conf options {listen-on port 53 { 10.123.55.111; }; forwarders { 10.38.55.13; ; }; zone "lab.com" IN { type master; file "/var/named/dynamic/test.com.zone"; allow-update { none; }; };
步骤 10 - 最后一步是在 OpenShift V3 主节点上设置 github 服务器,这是可选的。这可以使用以下命令序列轻松完成。
#yum install curl openssh-server
#systemctl enable sshd
# systemctl start sshd
# firewall-cmd --permanent --add-service = http
# systemctl reload firewalld
#curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-
#yum install gitlab-ce
# gitlab-ctl reconfigure
完成上述设置后,您可以通过测试和部署应用程序进行验证,我们将在后续章节中详细了解。