22.2.3.12. OpenShift Container Platform 的部署配置
以下小节描述了正确配置部署实例所需的所有步骤。
配置 ~/.ssh/config 以使用 Deployment Host 作为 Jumphost
要轻松连接到 OpenShift Container Platform 环境,请按照以下步骤操作。
在 OpenStack director 节点上,或使用私钥 <keypair-name>.pem 的本地工作站:
$ exec ssh-agent bash $ ssh-add /path/to/<keypair-name>.pem Identity added: /path/to/<keypair-name>.pem (/path/to/<keypair-name>.pem)
添加到 ~/.ssh/config
文件中:
Host deployment HostName <deployment_fqdn_hostname OR IP address> User cloud-user IdentityFile /path/to/<keypair-name>.pem ForwardAgent yes
使用带有 -A
选项的 ssh
连接到部署主机,这可以启用转发身份验证代理连接。
确保只针对 ~/.ssh/config 文件所有者的读取写入权限:
$ chmod 600 ~/.ssh/config
$ ssh -A cloud-user@deployment
登录部署主机后,请通过检查 SSH_AUTH_SOCK
来验证 ssh 代理转发是否正常工作
$ echo "$SSH_AUTH_SOCK" /tmp/ssh-NDFDQD02qB/agent.1387
订阅管理器并启用 OpenShift Container Platform 软件仓库
在部署实例中,在 Red Hat Subscription Manager 中注册。这可以通过使用凭证来实现:
$ sudo subscription-manager register --username <user> --password '<password>'
另外,您可以使用激活码:
$ sudo subscription-manager register --org="<org_id>" --activationkey=<keyname>
注册后,启用以下软件仓库,如下所示:
$ sudo subscription-manager repos \ --enable="rhel-7-server-rpms" \ --enable="rhel-7-server-extras-rpms" \ --enable="rhel-7-server-ose-3.11-rpms" \ --enable="rhel-7-server-ansible-2.6-rpms" \ --enable="rhel-7-server-openstack-13-rpms" \ --enable="rhel-7-server-openstack-13-tools-rpms"
请参阅设置存储库,以确认要启用的 OpenShift Container Platform 存储库和 Ansible 版本。以上文件只是一个示例。
部署主机上所需的软件包
部署主机上需要安装以下软件包。
安装以下软件包:
-
openshift-ansible
-
python-openstackclient
-
python2-heatclient
-
python2-octaviaclient
-
python2-shade
-
python-dns
-
git
-
ansible
$ sudo yum -y install openshift-ansible python-openstackclient python2-heatclient python2-octaviaclient python2-shade python-dns git ansible
配置 Ansible
ansible
安装在部署实例上,以执行注册、安装软件包,并在 master 和节点实例上部署 OpenShift Container Platform 环境。
在运行 playbook 前,务必要创建一个 ansible.cfg 文件来反映您要部署的环境:
$ cat ~/ansible.cfg
[defaults]
forks = 20
host_key_checking = False
remote_user = openshift
gathering = smart
fact_caching = jsonfile
fact_caching_connection = $HOME/ansible/facts
fact_caching_timeout = 600
log_path = $HOME/ansible.log
nocows = 1
callback_whitelist = profile_tasks
inventory = /usr/share/ansible/openshift-ansible/playbooks/openstack/inventory.py,/home/cloud-user/inventory
[ssh_connection]
ssh_args = -o ControlMaster=auto -o ControlPersist=600s -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=false
control_path = %(directory)s/%%h-%%r
pipelining = True
timeout = 10
[persistent_connection]
connect_timeout = 30
connect_retries = 30
connect_interval = 1
以下参数值对于 ansible.cfg 文件很重要。
-
remote_user
必须保留为用户 openshift。 - inventory 参数确保两个清单之间没有空格。
示例: inventory = path/to/inventory1,path/to/inventory2
以上代码块可覆盖文件中的默认值。确保使用复制到部署实例的密钥对填充 <keypair-name>。
inventory 目录在 第 22.3.1 节 “为置备准备清单” 中创建。
OpenShift Authentication
OpenShift Container Platform 提供了使用许多不同的身份验证平台。如需身份验证选项列表,请参阅 配置身份验证和用户代理。
配置默认身份提供程序非常重要,因为默认配置是 Deny All。