2장. 컴퓨팅 인스턴스 서비스의 고가용성 배포 및 구성
Red Hat OpenStack Services on OpenShift(RHOSO)의 Compute 인스턴스(인스턴스 HA)의 고가용성은 RHOSO가 기본적으로 설치하는 infra-operator 에 의해 관리됩니다.
실패한 컴퓨팅 노드에서 인스턴스를 비우려면 인스턴스 HA 서비스를 배포하여 컴퓨팅 노드 모니터링 프로세스를 자동화해야 합니다. 자세한 내용은 인스턴스 HA 서비스 배포를 참조하십시오.
RHOSO HCI(하이퍼 컨버지드 인프라) 환경에서 스토리지를 호스팅하는 컴퓨팅 노드를 비우려면 인스턴스 HA 서비스를 사용해서는 안 됩니다. HCI 환경에서는 Red Hat Ceph Storage 서비스를 호스팅하지 않는 컴퓨팅 노드의 하위 집합을 태그해야 합니다. 자세한 내용은 비우기에 대한 태그 이미지, 플레이버 또는 호스트 집계를 참조하십시오.
2.1. 인스턴스 HA 서비스 배포 링크 복사링크가 클립보드에 복사되었습니다!
실패한 컴퓨팅 노드 모니터링 프로세스를 자동화하고 실패한 컴퓨팅 노드에서 인스턴스를 비우려면 OpenShift(인스턴스 HA)에 Red Hat OpenStack Services를 배포해야 합니다.
클라우드가 여러 개 정의되어 있는 경우 별도의 인스턴스 HA 서비스 Pod를 생성하여 각 클라우드를 모니터링할 수 있습니다. 자세한 내용은 Instance HA 서비스 Pod 사양 구성을 참조하십시오.
프로세스
YAML 인스턴스 HA 서비스 매니페스트 파일을 생성합니다(예:
Instance-HA-service-0.yaml):-
인스턴스 HA 서비스 Pod의 사양
.spec및 name.metadata.name을 정의합니다. 자세한 내용은 Instance HA 서비스 Pod 사양 구성을 참조하십시오. -
비워 둘 수 있는 모든 컴퓨팅 노드의 펜싱 에이전트를 구성한 YAML 파일의 이름을 지정하도록
.spec.fencingSecret을 구성합니다. 이 예에서는 파일을fencing-0이라고 합니다. 자세한 내용은 컴퓨팅 노드의 펜싱 구성을 참조하십시오.
-
인스턴스 HA 서비스 Pod의 사양
인스턴스 HA 서비스 매니페스트 및
fencingSecret파일을 적용합니다.$ oc apply -f fencing-0.yaml $ oc apply -f Instance-HA-service-0.yaml계속하기 전에 인스턴스 HA 서비스 포드
메시지필드에설치 완료가 표시되는지 확인합니다.$ oc get instanceha -w NAME STATUS MESSAGE instanceha-0 True Setup complete참고매니페스트 파일에 지정한
.metadata.name에 고유한 문자열이 추가됩니다.배포된 인스턴스 HA 서비스 Pod의 정규화된 이름과 상태를 확인합니다.
$ oc get pods |grep instanceha instanceha-0-54f865b6dd-w6h4t 1/1 Running 0 10h이 예에서 정규화된 이름은
instanceha-0-54f865b6dd-w6h4t입니다.주의인스턴스 HA 서비스 포드가 다시 시작될 때마다 새로운 고유한 정규화된 이름이 생성됩니다. 이전 이름과 연결된 모든 로그 항목이 제거됩니다. 자세한 내용은 Instance HA 서비스 문제 해결을 참조하십시오.
다음 단계
-
인스턴스 HA 서비스 Pod 사양을 생성할 때
.spec.instanceHaConfigMap을 지정하지 않은 경우infra-operator는instanceha-config라는ConfigMap을 자동으로 생성합니다. 이 ConfigMap은 필요에 따라 수정할 수 있는 인스턴스 HA 서비스 매개변수의 기본값을 제공합니다. 자세한 내용은 Instance HA 서비스 매개변수 및 Instance HA 서비스 매개변수 편집을 참조하십시오. - 인스턴스 HA 서비스를 완전히 제거할 수 있습니다. 자세한 내용은 인스턴스 HA 서비스 제거를 참조하십시오.
2.1.1. 인스턴스 HA 서비스 Pod 사양 구성 링크 복사링크가 클립보드에 복사되었습니다!
Compute 인스턴스(Instance HA) 서비스에 대한 OpenShift(RHOSO) 고가용성에 Red Hat OpenStack Services를 배포할 때 YAML 인스턴스 HA 서비스 매니페스트 파일을 생성하여 인스턴스 HA 서비스 포드의 사양 을 정의해야 합니다.
이 예에서 YAML 인스턴스 HA 서비스 매니페스트 파일은 Instance-HA-service-0.yaml 입니다.
$ cat Instance-HA-service-0.yaml
---
apiVersion: instanceha.openstack.org/v1beta1
kind: InstanceHa
metadata:
name: instanceha-0
spec:
caBundleSecretName: combined-ca-bundle
fencingSecret: fencing-0
#instanceHaConfigMap:
#networkAttachments: ['internalapi']
#instanceHaKdumpPort:
#openStackCloud: "default"
#openStackConfigMap:
#openStackConfigSecret:
#nodeSelector:
- 1
- 인스턴스 HA 서비스 Pod의 사양
.spec을 정의할 때 다음 값을 지정해야 합니다. - 2
- RHOSO 배포 중에 사용된 CA 인증서 번들이 포함된 보안 이름을 지정하려면
.spec.caBundleSecretName을 사용해야 합니다. 기본적으로.spec.caBundleSecretName은combined-ca-bundle로 설정되지만 사용자 정의 TLS 인증서를 구현하면 이 값이 변경될 수 있습니다. 자세한 내용은 보안 서비스 구성에서 OpenShift에서 Red Hat OpenStack Services에 대한 사용자 지정 TLS 인증서 추가 를 참조하십시오. - 3
.spec.fencingSecret을 사용하여 비워 둘 수 있는 모든 컴퓨팅 노드의 구성된 펜싱 에이전트로 YAML 파일의 이름을 지정해야 합니다. 이 예에서는 이 파일을fencing-0이라고 합니다. 자세한 내용은 컴퓨팅 노드의 펜싱 구성을 참조하십시오.참고인스턴스 HA 서비스 포드의 사양을 정의하는 다른 모든 값은 선택 사항입니다. 이 예제에서는 주석 처리되었습니다.
- 4
- 선택 사항: 구성된 인스턴스 HA 서비스 매개변수를 제공하는
ConfigMap이 포함된 YAML 파일을 생성하고 이름을 지정할 수 있습니다. 이 경우.spec.instanceHaConfigMap을 사용하여 이 YAML 파일의 이름을 지정해야 합니다. 이 파일을 생성하지 않으면 인스턴스 HA 서비스가 설치될 때instanceha-config라는 YAML 파일이 자동으로 생성되어 인스턴스 HA 서비스 매개변수의 기본값을 제공합니다. - 5
- 선택 사항: 컴퓨팅 노드가 커널 덤프를 캡처하는지 감지하도록 인스턴스 HA 서비스를 구성하는 경우 다음을 수행합니다.
-
kdump서비스에서kdump알림을 수신하는 네트워크를 지정하려면.spec.networkAttachments를 사용해야 합니다. -
기본 UDP 포트 7410을 사용하지 않는 경우
kdump서비스에서kdump알림을 수신하는 UDP 포트를 지정하려면.spec.instanceHaKdumpPort를 사용해야 합니다. 자세한 내용은 컴퓨팅 노드가 커널 덤프를 캡처하는지 탐지를 참조하십시오.
-
- 6
- 선택 사항: 여러 클라우드가 정의된 경우 별도의 인스턴스 HA 서비스 Pod를 생성하여 각 클라우드를 모니터링할 수 있습니다. 이 경우 다음 설정을 사용하여 각 클라우드에 필요한 인증 세부 정보를 지정할 수 있습니다.
-
.spec.openStackCloud를 사용하여clouds.yaml파일에 자세히 설명된 클라우드의 이름을 지정할 수 있습니다. 값을 지정하지 않으면기본값이사용됩니다. -
.spec.openStackConfigMap을 사용하여clouds.yaml파일이 포함된ConfigMap의 이름을 지정할 수 있습니다. -
.spec.openStackConfigSecret을 사용하여 관리자 암호가 포함된 시크릿 이름을 지정할 수 있습니다.
-
- 7
- 선택 사항:
.spec.nodeSelector를 사용하여 실행할 인스턴스 HA 서비스 Pod가 필요한RHOCP(Red Hat OpenShift Container Platform) 작업자 노드의 레이블을 지정할 수 있습니다. 자세한 내용은 Cryostat 노드 의 노드 선택기를 사용하여 특정 노드에 Pod 배치를 참조하십시오.
2.1.2. 컴퓨팅 노드의 펜싱 구성 링크 복사링크가 클립보드에 복사되었습니다!
비우기를 받을 수 있는 각 컴퓨팅 노드를 펜싱해야 합니다. Compute 인스턴스(Instance HA) 서비스 Pod를 위해 OpenShift(RHOSO)에 Red Hat OpenStack Services를 배포할 때 지정하는 fencingSecret YAML 파일에 펜싱 에이전트를 구성합니다.
구성된 펜싱 에이전트가 없으면 컴퓨팅 노드를 비울 수 없습니다.
지원되는 펜싱 에이전트는 Metal의 펜싱 에이전트인 IPMI, Redfish 또는 BareMetalHost(BMH)입니다.
다음은 지원되는 세 가지 펜싱 에이전트의 구성 예를 제공하는 fencing-0.yaml 이라는 fencingSecret YAML 파일의 예입니다.
Compute 서비스(nova) 호스트 이름을 사용하여 각 컴퓨팅 노드(예: compute-0 )를 식별해야 합니다. 다음 명령을 사용하여 이러한 호스트 이름( $ openstack compute service list )을 가져올 수 있습니다.
$ cat fencing-0.yaml
---
apiVersion: v1
kind: Secret
metadata:
name: fencing-0
stringData:
fencing.yaml: |
FencingConfig:
compute-0:
agent: ipmi
ipaddr: 192.168.111.9
ipport: 443
login: admin
passwd: password
compute-1:
agent: redfish
ipaddr: 192.158.12.3
ipport: 8000
tls: 'true'
login: admin
passwd: password
uuid: b7d32e6b-edbc-477d-80bf-4cda77ada8cb
compute-2:
agent: bmh
host: edpm-compute-0
namespace: openstack-edpm-ipam
token: $2a$10$yc9Q.eHLiQmCdS0/LzxJ5.V5/lrmx8JxwFbU5X4Hdr1albfDl7wtm
- 1
- IPMI 펜싱 에이전트
에이전트를 제공해야 합니다. ipmi는 IPMI(Intelligent Platform Management Interface)의 IP 연결 및 사용자 인증 세부 정보를 제공해야 합니다. - 2
- Redfish 펜싱 에이전트
에이전트를 제공해야 합니다. redfish는 Redfish 호스트 인터페이스의 IP 연결 및 사용자 인증 세부 정보를 사용해야 합니다.Redfish 호스트 인터페이스에서 기본 443 포트를 사용하지 않는 경우
ipport매개변수를 지정해야 합니다. quotes에tls매개변수의 값을'true'로 지정해야 합니다.uuid매개변수는표준서버의 경우 선택 사항입니다. 이 경우 인스턴스 HA 서비스에서 기본값System.Embedded.1을 사용하여 Redfish 노드 UUID를 지정합니다. - 3
- MetalMetalHost(BMH) 에이전트의 BareMetalHost(BMH) 펜싱
에이전트를 제공해야 합니다. bmh에는 연결된 BMH 리소스의 세부 정보가 포함됩니다.이 명령을 사용하여 BMH 리소스의
호스트및네임스페이스를가져올 수 있습니다.$ oc get bmh NAME STATE CONSUMER ONLINE ERROR AGE edpm-compute-0 provisioned openstack-edpm-ipam true 17h edpm-compute-1 provisioned openstack-edpm-ipam true 17hNAME열은 BMH 리소스호스트를 제공합니다(예:edpm-compute-0).CONSUMER열에는 BMH 리소스네임스페이스(예:openstack-edpm-ipam)가 있습니다. BMH 리소스의 전원을 켜는 데 필요한 권한이 있는 사용자가 이미 있는 경우 인증 토큰을 BMH 리소스토큰으로제공할 수 있습니다. 그렇지 않은 경우 전용 RHOCP(OpenShift Container Platform) 서비스 계정을 생성하고 이 인증 토큰을 제공해야 합니다. 자세한 내용은: Cryostat 인증 및 권한 부여를 참조하십시오.