Ansible の hosts ファイルには、OpenShift クラスタのノードが定義されます。

手順

  1. https://github.com/vmware/nsx-integration-for-openshift で、NCP GitHub リポジトリのクローンを作成します。hosts ファイルは、openshift-ansible-nsx ディレクトリにあります。hosts ファイルは openshift-ansible-nsx ディレクトリ内に保存する必要があります。一部の Playbook は、このパスが hosts ファイルのパスであることを前提としています。
  2. [masters] と [nodes] セクションに、OpenShift 仮想マシンのホスト名と IP アドレスを指定します。次はその例です。
        [masters]
        admin.rhel.osmaster ansible_ssh_host=101.101.101.4
      
        [single_master]
        admin.rhel.osmaster ansible_ssh_host=101.101.101.4
     
        [nodes]
        admin.rhel.osmaster ansible_ssh_host=101.101.101.4 openshift_ip=101.101.101.4 openshift_schedulable=true openshift_hostname=admin.rhel.osmaster
        admin.rhel.osnode ansible_ssh_host=101.101.101.5 openshift_ip=101.101.101.5 openshift_hostname=admin.rhel.osnode
     
        [etcd]
     
        [OSEv3:children]
        masters
        nodes
        etcd

    openshift_ip は、クラスタの内部 IP アドレスを定義します。使用するインターフェイスがデフォルトでない場合には設定が必要になります。single_master 変数は、マスター ノードの ncp 関連のロールで使用され、NSX-T Data Center 管理プレーンのリソース設定など、特定のタスクを 1 回のみ実行します。

  3. SSH アクセス権を設定して、Ansible ロールが実行されているノード(通常はマスター ノード)から、パスワードを使用せずにすべてのノードにアクセスできるようにします。
        ssh-keygen
        ssh-copy-id -i ~/.ssh/id_rsa.pub root@admin.rhel.osnode
  4. [OSEv3:vars] セクションを更新します。すべてのパラメータの詳細については、OpenShift Container Platform のドキュメントで高度なインストールの説明を参照してください(https://docs.openshift.com で「高度なインストール」を検索)。次はその例です。
        # Set the default route fqdn
        openshift_master_default_subdomain=apps.corp.local
    
        os_sdn_network_plugin_name=cni
        openshift_use_openshift_sdn=false
        openshift_node_sdn_mtu=1500
    
        # If ansible_ssh_user is not root, ansible_become must be set to true
        ansible_become=true
    
        openshift_master_default_subdomain
          This is the default subdomain used in the OpenShift routes for External LB
    
        os_sdn_network_plugin_name
          Set to 'cni' for the NSX Integration
    
        openshift_use_openshift_sdn
          Set to false to disable the built-in OpenShift SDN solution
    
        openshift_hosted_manage_router
          Set to false to disable creation of router during installation. The router has to be manually started after NCP and nsx-node-agent are running.
    
        openshift_hosted_manage_registry
          Set to false to disable creation of registry during installation. The registry has to be manually started after NCP and nsx-node-agent are running.
     
        deployment_type
          Set to openshift-enterprise
    
        openshift_hosted_manage_registry
          Set to false to disable auto creation of registry
    
        openshift_hosted_manage_router
          Set to false to disable auto creation of router
    
        openshift_enable_service_catalog
          Set to false to disable service_catalog
    
        (For OpenShift 3.9 only) skip_sanity_checks
          Set to true
    
        (For OpenShift 3.9 only) openshift_web_console_install
          Set to false
  5. すべてのホストに接続できることを確認します。
        ansible OSEv3 -i /PATH/TO/HOSTS/hosts -m ping

    結果は次のようになります。接続できない場合には、接続の問題を解決します。

        openshift-node1 | SUCCESS => {
           "changed": false,
           "ping": "pong"
        }
        openshift-master | SUCCESS => {
           "changed": false,
           "ping": "pong"
        }

次のタスク

CNI プラグインと OVS をインストールします。「CNI プラグイン、OVS、NCP Docker イメージのインストール」を参照してください。