Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

25.2.2. 옵션 2: vSphere용 OpenShift Container Platform 수동 구성

25.2.2.1. vSphere에 대한 마스터 호스트 수동 구성

모든 마스터 호스트에서 다음을 수행합니다.

절차

  1. 기본적으로 모든 마스터에서 /etc/origin/master/master-config.yaml 에서 마스터 구성 파일을 편집하고 apiServerArguments 및 controllerArguments 섹션의 내용을 업데이트합니다.

    kubernetesMasterConfig:
      ...
      apiServerArguments:
        cloud-provider:
          - "vsphere"
        cloud-config:
          - "/etc/origin/cloudprovider/vsphere.conf"
      controllerArguments:
        cloud-provider:
          - "vsphere"
        cloud-config:
          - "/etc/origin/cloudprovider/vsphere.conf"
    중요

    컨테이너화된 설치를 트리거하면 /etc/origin/var/lib/origin 디렉터리만 마스터 및 노드 컨테이너에 마운트됩니다. 따라서 master-config.yaml 은 /etc/ 대신 /etc/origin/master 에 있어야 합니다.

  2. Ansible을 사용하여 vSphere용 OpenShift Container Platform을 구성하면 /etc/origin/cloudprovider/vsphere.conf 파일이 자동으로 생성됩니다. vSphere용 OpenShift Container Platform을 수동으로 구성하므로 파일을 생성해야 합니다. 파일을 생성하기 전에 여러 vCenter 영역을 원하는지 여부를 결정합니다.

    클러스터 설치 프로세스는 기본적으로 단일 영역 또는 단일 vCenter를 구성합니다. 그러나 vSphere에 여러 영역에 OpenShift Container Platform을 배포하면 단일 장애 지점을 방지하는 데 유용할 수 있지만 영역 전체에서 공유 스토리지가 필요합니다. OpenShift Container Platform 노드 호스트가 "A" 영역에서 다운되고 Pod를 "B" 영역으로 이동해야 하는 경우. 자세한 내용은 Kubernetes 설명서의 여러 영역에서 실행을 참조하십시오.

    • 단일 vCenter 서버를 구성하려면 /etc/origin/cloudprovider/vsphere.conf 파일에 다음 형식을 사용하십시오.

      [Global] 1
              user = "myusername" 2
              password = "mypassword" 3
              port = "443" 4
              insecure-flag = "1" 5
              datacenters = "mydatacenter" 6
      
      [VirtualCenter "10.10.0.2"] 7
              user = "myvCenterusername"
              password = "password"
      
      [Workspace] 8
              server = "10.10.0.2" 9
              datacenter = "mydatacenter"
              folder = "path/to/vms" 10
              default-datastore = "shared-datastore" 11
              resourcepool-path = "myresourcepoolpath" 12
      
      [Disk]
              scsicontrollertype = pvscsi 13
      
      [Network]
              public-network = "VM Network" 14
      1
      [Global] 섹션에 설정된 속성은 개별 [ VirtualCenter] 섹션의 설정에서 재정의하지 않는 한 지정된 모든 vcenters에 사용됩니다.
      2
      vSphere 클라우드 공급자의 vCenter 사용자 이름.
      3
      지정된 사용자의 vCenter 암호입니다.
      4
      선택 사항: vCenter 서버의 포트 번호입니다. 기본값은 포트 443 입니다.
      5
      vCenter가 자체 서명된 인증서를 사용하는 경우 1 로 설정합니다.
      6
      Node VM이 배포되는 데이터 센터의 이름입니다.
      7
      이 가상 센터의 특정 [Global] 속성을 재정의합니다. 가능한 설정은 [Port], [user], [insecure-flag], [datacenters]입니다. 지정되지 않은 모든 설정은 [Global] 섹션에서 가져옵니다.
      8
      다양한 vSphere Cloud Provider 기능에 사용되는 속성을 설정합니다. 예를 들어 동적 프로비저닝, 스토리지 프로필 기반 볼륨 프로비저닝 등이 있습니다.
      9
      vCenter 서버의 IP 주소 또는 FQDN입니다.
      10
      노드 VM의 VM 디렉터리 경로입니다.
      11
      스토리지 클래스 또는 동적 프로비저닝을 사용하여 프로비저닝 볼륨에 사용할 데이터 저장소의 이름으로 설정합니다. OpenShift Container Platform 3.9 이전에는 데이터 저장소가 스토리지 디렉터리에 있거나 데이터 저장소 클러스터의 멤버인 경우 전체 경로가 필요합니다.
      12
      선택 사항: 스토리지 프로필 기반 볼륨 프로비저닝을 위한 더미 VM을 생성해야 하는 리소스 풀의 경로로 설정합니다.
      13
      SCSI 컨트롤러 유형으로 VMDK가 VM에 로 연결됩니다.
      14
      vSphere의 네트워크 포트 그룹으로 설정하여 기본적으로 VM 네트워크라고 하는 노드에 액세스합니다. 이는 Kubernetes에 등록된 노드 호스트의 ExternalIP입니다.
    • 여러 vCenter 서버를 구성하려면 /etc/origin/cloudprovider/vsphere.conf 파일에 다음 형식을 사용하십시오.

      [Global] 1
              user = "myusername" 2
              password = "mypassword" 3
              port = "443" 4
              insecure-flag = "1" 5
              datacenters = "us-east, us-west" 6
      
      [VirtualCenter "10.10.0.2"] 7
              user = "myvCenterusername"
              password = "password"
      
      [VirtualCenter "10.10.0.3"]
              port = "448"
              insecure-flag = "0"
      
      [Workspace] 8
              server = "10.10.0.2" 9
              datacenter = "mydatacenter"
              folder = "path/to/vms" 10
              default-datastore = "shared-datastore" 11
              resourcepool-path = "myresourcepoolpath" 12
      
      [Disk]
              scsicontrollertype = pvscsi 13
      
      [Network]
              public-network = "VM Network" 14
      1
      [Global] 섹션에 설정된 속성은 개별 [ VirtualCenter] 섹션의 설정에서 재정의하지 않는 한 지정된 모든 vcenters에 사용됩니다.
      2
      vSphere 클라우드 공급자의 vCenter 사용자 이름.
      3
      지정된 사용자의 vCenter 암호입니다.
      4
      선택 사항: vCenter 서버의 포트 번호입니다. 기본값은 포트 443 입니다.
      5
      vCenter가 자체 서명된 인증서를 사용하는 경우 1 로 설정합니다.
      6
      노드 VM이 배포되는 데이터 센터의 이름입니다.
      7
      이 가상 센터의 특정 [Global] 속성을 재정의합니다. 가능한 설정은 [Port], [user], [insecure-flag], [datacenters]입니다. 지정되지 않은 모든 설정은 [Global] 섹션에서 가져옵니다.
      8
      다양한 vSphere Cloud Provider 기능에 사용되는 속성을 설정합니다. 예를 들어 동적 프로비저닝, 스토리지 프로필 기반 볼륨 프로비저닝 등이 있습니다.
      9
      클라우드 공급자가 통신하는 vCenter 서버의 IP 주소 또는 FQDN입니다.
      10
      노드 VM의 VM 디렉터리 경로입니다.
      11
      스토리지 클래스 또는 동적 프로비저닝을 사용하여 프로비저닝 볼륨에 사용할 데이터 저장소의 이름으로 설정합니다. OpenShift Container Platform 3.9 이전에는 데이터 저장소가 스토리지 디렉터리에 있거나 데이터 저장소 클러스터의 멤버인 경우 전체 경로가 필요합니다.
      12
      선택 사항: 스토리지 프로필 기반 볼륨 프로비저닝을 위한 더미 VM을 생성해야 하는 리소스 풀의 경로로 설정합니다.
      13
      SCSI 컨트롤러 유형으로 VMDK가 VM에 로 연결됩니다.
      14
      vSphere의 네트워크 포트 그룹으로 설정하여 기본적으로 VM 네트워크라고 하는 노드에 액세스합니다. 이는 Kubernetes에 등록된 노드 호스트의 ExternalIP입니다.
  3. OpenShift Container Platform 호스트 서비스를 다시 시작하십시오.

    # master-restart api
    # master-restart controllers
    # systemctl restart atomic-openshift-node