📅  最后修改于: 2020-10-31 13:50:43             🧑  作者: Mango
在本章中,我们将学习OpenShift的环境设置。
为了设置企业OpenShift,需要有一个活动的Red Hat帐户。由于OpenShift在Kubernetes主节点和节点体系结构上工作,我们需要将它们两者都设置在单独的机器上,其中一台机器充当主节点,其他机器在节点上工作。为了同时设置两者,有最低系统要求。
以下是主机配置的最低系统要求。
在物理,虚拟或任何云环境上托管的基本计算机。
至少在该实例上具有必需软件包的Linux 7。
2 CPU核心。
至少8 GB RAM。
30 GB内部硬盘存储器。
在下面的描述中,我们将建立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 https://install.openshift.com/ose)
上面的命令将对OSV3进行设置。下一步将是在计算机上配置OpenShift V3。
如果您不能直接从Internet下载,则可以从tar软件包( https://install.openshift.com/portable/oo-install-ose.tgz)作为tar软件包下载,安装程序可以从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 Registry。
#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通配符需要此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
完成上述设置后,即可通过测试和部署应用程序进行验证,我们将在后续章节中进一步了解这些内容。