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 root@ose3-node.test.com
完成上述所有设置后,接下来是在主机上设置 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 reloadfirewalld
#curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-
#yum install gitlab-ce
# gitlab-ctl reconfigure
完成上述操作后设置完成后,您可以通过测试和部署应用程序来验证,我们将在后续章节中对此进行更详细的了解。

