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。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.