13.2. CLI を使用した vSphere のインストール後の設定


プラットフォーム統合機能を有効にして、vSphere で Assisted Installer を使用して OpenShift Container Platform クラスターをインストールした後、以下の vSphere 設定を手動で更新する必要があります。

  • vCenter ユーザー名
  • vCenter パスワード
  • vCenter アドレス
  • vCenter クラスター
  • データセンター
  • データストア
  • フォルダー

前提条件

  • Assisted Installer によってクラスターのインストールを正常に完了した。
  • クラスターが console.redhat.com に接続されている。

手順

  1. vCenter 用の base64 でエンコードされたユーザー名とパスワードを生成します。

    $ echo -n "<vcenter_username>" | base64 -w0
    Copy to Clipboard Toggle word wrap

    <vcenter_username> を vCenter ユーザー名に置き換えます。

    $ echo -n "<vcenter_password>" | base64 -w0
    Copy to Clipboard Toggle word wrap

    <vcenter_password> を vCenter パスワードに置き換えます。

  2. vSphere 認証情報をバックアップします。

    $ oc get secret vsphere-creds -o yaml -n kube-system > creds_backup.yaml
    Copy to Clipboard Toggle word wrap
  3. vSphere 認証情報を編集します。

    $ cp creds_backup.yaml vsphere-creds.yaml
    Copy to Clipboard Toggle word wrap
    $ vi vsphere-creds.yaml
    Copy to Clipboard Toggle word wrap
    apiVersion: v1
    data:
      <vcenter_address>.username: <vcenter_username_encoded>
      <vcenter_address>.password: <vcenter_password_encoded>
    kind: Secret
    metadata:
      annotations:
        cloudcredential.openshift.io/mode: passthrough
      creationTimestamp: "2022-01-25T17:39:50Z"
      name: vsphere-creds
      namespace: kube-system
      resourceVersion: "2437"
      uid: 06971978-e3a5-4741-87f9-2ca3602f2658
    type: Opaque
    Copy to Clipboard Toggle word wrap

    <vcenter_address> は vCenter アドレスに置き換えます。<vcenter_username_encoded> は base64 でエンコードされたバージョンの vSphere ユーザー名に置き換えます。<vcenter_password_encoded> は base64 でエンコードされたバージョンの vSphere パスワードに置き換えます。

  4. vSphere 認証情報を置き換えます。

    $ oc replace -f vsphere-creds.yaml
    Copy to Clipboard Toggle word wrap
  5. kube-controller-manager Pod を再デプロイします。

    $ oc patch kubecontrollermanager cluster -p='{"spec": {"forceRedeploymentReason": "recovery-'"$( date --rfc-3339=ns )"'"}}' \
    --type=merge
    Copy to Clipboard Toggle word wrap
  6. vSphere クラウドプロバイダー設定をバックアップします。

    $ oc get cm cloud-provider-config -o yaml -n openshift-config > \
    cloud-provider-config_backup.yaml
    Copy to Clipboard Toggle word wrap
  7. クラウドプロバイダーの設定を編集します。

    1. OCP バージョン 4.17 以前では、.yaml ファイルの data.config セクションで INI 構文を使用します。

      $ vi cloud-provider-config.yaml
      Copy to Clipboard Toggle word wrap
      apiVersion: v1
      data:
        config: |
          [Global]
          secret-name = "vsphere-creds"
          secret-namespace = "kube-system"
          insecure-flag = "1"
      
          [Workspace]
          server = "<vcenter_address>"
          datacenter = "<datacenter>"
          default-datastore = "<datastore>"
          folder = "/<datacenter>/vm/<folder>"
      
          [VirtualCenter "<vcenter_address>"]
          datacenters = "<datacenter>"
      kind: ConfigMap
      metadata:
        creationTimestamp: "2022-01-25T17:40:49Z"
        name: cloud-provider-config
        namespace: openshift-config
        resourceVersion: "2070"
        uid: 80bb8618-bf25-442b-b023-b31311918507
      Copy to Clipboard Toggle word wrap

      <vcenter_address> は vCenter アドレスに置き換えます。<datacenter> をデータセンターの名前に置き換えます。<datastore> をデータストアの名前に置き換えます。<folder> をクラスターの仮想マシンを含むフォルダーに置き換えます。

    2. OCP バージョン 4.18 以降では、.yaml ファイルの data.config セクションで YAML 構文を使用します。

      $ cp cloud-provider-config_backup.yaml cloud-provider-config.yaml
      Copy to Clipboard Toggle word wrap
      $ vi cloud-provider-config.yaml
      Copy to Clipboard Toggle word wrap
      apiVersion: v1
      data:
        config: |
          global:
            user: ""
            password: ""
            server: ""
            port: 0
            insecureFlag: true
            datacenters: []
            soapRoundtripCount: 0
            caFile: ""
            thumbprint: ""
            secretName: vsphere-creds
            secretNamespace: kube-system
            secretsDirectory: ""
            apiDisable: false
            apiBinding: ""
            ipFamily: []
          vcenter:
            <vcenter_address>:
              user: ""
              password: ""
              tenantref: ""
              server: "<vcenter_address>"
              port: <vcenter_port>
              insecureFlag: true
              datacenters:
              - <datacenter>
              soapRoundtripCount: 0
              caFile: ""
              thumbprint: ""
              secretref: ""
              secretName: ""
              secretNamespace: ""
              ipFamily: []
          labels:
            zone: ""
            region: ""
      kind: ConfigMap
      Copy to Clipboard Toggle word wrap

      <vcenter_address> は vCenter アドレスに置き換えます。<vcenter_port> は vCenter のポート番号に置き換えます。デフォルトはポート 443 です。<datacenter> をデータセンターの名前に置き換えます。

  8. クラウドプロバイダーの設定を適用します。

    $ oc apply -f cloud-provider-config.yaml
    Copy to Clipboard Toggle word wrap
  9. uninitialized テイントでノードをテイントします。

    重要

    OpenShift Container Platform 4.13 以降をインストールする場合は、ステップ 9 から 12 に従います。

    1. テイントするノードを特定します。

      $ oc get nodes
      Copy to Clipboard Toggle word wrap
    2. ノードごとに以下のコマンドを実行します。

      $ oc adm taint node <node_name> node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule
      Copy to Clipboard Toggle word wrap

      <node_name> はノード名に置き換えてください。

    $ oc get nodes
    NAME                STATUS   ROLES                  AGE   VERSION
    master-0   Ready    control-plane,master   45h   v1.26.3+379cd9f
    master-1   Ready    control-plane,master   45h   v1.26.3+379cd9f
    worker-0   Ready    worker                 45h   v1.26.3+379cd9f
    worker-1   Ready    worker                 45h   v1.26.3+379cd9f
    master-2   Ready    control-plane,master   45h   v1.26.3+379cd9f
    
    $ oc adm taint node master-0 node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule
    $ oc adm taint node master-1 node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule
    $ oc adm taint node master-2 node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule
    $ oc adm taint node worker-0 node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule
    $ oc adm taint node worker-1 node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule
    Copy to Clipboard Toggle word wrap

  10. インフラストラクチャー設定をバックアップします。

    $ oc get infrastructures.config.openshift.io -o yaml > infrastructures.config.openshift.io.yaml.backup
    Copy to Clipboard Toggle word wrap
  11. インフラストラクチャー設定を編集します。

    $ cp infrastructures.config.openshift.io.yaml.backup infrastructures.config.openshift.io.yaml
    Copy to Clipboard Toggle word wrap
    $ vi infrastructures.config.openshift.io.yaml
    Copy to Clipboard Toggle word wrap
    apiVersion: v1
    items:
    - apiVersion: config.openshift.io/v1
      kind: Infrastructure
      metadata:
        creationTimestamp: "2022-05-07T10:19:55Z"
        generation: 1
        name: cluster
        resourceVersion: "536"
        uid: e8a5742c-6d15-44e6-8a9e-064b26ab347d
      spec:
        cloudConfig:
          key: config
          name: cloud-provider-config
        platformSpec:
          type: VSphere
          vsphere:
            failureDomains:
            - name: assisted-generated-failure-domain
              region: assisted-generated-region
              server: <vcenter_address>
              topology:
                computeCluster: /<data_center>/host/<vcenter_cluster>
                datacenter: <data_center>
                datastore: /<data_center>/datastore/<datastore>
                folder: "/<data_center>/path/to/folder"
                networks:
                - "VM Network"
                resourcePool: /<data_center>/host/<vcenter_cluster>/Resources
              zone: assisted-generated-zone
            nodeNetworking:
              external: {}
              internal: {}
            vcenters:
            - datacenters:
              - <data_center>
              server: <vcenter_address>
    
    kind: List
    metadata:
      resourceVersion: ""
    Copy to Clipboard Toggle word wrap

    <vcenter_address> を vCenter アドレスに置き換えます。<datacenter> を vCenter データセンターの名前に置き換えます。<datastore> を vCenter データストアの名前に置き換えます。<folder> をクラスターの仮想マシンを含むフォルダーに置き換えます。<vcenter_cluster> を、OpenShift Container Platform がインストールされている vSphere vCenter クラスターに置き換えます。

  12. インフラストラクチャー設定を適用します。

    $ oc apply -f infrastructures.config.openshift.io.yaml --overwrite=true
    Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat