OpenShift - 环境设置

在本章中,我们将了解OpenShift的环境设置.

系统要求

为了设置企业OpenShift,需要有一个活跃的Red Hat帐户.由于OpenShift适用于Kubernetes主站和节点架构,我们需要在不同的机器上设置它们,其中一台机器充当主机,其他机器在节点上运行.为了设置两者,有最低系统要求.

主机配置

以下是主机配置的最低系统要求./p>

  • 在物理,虚拟或任何云环境中托管的基础计算机.

  • 至少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 )

以上命令将为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

完成上述设置后,您可以通过测试验证并部署应用程序,我们将了解更多信息在接下来的章节中.