에이전트 기반 설치 관리자를 사용하여 온프레미스 클러스터 설치
에이전트 기반 설치 관리자를 사용하여 온프레미스 OpenShift Container Platform 클러스터 설치
초록
1장. 에이전트 기반 설치 관리자를 사용하여 설치 준비
1.1. 에이전트 기반 설치 관리자 정보
에이전트 기반 설치 방법은 원하는 방식으로 온-프레미스 서버를 부팅할 수 있는 유연성을 제공합니다.The Agent-based installation method provides the flexibility to boot your on-premises servers in any way that you choose. 지원 설치 서비스를 쉽게 사용할 수 있는 기능과 Air-gapped 환경을 포함하여 오프라인으로 실행할 수 있는 기능을 결합합니다. 에이전트 기반 설치는 OpenShift Container Platform 설치 프로그램의 하위 명령입니다. 사용 가능한 릴리스 이미지와 함께 OpenShift Container Platform 클러스터를 배포하는 데 필요한 모든 정보가 포함된 부팅 가능한 ISO 이미지를 생성합니다.
구성은 설치 관리자 프로비저닝 인프라 및 사용자 프로비저닝 인프라 설치 방법과 동일한 형식으로 되어 있습니다. 에이전트 기반 설치 관리자는 선택적으로 ZTP(Zero Touch Provisioning) 사용자 지정 리소스를 생성하거나 허용할 수 있습니다. ZTP를 사용하면 베어 메탈 장비의 선언적 구성으로 새로운 에지 사이트를 프로비저닝할 수 있습니다.
CPU 아키텍처 | 연결된 설치 | 연결이 해제된 설치 | 주석 |
---|---|---|---|
| ✓ | ✓ | |
| ✓ | ✓ | |
| ✓ | ✓ | |
| ✓ | ✓ | ISO 부팅은 지원되지 않습니다. 대신 PXE 자산을 사용합니다. |
1.2. 에이전트 기반 설치 관리자 이해
OpenShift Container Platform 사용자는 연결이 끊긴 환경에서 지원 설치 관리자 호스팅 서비스의 이점을 활용할 수 있습니다.
에이전트 기반 설치는 지원 검색 에이전트와 지원 서비스가 포함된 부팅 가능한 ISO로 구성됩니다. 둘 다 클러스터 설치를 수행하는 데 필요하지만 두 번째는 호스트 중 하나에서만 실행됩니다.
현재 IBM Z® (s390x
) 아키텍처에서는 ISO 부팅이 지원되지 않습니다. 권장 방법은 추가 커널 인수를 지정해야 하는 PXE 자산을 사용하는 것입니다.
openshift-install agent create image
하위 명령은 사용자가 제공하는 입력을 기반으로 임시 ISO를 생성합니다. 다음 매니페스트를 통해 입력을 제공하도록 선택할 수 있습니다.
기본 설정:
-
install-config.yaml
-
agent-config.yaml
또는
선택 사항: ZTP 매니페스트
-
cluster-manifests/cluster-deployment.yaml
-
cluster-manifests/agent-cluster-install.yaml
-
cluster-manifests/pull-secret.yaml
-
cluster-manifests/infraenv.yaml
-
cluster-manifests/cluster-image-set.yaml
-
cluster-manifests/nmstateconfig.yaml
-
mirror/registries.conf
-
mirror/ca-bundle.crt
1.2.1. 에이전트 기반 설치 프로그램 워크플로
컨트롤 플레인 호스트 중 하나는 부팅 프로세스 시작 시 지원 서비스를 실행하고 결국 부트스트랩 호스트가 됩니다. 이 노드를 rendezvous host (node 0)라고 합니다. 지원 서비스를 사용하면 모든 호스트가 요구 사항을 충족하고 OpenShift Container Platform 클러스터 배포를 트리거합니다. 모든 노드에는 디스크에 기록된 RHCOS(Red Hat Enterprise Linux CoreOS) 이미지가 있습니다. 부트스트랩이 아닌 노드가 재부팅되고 클러스터 배포를 시작합니다. 노드가 재부팅되면 rendezvous 호스트가 재부팅되고 클러스터에 참여합니다. 부트스트랩이 완료되고 클러스터가 배포됩니다.
그림 1.1. 노드 설치 워크플로

openshift-install agent create image
하위 명령을 통해 다음 토폴로지에 대해 연결이 끊긴 OpenShift Container Platform 클러스터를 설치할 수 있습니다.
- 단일 노드 OpenShift Container Platform 클러스터(SNO): 마스터와 작업자 둘 다인 노드입니다.
- 3-노드 OpenShift Container Platform 클러스터 : 작업자 노드이기도 하는 마스터 노드가 3개인 컴팩트 클러스터입니다.
- 고가용성 OpenShift Container Platform 클러스터(HA): 여러 개의 작업자 노드가 있는 마스터 노드 3개
1.2.2. 토폴로지에 권장되는 리소스
다음 토폴로지에 권장되는 클러스터 리소스:
토폴로지 | 컨트롤 플레인 노드 수 | 컴퓨팅 노드 수 | vCPU | 메모리 | 스토리지 |
---|---|---|---|---|---|
단일 노드 클러스터 | 1 | 0 | 8개의 vCPU | 16GB RAM | 120GB |
컴팩트 클러스터 | 3 | 0 또는 1 | 8개의 vCPU | 16GB RAM | 120GB |
HA 클러스터 | 3 | 2 이상 | 8개의 vCPU | 16GB RAM | 120GB |
install-config.yaml
에서 설치를 수행할 플랫폼을 지정합니다. 지원되는 플랫폼은 다음과 같습니다.
-
baremetal
-
vSphere
-
external
none
중요Platform
none
의 경우 다음을 수행합니다.-
none
옵션을 사용하려면 클러스터에서 DNS 이름 확인 및 로드 밸런싱 인프라를 프로비저닝해야 합니다. 자세한 내용은 "추가 리소스 " 섹션의 platform "none" 옵션을 사용하는 클러스터 요구 사항을 참조하십시오. - 가상화 또는 클라우드 환경에서 OpenShift Container Platform 클러스터를 설치하기 전에 테스트되지 않은 플랫폼에 OpenShift Container Platform 배포 지침의 정보를 검토하십시오.
-
1.3. FIPS 컴플라이언스 정보
많은 OpenShift Container Platform 고객은 시스템을 프로덕션 환경에 도입하기 전에 일정 수준의 규제 준비 또는 컴플라이언스를 갖춰야 합니다. 이러한 규정 준비는 국가 표준, 산업 표준 또는 조직의 기업 거버넌스 프레임워크에 따라 규정될 수 있습니다. FIPS(Federal Information Processing Standards) 규정 준수는 노드에서 지원되는 암호화 기술만 허용되도록 매우 안전한 환경에서 필요한 가장 중요한 구성 요소 중 하나입니다.
클러스터의 FIPS 모드를 활성화하려면 FIPS 모드에서 작동하도록 구성된 RHEL(Red Hat Enterprise Linux) 컴퓨터에서 설치 프로그램을 실행해야 합니다. RHEL에서 FIPS 모드 구성에 대한 자세한 내용은 FIPS 모드에서 시스템 설치를 참조하십시오. FIPS 모드에서 부팅된 RHEL(Red Hat Enterprise Linux CoreOS) 또는 RHCOS(Red Hat Enterprise Linux CoreOS)를 실행하는 경우 OpenShift Container Platform 코어 구성 요소는 x86_64, ppc64le 및 s390x 아키텍처에서만 FIPS 140-2/140-3 Validation에 대해 NIST에 제출된 RHEL 암호화 라이브러리를 사용합니다.
1.4. 에이전트 기반 설치 관리자를 통한 FIPS 구성
클러스터 배포 중에 RHCOS(Red Hat Enterprise Linux CoreOS) 시스템이 클러스터에 배포될 때 FIPS(Federal Information Processing Standards) 변경 사항이 적용됩니다. RHEL(Red Hat Enterprise Linux) 머신의 경우 작업자 시스템으로 사용하려는 시스템에 운영 체제를 설치할 때 FIPS 모드를 활성화해야 합니다.
install-config.yaml
및 agent-config.yaml
의 기본 방법을 통해 FIPS 모드를 활성화할 수 있습니다.
install-config.yaml
파일에서fips
필드의 값을True
로 설정해야 합니다.샘플 install-config.yaml.file
apiVersion: v1 baseDomain: test.example.com metadata: name: sno-cluster fips: True
선택 사항: GitOps ZTP 매니페스트를 사용하는 경우
agent-cluster-install.yaml
파일의Agent-install.openshift.io/install-config-overrides
필드에서fips
값을True
로 설정해야 합니다.agent-cluster-install.yaml 파일 샘플
apiVersion: extensions.hive.openshift.io/v1beta1 kind: AgentClusterInstall metadata: annotations: agent-install.openshift.io/install-config-overrides: '{"fips": True}' name: sno-cluster namespace: sno-cluster-test
추가 리소스
1.5. 호스트 구성
네트워크 구성 및 루트 장치 팁과 같은 agent-config.yaml
파일에서 클러스터의 각 호스트에 대한 추가 구성을 수행할 수 있습니다.
구성하는 각 호스트에 대해 구성 중인 호스트를 지정하려면 호스트에 인터페이스의 MAC 주소를 제공해야 합니다.
1.5.1. 호스트 역할
클러스터의 각 호스트에는 마스터
또는 작업자
의 역할이 할당됩니다. role 매개변수를 사용하여 agent-config.yaml
파일에서 각 호스트에 대한 역할을
정의할 수 있습니다. 호스트에 역할을 할당하지 않으면 설치 중에 역할이 무작위로 할당됩니다.
호스트의 역할을 명시적으로 정의하는 것이 좋습니다.
rendezvousIP
는 마스터
역할이 있는 호스트에 할당되어야 합니다. 이 작업은 수동으로 수행하거나 에이전트 기반 설치 프로그램이 역할을 할당하도록 허용하여 수행할 수 있습니다.
rendezvous 호스트에 대한 마스터
역할을 명시적으로 정의할 필요는 없지만 이 할당과 충돌하는 구성을 생성할 수는 없습니다.
예를 들어 master
역할을 갖도록 명시적으로 정의된 호스트 중 4개의 호스트가 있는 경우 설치 중에 자동으로 worker
역할이 할당된 마지막 호스트는 rendezvous 호스트로 구성할 수 없습니다.
agent-config.yaml 파일 샘플
apiVersion: v1beta1 kind: AgentConfig metadata: name: example-cluster rendezvousIP: 192.168.111.80 hosts: - hostname: master-1 role: master interfaces: - name: eno1 macAddress: 00:ef:44:21:e6:a5 - hostname: master-2 role: master interfaces: - name: eno1 macAddress: 00:ef:44:21:e6:a6 - hostname: master-3 role: master interfaces: - name: eno1 macAddress: 00:ef:44:21:e6:a7 - hostname: worker-1 role: worker interfaces: - name: eno1 macAddress: 00:ef:44:21:e6:a8
1.5.2. 루트 장치 팁 정보
rootDeviceHints
매개 변수를 사용하면 설치 프로그램이 RHCOS (Red Hat Enterprise Linux CoreOS) 이미지를 특정 장치에 프로비저닝할 수 있습니다. 설치 프로그램은 장치를 검색한 순서대로 검사하고 검색된 값을 팁과 비교합니다. 설치 프로그램은 팁과 일치하는 첫 번째 검색된 장치를 사용합니다. 이 설정은 여러 팁을 결합할 수 있지만 장치는 설치 프로그램이이를 선택할 수 있도록 모든 팁과 일치해야 합니다.
서브 필드 | 설명 |
---|---|
|
Linux 장치 이름(예: |
|
|
| 공급 업체별 장치 식별자가 포함된 문자열. 팁은 실제 값의 하위 문자열입니다. |
| 장치의 공급 업체 또는 제조업체 이름이 포함된 문자열입니다. 팁은 실제 값의 하위 문자열입니다. |
| 장치 일련 번호가 포함된 문자열입니다. 팁은 실제 값과 정확히 일치해야 합니다. |
| 장치의 최소 크기 (기가 바이트)를 나타내는 정수입니다. |
|
고유 저장소 식별자를 포함하는 문자열입니다. 팁은 실제 값과 정확히 일치해야 합니다. |
| 장치가 회전 디스크 여야하는지 (true) 아닌지 (false)를 나타내는 부울 값입니다. |
사용 예
- name: master-0 role: master rootDeviceHints: deviceName: "/dev/sda"
1.6. 네트워킹 정보
초기 부팅 중에 모든 호스트가 지원 서비스를 확인할 수 있도록 에이전트 ISO를 생성할 때 ndezvous IP 를 알고 있어야 합니다. DHCP(Dynamic Host Configuration Protocol) 서버를 사용하여 IP 주소를 할당하는 경우 배포된 컨트롤 플레인의 일부가 될 호스트 중 하나의 IP 주소로 rendezvousIP
필드를 설정해야 합니다. DHCP 서버가 없는 환경에서는 IP 주소를 정적으로 정의할 수 있습니다.
고정 IP 주소 외에도 NMState 형식의 모든 네트워크 구성을 적용할 수 있습니다. 여기에는 VLAN 및 NIC 본딩이 포함됩니다.
1.6.1. DHCP
기본 방법: install-config.yaml
및 agent-config.yaml
rendezvousIP
필드의 값을 지정해야 합니다. networkConfig
필드를 비워 둘 수 있습니다.
agent-config.yaml.file 샘플
apiVersion: v1alpha1
kind: AgentConfig
metadata:
name: sno-cluster
rendezvousIP: 192.168.111.80 1
- 1
- rendezvous 호스트의 IP 주소입니다.
1.6.2. 정적 네트워킹
기본 방법:
install-config.yaml
및agent-config.yaml
agent-config.yaml.file 샘플
cat > agent-config.yaml << EOF apiVersion: v1alpha1 kind: AgentConfig metadata: name: sno-cluster rendezvousIP: 192.168.111.80 1 hosts: - hostname: master-0 interfaces: - name: eno1 macAddress: 00:ef:44:21:e6:a5 2 networkConfig: interfaces: - name: eno1 type: ethernet state: up mac-address: 00:ef:44:21:e6:a5 ipv4: enabled: true address: - ip: 192.168.111.80 3 prefix-length: 23 4 dhcp: false dns-resolver: config: server: - 192.168.111.1 5 routes: config: - destination: 0.0.0.0/0 next-hop-address: 192.168.111.1 6 next-hop-interface: eno1 table-id: 254 EOF
선택적 방법: GitOps ZTP 매니페스트
GitOps ZTP 사용자 정의 리소스의 선택적 방법은 6개의 사용자 지정 리소스로 구성됩니다.
nmstateconfig.yaml
파일에서 고정 IP를 구성할 수 있습니다.apiVersion: agent-install.openshift.io/v1beta1 kind: NMStateConfig metadata: name: master-0 namespace: openshift-machine-api labels: cluster0-nmstate-label-name: cluster0-nmstate-label-value spec: config: interfaces: - name: eth0 type: ethernet state: up mac-address: 52:54:01:aa:aa:a1 ipv4: enabled: true address: - ip: 192.168.122.2 1 prefix-length: 23 2 dhcp: false dns-resolver: config: server: - 192.168.122.1 3 routes: config: - destination: 0.0.0.0/0 next-hop-address: 192.168.122.1 4 next-hop-interface: eth0 table-id: 254 interfaces: - name: eth0 macAddress: 52:54:01:aa:aa:a1 5
rendezvous IP는 config
필드에 지정된 고정 IP 주소에서 선택됩니다.
1.7. platform "none" 옵션을 사용하는 클러스터의 요구 사항
이 섹션에서는 platform none
옵션을 사용하도록 구성된 에이전트 기반 OpenShift Container Platform 설치에 대한 요구 사항에 대해 설명합니다.
가상화 또는 클라우드 환경에서 OpenShift Container Platform 클러스터를 설치하기 전에 테스트되지 않은 플랫폼에 OpenShift Container Platform 배포 지침의 정보를 검토하십시오.
1.7.1. 플랫폼 "none" DNS 요구 사항
OpenShift Container Platform 배포의 경우 다음 구성 요소에 DNS 이름을 확인해야 합니다.
- Kubernetes API
- OpenShift Container Platform 애플리케이션 와일드카드
- 컨트롤 플레인 및 컴퓨팅 시스템
Kubernetes API, 컨트롤 플레인 시스템 및 컴퓨팅 머신에도 역방향 DNS 확인이 필요합니다.
DNS A/AAAA 또는 CNAME 레코드는 이름 확인에 사용되며 PTR 레코드는 역방향 이름 확인에 사용됩니다. RHCOS (Red Hat Enterprise Linux CoreOS)는 DHCP에서 호스트 이름을 제공하지 않는 한 모든 노드의 호스트 이름을 설정할 때 역방향 레코드를 사용하기 때문에 역방향 레코드가 중요합니다. 또한 역방향 레코드는 OpenShift Container Platform이 작동하는 데 필요한 인증서 서명 요청 (CSR)을 생성하는 데 사용됩니다.
DHCP 서버를 사용하여 각 클러스터 노드에 호스트 이름을 제공하는 것이 좋습니다.
다음 DNS 레코드는 platform none
옵션을 사용하는 OpenShift Container Platform 클러스터에 필요하며 설치 전에 있어야 합니다. 각 레코드에서 <cluster_name>
은 클러스터 이름이고 <base_domain>
은 install-config.yaml
파일에서 지정하는 기반 도메인입니다. 전체 DNS 레코드는 <component>.<cluster_name>.<base_domain>
형식입니다.
구성 요소 | 레코드 | 설명 |
---|---|---|
Kubernetes API |
| API 로드 밸런서를 식별하는 DNS A/AAAA 또는 CNAME 레코드와 DNS PTR 레코드입니다. 이 레코드는 클러스터 외부의 클라이언트와 클러스터 내의 모든 노드에서 확인할 수 있어야 합니다. |
| 내부적으로 API 로드 밸런서를 식별하는 DNS A/AAAA 또는 CNAME 레코드와 DNS PTR 레코드입니다. 이 레코드는 클러스터 내의 모든 노드에서 확인할 수 있어야 합니다. 중요 API 서버는 Kubernetes에 기록된 호스트 이름으로 작업자 노드를 확인할 수 있어야 합니다. API 서버가 노드 이름을 확인할 수 없는 경우 프록시된 API 호출이 실패할 수 있으며 pod에서 로그를 검색할 수 없습니다. | |
라우트 |
| 애플리케이션 인그레스 로드 밸런서를 참조하는 와일드카드 DNS A/AAA 또는 CNAME 레코드입니다. 애플리케이션 인그레스 로드 밸런서는 Ingress 컨트롤러 Pod를 실행하는 머신을 대상으로 합니다. Ingress 컨트롤러 Pod는 기본적으로 컴퓨팅 머신에서 실행됩니다. 이 레코드는 클러스터 외부의 클라이언트와 클러스터 내의 모든 노드에서 확인할 수 있어야 합니다.
예를 들어 |
컨트롤 플레인 머신 |
| 컨트롤 플레인 노드의 각 머신을 식별하는 DNS A/AAAA 또는 CNAME 레코드와 DNS PTR 레코드입니다. 이 레코드는 클러스터 내의 노드에서 확인할 수 있어야 합니다. |
컴퓨팅 머신 |
| 작업자 노드의 각 머신을 식별하는 DNS A/AAAA 또는 CNAME 레코드와 DNS PTR 레코드입니다. 이 레코드는 클러스터 내의 노드에서 확인할 수 있어야 합니다. |
OpenShift Container Platform 4.4 이상에서는 DNS 구성에서 etcd 호스트 및 SRV 레코드를 지정할 필요가 없습니다.
dig
명령을 사용하여 이름과 역방향 이름을 확인할 수 있습니다.
1.7.1.1. 플랫폼 "none" 클러스터의 DNS 구성 예
이 섹션에서는 platform none
옵션을 사용하여 OpenShift Container Platform 배포를 위한 DNS 요구 사항을 충족하는 A 및 PTR 레코드 구성 샘플을 제공합니다. 샘플은 하나의 DNS 솔루션을 선택하기 위한 조언을 제공하기 위한 것이 아닙니다.
이 예제에서 클러스터 이름은 ocp4
이고 기본 도메인은 example.com
입니다.
플랫폼 "none" 클러스터의 DNS A 레코드 구성 예
다음 예제는 platform none
옵션을 사용하여 클러스터의 이름 확인을 위한 샘플 A 레코드를 보여주는 BIND 영역 파일입니다.
예 1.1. 샘플 DNS 영역 데이터베이스
$TTL 1W @ IN SOA ns1.example.com. root ( 2019070700 ; serial 3H ; refresh (3 hours) 30M ; retry (30 minutes) 2W ; expiry (2 weeks) 1W ) ; minimum (1 week) IN NS ns1.example.com. IN MX 10 smtp.example.com. ; ; ns1.example.com. IN A 192.168.1.5 smtp.example.com. IN A 192.168.1.5 ; helper.example.com. IN A 192.168.1.5 helper.ocp4.example.com. IN A 192.168.1.5 ; api.ocp4.example.com. IN A 192.168.1.5 1 api-int.ocp4.example.com. IN A 192.168.1.5 2 ; *.apps.ocp4.example.com. IN A 192.168.1.5 3 ; master0.ocp4.example.com. IN A 192.168.1.97 4 master1.ocp4.example.com. IN A 192.168.1.98 5 master2.ocp4.example.com. IN A 192.168.1.99 6 ; worker0.ocp4.example.com. IN A 192.168.1.11 7 worker1.ocp4.example.com. IN A 192.168.1.7 8 ; ;EOF
- 1
- Kubernetes API의 이름 확인을 제공합니다. 레코드는 API 로드 밸런서의 IP 주소를 나타냅니다.
- 2
- Kubernetes API의 이름 확인을 제공합니다. 레코드는 API 로드 밸런서의 IP 주소를 참조하며 내부 클러스터 통신에 사용됩니다.
- 3
- 와일드카드 경로의 이름 확인을 제공합니다. 레코드는 애플리케이션 인그레스 로드 밸런서의 IP 주소를 나타냅니다. 애플리케이션 인그레스 로드 밸런서는 Ingress 컨트롤러 Pod를 실행하는 머신을 대상으로 합니다. Ingress 컨트롤러 Pod는 기본적으로 컴퓨팅 머신에서 실행됩니다.참고
이 예제에서는 Kubernetes API 및 애플리케이션 인그레스 트래픽에 동일한 로드 밸런서를 사용합니다. 프로덕션 시나리오에서는 각각에 대해 개별적으로 로드 밸런서 인프라를 확장할 수 있도록 API 및 애플리케이션 인그레스 로드 밸런서를 별도로 배포할 수 있습니다.
- 4 5 6
- 컨트롤 플레인 시스템의 이름 확인을 제공합니다.
- 7 8
- 컴퓨팅 시스템의 이름 확인을 제공합니다.
플랫폼 "none" 클러스터의 DNS PTR 레코드 구성 예
다음 예제 BIND 영역 파일은 platform none
옵션을 사용하여 클러스터의 역방향 이름 확인을 위한 샘플 PTR 레코드를 보여줍니다.
예 1.2. 역방향 레코드의 샘플 DNS 영역 데이터베이스
$TTL 1W @ IN SOA ns1.example.com. root ( 2019070700 ; serial 3H ; refresh (3 hours) 30M ; retry (30 minutes) 2W ; expiry (2 weeks) 1W ) ; minimum (1 week) IN NS ns1.example.com. ; 5.1.168.192.in-addr.arpa. IN PTR api.ocp4.example.com. 1 5.1.168.192.in-addr.arpa. IN PTR api-int.ocp4.example.com. 2 ; 97.1.168.192.in-addr.arpa. IN PTR master0.ocp4.example.com. 3 98.1.168.192.in-addr.arpa. IN PTR master1.ocp4.example.com. 4 99.1.168.192.in-addr.arpa. IN PTR master2.ocp4.example.com. 5 ; 11.1.168.192.in-addr.arpa. IN PTR worker0.ocp4.example.com. 6 7.1.168.192.in-addr.arpa. IN PTR worker1.ocp4.example.com. 7 ; ;EOF
OpenShift Container Platform 애플리케이션 와일드카드에는 PTR 레코드가 필요하지 않습니다.
1.7.2. 플랫폼 "none" 로드 밸런싱 요구 사항
OpenShift Container Platform을 설치하기 전에 API 및 애플리케이션 Ingress 로드 밸런싱 인프라를 프로비저닝해야 합니다. 프로덕션 시나리오에서는 각각에 대해 개별적으로 로드 밸런서 인프라를 확장할 수 있도록 API 및 애플리케이션 인그레스 로드 밸런서를 별도로 배포할 수 있습니다.
이러한 요구 사항은 platform none
옵션을 사용하는 단일 노드 OpenShift 클러스터에는 적용되지 않습니다.
RHEL(Red Hat Enterprise Linux) 인스턴스를 사용하여 API 및 애플리케이션 인그레스 로드 밸런서를 배포하려면 RHEL 서브스크립션을 별도로 구입해야 합니다.
로드 밸런서 인프라는 다음 요구 사항을 충족해야 합니다.
API 로드 밸런서: 플랫폼과 상호 작용하고 플랫폼을 구성할 수 있도록 사용자(인간과 시스템 모두)에게 공통 끝점을 제공합니다. 다음 조건을 설정합니다.
- Layer 4 로드 밸런싱 전용입니다. 이를 Raw TCP, SSL Passthrough 또는 SSL Bridge 모드라고 합니다. SSL Bridge 모드를 사용하는 경우, API 경로에 대해 SNI(Server Name Indication, 서버 이름 표시)를 활성화해야 합니다.
- 스테이트리스 로드 밸런싱 알고리즘입니다. 옵션은 로드 밸런서 구현에 따라 달라집니다.
중요API 로드 밸런서에 대한 세션 지속성을 구성하지 마십시오.
로드 밸런서의 전면과 후면 모두에서 다음 포트를 구성하십시오.
표 1.5. API 로드 밸런서 포트 백엔드 시스템(풀 멤버) 내부 외부 설명 6443
컨트롤 플레인. API 서버 상태 검사 프로브에 대한
/readyz
끝점을 구성해야 합니다.X
X
Kubernetes API 서버
22623
컨트롤 플레인.
X
시스템 구성 서버
참고API 서버가
/readyz
엔드포인트를 해제하는 시점부터 풀에서 API 서버 인스턴스가 제거되는 시점까지 시간이 30초를 넘지 않도록 로드 밸런서를 구성해야 합니다./readyz
가 오류를 반환하거나 정상 상태가 된 후 정해진 시간 안에 끝점이 제거 또는 추가되어야 합니다. 5초 또는 10초의 프로빙 주기(두 번의 성공적인 요청은 정상 상태, 세 번의 요청은 비정상 상태)는 충분한 테스트를 거친 값입니다.애플리케이션 인그레스 로드 밸런서: 클러스터 외부에서 유입되는 애플리케이션 트래픽에 대한 수신 지점을 제공합니다. 인그레스 라우터에 대한 작업 구성이 OpenShift Container Platform 클러스터에 필요합니다.
다음 조건을 설정합니다.
- Layer 4 로드 밸런싱 전용입니다. 이를 Raw TCP, SSL Passthrough 또는 SSL Bridge 모드라고 합니다. SSL Bridge 모드를 사용하는 경우 인그레스 경로에 대해 SNI(Server Name Indication, 서버 이름 표시)를 활성화해야 합니다.
- 사용 가능한 옵션과 플랫폼에서 호스팅되는 애플리케이션 유형에 따라 연결 기반 또는 세션 기반 지속성이 권장됩니다.
작은 정보애플리케이션 Ingress 로드 밸런서에서 클라이언트의 실제 IP 주소를 확인할 수 있는 경우 소스 IP 기반 세션 지속성을 활성화하면 엔드 투 엔드 TLS 암호화를 사용하는 애플리케이션의 성능을 향상시킬 수 있습니다.
로드 밸런서의 전면과 후면 모두에서 다음 포트를 구성하십시오.
표 1.6. 애플리케이션 인그레스 로드 밸런서 포트 백엔드 시스템(풀 멤버) 내부 외부 설명 443
기본적으로 인그레스 컨트롤러 pod, 컴퓨팅 또는 작업자를 실행하는 시스템입니다.
X
X
HTTPS 트래픽
80
기본적으로 인그레스 컨트롤러 pod, 컴퓨팅 또는 작업자를 실행하는 시스템입니다.
X
X
HTTP 트래픽
참고컴퓨팅 노드가 0인 3-노드 클러스터를 배포하는 경우 Ingress 컨트롤러 Pod는 컨트롤 플레인 노드에서 실행됩니다. 3-노드 클러스터 배포에서 HTTP 및 HTTPS 트래픽을 컨트롤 플레인 노드로 라우팅하도록 애플리케이션 인그레스 로드 밸런서를 구성해야 합니다.
1.7.2.1. 플랫폼 "none" 클러스터의 로드 밸런서 구성 예
이 섹션에서는 platform none
옵션을 사용하여 클러스터의 로드 밸런싱 요구 사항을 충족하는 API 및 애플리케이션 인그레스 로드 밸런서 구성 예를 제공합니다. 샘플은 HAProxy 로드 밸런서에 대한 /etc/haproxy/haproxy.cfg
구성입니다. 이 예제에서는 하나의 로드 밸런싱 솔루션을 선택하기 위한 조언을 제공하는 것을 목적으로 하지 않습니다.
이 예제에서는 Kubernetes API 및 애플리케이션 인그레스 트래픽에 동일한 로드 밸런서를 사용합니다. 프로덕션 시나리오에서는 각각에 대해 개별적으로 로드 밸런서 인프라를 확장할 수 있도록 API 및 애플리케이션 인그레스 로드 밸런서를 별도로 배포할 수 있습니다.
HAProxy를 로드 밸런서로 사용하고 SELinux가 enforcing
으로 설정된 경우 HAProxy 서비스가 setsebool -P haproxy_connect_any=1
을 실행하여 구성된 TCP 포트에 바인딩할 수 있는지 확인해야 합니다.
예 1.3. API 및 애플리케이션 인그레스 로드 밸런서 구성 샘플
global log 127.0.0.1 local2 pidfile /var/run/haproxy.pid maxconn 4000 daemon defaults mode http log global option dontlognull option http-server-close option redispatch retries 3 timeout http-request 10s timeout queue 1m timeout connect 10s timeout client 1m timeout server 1m timeout http-keep-alive 10s timeout check 10s maxconn 3000 listen api-server-6443 1 bind *:6443 mode tcp server master0 master0.ocp4.example.com:6443 check inter 1s server master1 master1.ocp4.example.com:6443 check inter 1s server master2 master2.ocp4.example.com:6443 check inter 1s listen machine-config-server-22623 2 bind *:22623 mode tcp server master0 master0.ocp4.example.com:22623 check inter 1s server master1 master1.ocp4.example.com:22623 check inter 1s server master2 master2.ocp4.example.com:22623 check inter 1s listen ingress-router-443 3 bind *:443 mode tcp balance source server worker0 worker0.ocp4.example.com:443 check inter 1s server worker1 worker1.ocp4.example.com:443 check inter 1s listen ingress-router-80 4 bind *:80 mode tcp balance source server worker0 worker0.ocp4.example.com:80 check inter 1s server worker1 worker1.ocp4.example.com:80 check inter 1s
- 1
- 포트
6443
은 Kubernetes API 트래픽을 처리하고 컨트롤 플레인 시스템을 가리킵니다. - 2
- 포트
22623
은 머신 구성 서버 트래픽을 처리하고 컨트롤 플레인 시스템을 가리킵니다. - 3
- 포트
443
은 HTTPS 트래픽을 처리하고 Ingress 컨트롤러 Pod를 실행하는 시스템을 가리킵니다. Ingress 컨트롤러 Pod는 기본적으로 컴퓨팅 머신에서 실행됩니다. - 4
- 포트
80
은 HTTP 트래픽을 처리하고 Ingress 컨트롤러 Pod를 실행하는 머신을 가리킵니다. Ingress 컨트롤러 Pod는 기본적으로 컴퓨팅 머신에서 실행됩니다.참고컴퓨팅 노드가 0인 3-노드 클러스터를 배포하는 경우 Ingress 컨트롤러 Pod는 컨트롤 플레인 노드에서 실행됩니다. 3-노드 클러스터 배포에서 HTTP 및 HTTPS 트래픽을 컨트롤 플레인 노드로 라우팅하도록 애플리케이션 인그레스 로드 밸런서를 구성해야 합니다.
HAProxy를 로드 밸런서로 사용하는 경우 HAProxy 노드에서 netstat -nltupe
를 실행하여 haproxy
프로세스가 포트 6443
, 22623
, 443
및 80
에서 수신 대기 중인지 확인할 수 있습니다.
1.8. 예: Bonds 및 VLAN 인터페이스 노드 네트워크 구성
다음 agent-config.yaml
파일은 본딩 및 VLAN 인터페이스에 대한 매니페스트의 예입니다.
apiVersion: v1alpha1 kind: AgentConfig rendezvousIP: 10.10.10.14 hosts: - hostname: master0 role: master interfaces: - name: enp0s4 macAddress: 00:21:50:90:c0:10 - name: enp0s5 macAddress: 00:21:50:90:c0:20 networkConfig: interfaces: - name: bond0.300 1 type: vlan 2 state: up vlan: base-iface: bond0 id: 300 ipv4: enabled: true address: - ip: 10.10.10.14 prefix-length: 24 dhcp: false - name: bond0 3 type: bond 4 state: up mac-address: 00:21:50:90:c0:10 5 ipv4: enabled: false ipv6: enabled: false link-aggregation: mode: active-backup 6 options: miimon: "150" 7 port: - enp0s4 - enp0s5 dns-resolver: 8 config: server: - 10.10.10.11 - 10.10.10.12 routes: config: - destination: 0.0.0.0/0 next-hop-address: 10.10.10.10 9 next-hop-interface: bond0.300 10 table-id: 254
- 1 3
- 인터페이스 이름입니다.
- 2
- 인터페이스 유형입니다. 이 예제에서는 VLAN을 만듭니다.
- 4
- 인터페이스 유형입니다. 이 예제에서는 본딩을 생성합니다.
- 5
- 인터페이스의 mac 주소입니다.
- 6
mode
속성은 본딩 모드를 지정합니다.- 7
- MII 링크 모니터링 빈도를 밀리초 단위로 지정합니다. 이 예제에서는 150 밀리초마다 본딩 링크를 검사합니다.
- 8
- 선택 사항: DNS 서버의 검색 및 서버 설정을 지정합니다.
- 9
- 노드 트래픽의 다음 홉 주소입니다. 지정된 인터페이스에 설정된 IP 주소와 동일한 서브넷에 있어야 합니다.
- 10
- 노드 트래픽을 위한 다음 홉 인터페이스입니다.
1.9. 예: Bonds 및 SR-IOV 듀얼 NIC 노드 네트워크 구성
SR-IOV 장치에 대한 NIC 파티셔닝 활성화와 관련된 Day 1 작업을 지원하는 것은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
다음 agent-config.yaml
파일은 본딩 및 SR-IOV 인터페이스가 있는 이중 포트 NIC의 매니페스트 예제입니다.
apiVersion: v1alpha1 kind: AgentConfig rendezvousIP: 10.10.10.14 hosts: - hostname: worker-1 interfaces: - name: eno1 macAddress: 0c:42:a1:55:f3:06 - name: eno2 macAddress: 0c:42:a1:55:f3:07 networkConfig: 1 interfaces: 2 - name: eno1 3 type: ethernet 4 state: up mac-address: 0c:42:a1:55:f3:06 ipv4: enabled: true dhcp: false 5 ethernet: sr-iov: total-vfs: 2 6 ipv6: enabled: false - name: sriov:eno1:0 type: ethernet state: up 7 ipv4: enabled: false 8 ipv6: enabled: false dhcp: false - name: sriov:eno1:1 type: ethernet state: down - name: eno2 type: ethernet state: up mac-address: 0c:42:a1:55:f3:07 ipv4: enabled: true ethernet: sr-iov: total-vfs: 2 ipv6: enabled: false - name: sriov:eno2:0 type: ethernet state: up ipv4: enabled: false ipv6: enabled: false - name: sriov:eno2:1 type: ethernet state: down - name: bond0 type: bond state: up min-tx-rate: 100 9 max-tx-rate: 200 10 link-aggregation: mode: active-backup 11 options: primary: sriov:eno1:0 12 port: - sriov:eno1:0 - sriov:eno2:0 ipv4: address: - ip: 10.19.16.57 13 prefix-length: 23 dhcp: false enabled: true ipv6: enabled: false dns-resolver: config: server: - 10.11.5.160 - 10.2.70.215 routes: config: - destination: 0.0.0.0/0 next-hop-address: 10.19.17.254 next-hop-interface: bond0 14 table-id: 254
- 1
networkConfig
필드에는 호스트의 네트워크 구성에 대한 정보가 포함되어 있으며,인터페이스
,dns-resolver
,경로를 포함한 하위 필드가 있습니다
.- 2
interfaces
필드는 호스트에 정의된 네트워크 인터페이스의 배열입니다.- 3
- 인터페이스의 이름입니다.
- 4
- 인터페이스 유형입니다. 이 예제에서는 이더넷 인터페이스를 생성합니다.
- 5
- 필요하지 않은 경우 물리적 기능(PF)의 DHCP를 비활성화하려면 이를
false
로 설정합니다. - 6
- 인스턴스화할 SR-IOV 가상 기능(VF) 수로 설정합니다.
- 7
- 이 값을
up
으로 설정합니다. - 8
- 본딩에 연결된 VF의 IPv4 주소를 비활성화하려면 이를
false
로 설정합니다. - 9
- VF에 대해 최소 전송 속도(Mbps)를 설정합니다. 이 샘플 값은 100Mbps의 속도를 설정합니다.
- 이 값은 최대 전송 속도보다 작거나 같아야 합니다.
-
Intel NIC는
min-tx-rate
매개변수를 지원하지 않습니다. 자세한 내용은 BZ#1772847 에서 참조하십시오.
- 10
- VF에 대해 최대 전송 속도(Mbps)를 설정합니다. 이 샘플 값은 200Mbps의 속도를 설정합니다.
- 11
- 원하는 본딩 모드를 설정합니다.
- 12
- 본딩 인터페이스의 기본 포트를 설정합니다. 기본 장치는 본딩 인터페이스 중 가장 먼저 사용되는 인터페이스로, 장애가 발생하지 않는 한 폐기되지 않습니다. 이 설정은 특히 본딩 인터페이스의 특정 NIC가 더 빨라서 더 큰 부하를 처리할 수 있는 경우 유용합니다. 이 설정은 본딩 인터페이스가
active-backup
모드(mode 1) 및balance-tlb
(mode 5)인 경우에만 유효합니다. - 13
- 본딩 인터페이스의 고정 IP 주소를 설정합니다. 노드 IP 주소입니다.
- 14
bond0
을 기본 경로의 게이트웨이로 설정합니다.
추가 리소스
1.10. 베어 메탈의 샘플 install-config.yaml 파일
install-config.yaml
파일을 사용자 지정하여 OpenShift Container Platform 클러스터 플랫폼에 대한 자세한 정보를 지정하거나 필수 매개변수 값을 수정할 수 있습니다.
apiVersion: v1 baseDomain: example.com 1 compute: 2 - name: worker replicas: 0 3 architecture: amd64 controlPlane: 4 name: master replicas: 1 5 architecture: amd64 metadata: name: sno-cluster 6 networking: clusterNetwork: - cidr: 10.128.0.0/14 7 hostPrefix: 23 8 networkType: OVNKubernetes 9 serviceNetwork: 10 - 172.30.0.0/16 platform: none: {} 11 fips: false 12 pullSecret: '{"auths": ...}' 13 sshKey: 'ssh-ed25519 AAAA...' 14
- 1
- 클러스터의 기본 도메인입니다. 모든 DNS 레코드는 이 기본 도메인의 하위 도메인이어야 하며 클러스터 이름을 포함해야 합니다.
- 2 4
controlPlane
섹션은 단일 매핑이지만compute
섹션은 일련의 매핑입니다. 서로 다른 데이터 구조의 요구사항을 충족하도록compute
섹션의 첫 번째 줄은 하이픈(-
)으로 시작해야 하며controlPlane
섹션의 첫 번째 줄은 하이픈으로 시작할 수 없습니다. 하나의 컨트롤 플레인 풀만 사용됩니다.- 3
- 이 매개 변수는 설치 프로세스를 트리거하기 전에 에이전트 기반 설치가 검색 대기하는 컴퓨팅 시스템 수를 제어합니다. 생성된 ISO로 부팅해야 하는 컴퓨팅 머신 수입니다.참고
3-노드 클러스터를 설치하는 경우 RHCOS(Red Hat Enterprise Linux CoreOS) 시스템을 설치할 때 컴퓨팅 머신을 배포하지 마십시오.
- 5
- 클러스터에 추가하는 컨트롤 플레인 시스템의 수입니다. 클러스터에서 이 값을 클러스터의 etcd 끝점 수로 사용하므로 이 값은 배포하는 컨트롤 플레인 시스템의 수와 일치해야 합니다.
- 6
- DNS 레코드에 지정한 클러스터 이름입니다.
- 7
- Pod IP 주소가 할당되는 IP 주소 블록입니다. 이 블록은 기존 물리적 네트워크와 중복되지 않아야합니다. 이러한 IP 주소는 Pod 네트워크에 사용됩니다. 외부 네트워크에서 Pod에 액세스해야 하는 경우, 트래픽을 관리하도록 로드 밸런서와 라우터를 설정해야 합니다.참고
클래스 E CIDR 범위는 향후 사용을 위해 예약되어 있습니다. 클래스 E CIDR 범위를 사용하려면 네트워킹 환경에서 클래스 E CIDR 범위 내의 IP 주소를 수락해야 합니다.
- 8
- 개별 노드 각각에 할당할 서브넷 접두사 길이입니다. 예를 들어
hostPrefix
를23
으로 설정하면 지정된cidr
이외/23
서브넷이 각 노드에 할당되어 510(2^(32 - 23) - 2) Pod IP 주소가 허용됩니다. 외부 네트워크에서 노드에 액세스해야 하는 경우 트래픽을 관리하도록 로드 밸런서와 라우터를 구성합니다. - 9
- 설치할 클러스터 네트워크 플러그인입니다. 기본 값
OVNKubernetes
는 지원되는 유일한 값입니다. - 10
- 서비스 IP 주소에 사용할 IP 주소 풀입니다. IP 주소 풀은 하나만 입력할 수 있습니다. 이 블록은 기존 물리적 네트워크와 중복되지 않아야합니다. 외부 네트워크에서 서비스에 액세스해야 하는 경우, 트래픽을 관리하도록 로드 밸런서와 라우터를 구성합니다.
- 11
- 단일 노드 클러스터에 대해 플랫폼을
none
으로 설정해야 합니다. 다중 노드 클러스터에 대해 플랫폼을vsphere
,baremetal
또는none
으로 설정할 수 있습니다.참고플랫폼을
vsphere
또는baremetal
로 설정하면 다음 세 가지 방법으로 클러스터 노드의 IP 주소 끝점을 구성할 수 있습니다.- IPv4
- IPv6
- IPv4 및 IPv6 병렬(dual-stack)
듀얼 스택 네트워킹의 예
networking: clusterNetwork: - cidr: 172.21.0.0/16 hostPrefix: 23 - cidr: fd02::/48 hostPrefix: 64 machineNetwork: - cidr: 192.168.11.0/16 - cidr: 2001:DB8::/32 serviceNetwork: - 172.22.0.0/16 - fd03::/112 networkType: OVNKubernetes platform: baremetal: apiVIPs: - 192.168.11.3 - 2001:DB8::4 ingressVIPs: - 192.168.11.4 - 2001:DB8::5
- 12
- FIPS 모드 활성화 또는 비활성화 여부입니다. 기본적으로 FIPS 모드는 비활성화됩니다. FIPS 모드가 활성화되면 OpenShift Container Platform이 실행되는 RHCOS(Red Hat Enterprise Linux CoreOS) 시스템에서 기본 Kubernetes 암호화 제품군은 우회하고 RHCOS와 함께 제공되는 암호화 모듈을 대신 사용합니다.중요
FIPS 모드에서 부팅된 RHEL(Red Hat Enterprise Linux CoreOS) 또는 RHCOS(Red Hat Enterprise Linux CoreOS)를 실행하는 경우 OpenShift Container Platform 코어 구성 요소는 x86_64, ppc64le 및 s390x 아키텍처에서만 FIPS 140-2/140-3 Validation에 대해 NIST에 제출된 RHEL 암호화 라이브러리를 사용합니다.
- 13
- 이 풀 시크릿을 사용하면 OpenShift Container Platform 구성 요소에 대한 컨테이너 이미지를 제공하는 Quay.io를 포함하여 인증 기관에서 제공하는 서비스로 인증할 수 있습니다.
- 14
- RHCOS(Red Hat Enterprise Linux CoreOS)의
core
사용자에 대한 SSH 공용 키입니다.참고설치 디버깅 또는 재해 복구를 수행하려는 프로덕션 OpenShift Container Platform 클러스터의 경우
ssh-agent
프로세스가 사용하는 SSH 키를 지정합니다.
1.11. 에이전트 ISO 생성 전 검증
에이전트 기반 설치 관리자는 ISO를 생성하기 전에 사용자 정의 YAML 파일에서 유효성 검사를 수행합니다. 검증에 성공하면 에이전트 ISO가 생성됩니다.
install-config.yaml
-
baremetal
,vsphere
및none
플랫폼은 지원되지 않습니다. -
networkType
매개변수는 플랫폼이없는
경우OVNKubernetes
여야 합니다. -
베어 메탈 및 vSphere 플랫폼에 대해
apiVIPs
및ingressVIPs
매개변수를 설정해야 합니다. -
agent-config.yaml
파일에 해당하는 베어 메탈 플랫폼 구성의 일부 호스트별 필드는 무시됩니다. 이러한 필드가 설정된 경우 경고 메시지가 기록됩니다.
agent-config.yaml
- 각 인터페이스에는 정의된 MAC 주소가 있어야 합니다. 또한 모든 인터페이스에 다른 MAC 주소가 있어야 합니다.
- 각 호스트에 대해 하나 이상의 인터페이스를 정의해야 합니다.
- WWN(World Wide Name) 벤더 확장은 루트 장치 팁에서 지원되지 않습니다.
-
host
오브젝트의role
매개변수에는master
또는worker
값이 있어야 합니다.
1.11.1. ZTP 매니페스트
agent-cluster-install.yaml
-
IPv6의 경우
networkType
매개변수에 지원되는 유일한 값은OVNKubernetes
입니다.OpenshiftSDN
값은 IPv4에만 사용할 수 있습니다.
cluster-image-set.yaml
-
ReleaseImage
매개변수는 설치 프로그램에 정의된 릴리스와 일치해야 합니다.
1.12. 다음 단계
2장. 연결 해제된 설치 미러링 이해
연결이 끊긴 설치에는 미러 레지스트리를 사용하고 클러스터가 외부 콘텐츠에 대한 조직의 제어를 충족하는 컨테이너 이미지만 사용하도록 할 수 있습니다. 연결이 끊긴 환경에서 프로비저닝하는 인프라에 클러스터를 설치하기 전에 필요한 컨테이너 이미지를 해당 환경에 미러링해야 합니다. 컨테이너 이미지를 미러링하려면 미러링을 위한 레지스트리가 있어야 합니다.
2.1. 에이전트 기반 설치 관리자를 통해 연결이 끊긴 설치의 이미지 미러링
다음 절차 중 하나를 사용하여 OpenShift Container Platform 이미지 저장소를 미러 레지스트리에 미러링할 수 있습니다.
2.2. 연결이 끊긴 레지스트리의 OpenShift Container Platform 이미지 저장소 미러링 정보
에이전트 기반 설치 관리자를 사용하여 연결이 끊긴 설치에 미러 이미지를 사용하려면 install-config.yaml
파일을 수정해야 합니다.
oc adm release mirror
또는 oc mirror
명령의 출력을 사용하여 릴리스 이미지를 미러링할 수 있습니다. 이는 미러 레지스트리를 설정하는 데 사용한 명령에 따라 달라집니다.
다음 예제에서는 oc adm release mirror
명령의 출력을 보여줍니다.
$ oc adm release mirror
출력 예
To use the new mirrored repository to install, add the following section to the install-config.yaml: imageContentSources: mirrors: virthost.ostest.test.metalkube.org:5000/localimages/local-release-image source: quay.io/openshift-release-dev/ocp-v4.0-art-dev mirrors: virthost.ostest.test.metalkube.org:5000/localimages/local-release-image source: registry.ci.openshift.org/ocp/release
다음 예제는 oc-mirror 플러그인에서 생성한 imageContentSourcePolicy.yaml
파일의 일부를 보여줍니다. 파일은 결과 디렉터리(예: oc-mirror-workspace/results-1682697932/
)에서 찾을 수 있습니다.
Example imageContentSourcePolicy.yaml
file
spec: repositoryDigestMirrors: - mirrors: - virthost.ostest.test.metalkube.org:5000/openshift/release source: quay.io/openshift-release-dev/ocp-v4.0-art-dev - mirrors: - virthost.ostest.test.metalkube.org:5000/openshift/release-images source: quay.io/openshift-release-dev/ocp-release
2.2.1. 미러링된 이미지를 사용하도록 에이전트 기반 설치 프로그램 구성
미러링된 이미지를 사용하도록 에이전트 기반 설치 관리자를 구성하려면 oc adm release mirror
명령 또는 oc-mirror 플러그인의 출력을 사용해야 합니다.
프로세스
oc-mirror 플러그인을 사용하여 릴리스 이미지를 미러링한 경우 다음을 수행합니다.
-
결과 디렉터리에 있는
imageContentSourcePolicy.yaml
을 엽니다(예:oc-mirror-workspace/results-1682697932/
). -
yaml 파일의
repositoryDigestMirrors
섹션에 텍스트를 복사합니다.
-
결과 디렉터리에 있는
oc adm release mirror
명령을 사용하여 릴리스 이미지를 미러링한 경우 다음을 수행합니다.-
명령 출력의
imageContentSources
섹션에 텍스트를 복사합니다.
-
명령 출력의
-
복사된 텍스트를
install-config.yaml
파일의imageContentSources
필드에 붙여넣습니다. 미러 레지스트리에 사용된 인증서 파일을 yaml 파일의
additionalTrustBundle
필드에 추가합니다.중요값은 미러 레지스트리에 사용한 인증서 파일의 내용이어야 합니다. 인증서 파일은 신뢰할 수 있는 기존 인증 기관 또는 미러 레지스트리에 대해 생성한 자체 서명 인증서일 수 있습니다.
install-config.yaml
파일 예additionalTrustBundle: | -----BEGIN CERTIFICATE----- ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ -----END CERTIFICATE-----
GitOps ZTP 매니페스트를 사용하는 경우:
registries.conf
및ca-bundle.crt
파일을미러
경로에 추가하여 에이전트 ISO 이미지에 미러 구성을 추가합니다.참고oc adm release mirror
명령 또는oc mirror
플러그인의 출력에서registries.conf
파일을 생성할 수 있습니다./etc/containers/registries.conf
파일의 형식이 변경되었습니다. 현재 버전은 TOML 형식의 버전 2입니다.registries.conf
파일 예[[registry]] location = "registry.ci.openshift.org/ocp/release" mirror-by-digest-only = true [[registry.mirror]] location = "virthost.ostest.test.metalkube.org:5000/localimages/local-release-image" [[registry]] location = "quay.io/openshift-release-dev/ocp-v4.0-art-dev" mirror-by-digest-only = true [[registry.mirror]] location = "virthost.ostest.test.metalkube.org:5000/localimages/local-release-image"
3장. 클러스터 설치
에이전트 기반 설치 관리자를 사용하여 기본 OpenShift Container Platform 클러스터를 설치할 수 있습니다.
에이전트 기반 설치 관리자를 사용하는 동안 수행할 수 있는 선택적 사용자 정의가 포함된 절차는 사용자 지정으로 클러스터 설치를 참조하십시오.
3.1. 사전 요구 사항
- OpenShift Container Platform 설치 및 업데이트 프로세스에 대한 세부 사항을 검토했습니다.
- 클러스터 설치 방법 선택 및 사용자를 위한 준비에 대한 문서를 읽습니다.
- 방화벽 또는 프록시를 사용하는 경우 클러스터가 액세스해야 하는 사이트를 허용하도록 방화벽을 구성해야 합니다.
3.2. 에이전트 기반 설치 관리자를 사용하여 OpenShift Container Platform 설치
다음 절차에서는 연결이 끊긴 환경에 단일 노드 OpenShift Container Platform을 배포합니다. 이러한 절차를 기반으로 사용하고 요구 사항에 따라 수정할 수 있습니다.
3.2.1. 에이전트 기반 설치 프로그램 다운로드
다음 절차를 사용하여 에이전트 기반 설치 프로그램 및 설치에 필요한 CLI를 다운로드합니다.
현재 에이전트 기반 설치 관리자 다운로드는 IBM Z® (s390x
) 아키텍처에서 지원되지 않습니다. 권장되는 방법은 PXE 자산을 생성하는 것입니다.
프로세스
- 로그인 인증 정보를 사용하여 OpenShift Container Platform 웹 콘솔에 로그인합니다.
- Datacenter 로 이동합니다.
- 로컬 에서 에이전트 기반 설치 관리자 실행을 클릭합니다.
- OpenShift 설치 프로그램 및 명령줄 인터페이스 의 운영 체제 및 아키텍처를 선택합니다.
- 설치 프로그램 다운로드를 클릭하여 설치 프로그램을 다운로드하고 추출합니다.
- 풀 시크릿 다운로드를 클릭하거나 풀 시크릿 복사를 클릭하여 풀 시크릿을 다운로드하거나 복사합니다.
-
명령행 툴 다운로드를 클릭하고
openshift-install
바이너리를PATH
에 있는 디렉터리에 배치합니다.
3.2.2. 구성 입력 생성
에이전트 이미지를 생성하기 위해 설치 프로그램에서 사용하는 구성 파일을 생성해야 합니다.
프로세스
-
openshift-install
바이너리를 PATH에 있는 디렉터리에 배치합니다. 다음 명령을 실행하여 설치 구성을 저장할 디렉터리를 생성합니다.
$ mkdir ~/<directory_name>
다음 명령을 실행하여
install-config.yaml
파일을 생성합니다.$ cat << EOF > ./my-cluster/install-config.yaml apiVersion: v1 baseDomain: test.example.com compute: - architecture: amd64 1 hyperthreading: Enabled name: worker replicas: 0 controlPlane: architecture: amd64 hyperthreading: Enabled name: master replicas: 1 metadata: name: sno-cluster 2 networking: clusterNetwork: - cidr: fd01::/48 hostPrefix: 64 machineNetwork: - cidr: fd2e:6f44:5dd8:c956::/120 networkType: OVNKubernetes 3 serviceNetwork: - fd02::/112 platform: 4 none: {} pullSecret: '<pull_secret>' 5 sshKey: '<ssh_pub_key>' 6 additionalTrustBundle: | 7 -----BEGIN CERTIFICATE----- ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ -----END CERTIFICATE----- imageContentSources: 8 - mirrors: - <local_registry>/<local_repository_name>/release source: quay.io/openshift-release-dev/ocp-release - mirrors: - <local_registry>/<local_repository_name>/release source: quay.io/openshift-release-dev/ocp-v4.0-art-dev EOF
- 1
- 시스템 아키텍처를 지정합니다. 유효한 값은
amd64
,arm64
,ppc64le
,s390x
입니다.다중
페이로드와 함께 릴리스 이미지를 사용하는 경우arm64
,amd64
,s390x
및ppc64le
과 같은 다양한 아키텍처에 클러스터를 설치할 수 있습니다. 그러지 않으면openshift-install version
명령의 출력에 표시된릴리스 아키텍처에
만 클러스터를 설치할 수 있습니다. 자세한 내용은 " 에이전트 기반 설치 관리자 클러스터 설치를 위해 지원되는 아키텍처 확인"을 참조하십시오. - 2
- 필수 항목입니다. 클러스터 이름을 지정합니다.
- 3
- 설치할 클러스터 네트워크 플러그인입니다. 기본 값
OVNKubernetes
는 지원되는 유일한 값입니다. - 4
- 플랫폼을 지정합니다.참고
베어 메탈 플랫폼의 경우
agent-config.yaml
파일에서 만든 구성으로 재정의하지 않는 한install-config.yaml
파일의 platform 섹션에서 만든 호스트 설정이 기본적으로 사용됩니다. - 5
- 풀 시크릿을 지정합니다.
- 6
- SSH 공개 키를 지정합니다.
- 7
- 미러 레지스트리에 사용한 인증서 파일의 내용을 제공하십시오. 인증서 파일은 신뢰할 수 있는 기존 인증 기관 또는 미러 레지스트리에 대해 생성한 자체 서명 인증서일 수 있습니다. 연결이 끊긴 미러 레지스트리를 사용하는 경우 이 매개변수를 지정해야 합니다.
- 8
- 리포지토리를 미러링하는 데 사용한 명령의 출력에 따라
imageContentSources
섹션을 제공합니다. 연결이 끊긴 미러 레지스트리를 사용하는 경우 이 매개변수를 지정해야 합니다.중요-
oc adm release mirror
명령을 사용하는 경우imageContentSources
섹션의 출력을 사용합니다. -
oc mirror
명령을 사용하는 경우 명령을 실행한 결과ImageContentSourcePolicy
파일의repositoryDigestMirrors
섹션을 사용합니다. -
ImageContentSourcePolicy
리소스는 더 이상 사용되지 않습니다.
-
다음 명령을 실행하여
agent-config.yaml
파일을 생성합니다.$ cat > agent-config.yaml << EOF apiVersion: v1beta1 kind: AgentConfig metadata: name: sno-cluster rendezvousIP: fd2e:6f44:5dd8:c956::50 1 EOF
- 1
- 이 IP 주소는 부트스트랩 프로세스를 수행하고
assisted-service
구성 요소를 실행하는 노드를 결정하는 데 사용됩니다.networkConfig
매개변수에 하나 이상의 호스트 IP 주소를 지정하지 않는 경우 rendezvous IP 주소를 제공해야 합니다. 이 주소를 제공하지 않으면 제공된 호스트networkConfig
매개변수에서 하나의 IP 주소가 선택됩니다.
3.2.3. 에이전트 이미지 생성 및 부팅
시스템에서 에이전트 이미지를 부팅하려면 다음 절차를 사용하십시오.
프로세스
다음 명령을 실행하여 에이전트 이미지를 생성합니다.
$ openshift-install --dir <install_directory> agent create image
참고RHCOS(Red Hat Enterprise Linux CoreOS)는 기본 디스크에서 다중 경로를 지원하므로 하드웨어 장애에 대한 탄력성이 강화된 호스트 가용성을 높일 수 있습니다. 기본
/etc/multipath.conf
구성이 있는 에이전트 ISO 이미지에서 멀티패스는 기본적으로 활성화됩니다.-
베어 메탈 시스템에서
agent.x86_64.iso
또는agent.aarch64.iso
이미지를 부팅합니다.
3.2.4. 현재 설치 호스트에서 릴리스 이미지를 가져올 수 있는지 확인
에이전트 이미지 및 네트워크 서비스를 호스트에서 부팅한 후 에이전트 콘솔 애플리케이션에서 가져오기 검사를 수행하여 현재 호스트에서 릴리스 이미지를 검색할 수 있는지 확인합니다.
기본 풀 검사에서 통과하면 애플리케이션을 종료하여 설치를 계속할 수 있습니다. 가져오기 검사에 실패하면 TUI의 추가 검사 섹션에 표시된 대로 애플리케이션에서 추가 검사를
수행하여 문제를 해결합니다. 기본 가져오기 검사가 성공하면 추가 검사에 대한 실패가 반드시 중요한 것은 아닙니다.
설치에 실패할 수 있는 호스트 네트워크 구성 문제가 있는 경우 콘솔 애플리케이션을 사용하여 네트워크 구성을 조정할 수 있습니다.
에이전트 콘솔 애플리케이션이 호스트 네트워크 구성 문제를 감지하면 사용자가 콘솔 애플리케이션을 수동으로 중지하고 진행하려는 의도에 신호를 보낼 때까지 설치 워크플로가 중지됩니다.
프로세스
- 에이전트 콘솔 애플리케이션이 레지스트리에서 구성된 릴리스 이미지를 가져올 수 있는지 여부를 확인할 때까지 기다립니다.
에이전트 콘솔 애플리케이션에서 설치 프로그램 연결 확인이 전달되었다고 표시되면 프롬프트가 설치를 계속할 때까지 기다립니다.
참고연결 검사에서 통과한 경우에도 네트워크 구성 설정을 보거나 변경하도록 선택할 수 있습니다.
그러나 시간 초과를 두는 대신 에이전트 콘솔 애플리케이션과 상호 작용하도록 선택하는 경우 TUI를 수동으로 종료하여 설치를 진행해야 합니다.
에이전트 콘솔 애플리케이션 검사에 실패한 경우
릴리스 이미지 URL
가져오기 확인 옆에 빨간색 아이콘으로 표시되는 다음 단계를 사용하여 호스트의 네트워크 설정을 재구성합니다.TUI의
Check Errors
섹션을 읽으십시오. 이 섹션에는 실패한 검사와 관련된 오류 메시지가 표시됩니다.- Configure network 를 선택하여 NetworkManager TUI를 시작합니다.
- 연결 편집을 선택하고 재구성할 연결을 선택합니다.
- 구성을 편집하고 OK 를 선택하여 변경 사항을 저장합니다.
- Back 을 선택하여 NetworkManager TUI의 기본 화면으로 돌아갑니다.
- 연결 활성화를 선택합니다.
- 재구성된 네트워크를 선택하여 비활성화합니다.
- 재구성된 네트워크를 다시 선택하여 다시 활성화합니다.
- Back 을 선택한 다음 Quit 를 선택하여 에이전트 콘솔 애플리케이션으로 돌아갑니다.
- 새 네트워크 구성을 사용하여 연속 네트워크 검사를 다시 시작할 때까지 5초 이상 기다립니다.
-
릴리스 이미지 URL
가져오기 검사가 성공하고 URL 옆에 녹색 아이콘이 표시되면 Quit 를 선택하여 에이전트 콘솔 애플리케이션을 종료하고 설치를 계속합니다.
3.2.5. 설치 진행 상황 추적 및 확인
다음 절차에 따라 설치 진행 상황을 추적하고 성공적으로 설치되었는지 확인합니다.
사전 요구 사항
- Kubernetes API 서버에 대한 DNS 레코드를 구성했습니다.
프로세스
선택 사항: 부트스트랩 호스트(신규 호스트)가 재부팅되는 시기를 확인하려면 다음 명령을 실행합니다.
$ ./openshift-install --dir <install_directory> agent wait-for bootstrap-complete \1 --log-level=info 2
출력 예
................................................................... ................................................................... INFO Bootstrap configMap status is complete INFO cluster bootstrap is complete
이 명령은 Kubernetes API 서버가 컨트롤 플레인 시스템에서 부트스트랩되었다는 신호를 보낼 때 성공합니다.
진행 상황을 추적하고 성공적으로 설치를 확인하려면 다음 명령을 실행합니다.
$ openshift-install --dir <install_directory> agent wait-for install-complete 1
- 1
- &
lt;install_directory
> 디렉터리에 대해 에이전트 ISO가 생성된 디렉터리의 경로를 지정합니다.
출력 예
................................................................... ................................................................... INFO Cluster is installed INFO Install complete! INFO To access the cluster as the system:admin user when using 'oc', run INFO export KUBECONFIG=/home/core/installer/auth/kubeconfig INFO Access the OpenShift web-console here: https://console-openshift-console.apps.sno-cluster.test.example.com
3.3. 에이전트 기반 설치 실패에서 로그 데이터 수집
다음 절차에 따라 지원 케이스를 제공하기 위해 실패한 에이전트 기반 설치에 대한 로그 데이터를 수집합니다.
사전 요구 사항
- Kubernetes API 서버에 대한 DNS 레코드를 구성했습니다.
프로세스
다음 명령을 실행하고 출력을 수집합니다.
$ ./openshift-install --dir <installation_directory> agent wait-for bootstrap-complete --log-level=debug
오류 메시지의 예
... ERROR Bootstrap failed to complete: : bootstrap process timed out: context deadline exceeded
이전 명령의 출력에 실패가 표시되거나 부트스트랩이 진행되지 않은 경우 다음 명령을 실행하여ndezvous 호스트에 연결하고 출력을 수집합니다.
$ ssh core@<node-ip> agent-gather -O >agent-gather.tar.xz
참고Red Hat 지원은 rendezvous 호스트에서 수집된 데이터를 사용하여 대부분의 문제를 진단할 수 있지만 일부 호스트가 등록할 수 없는 경우 모든 호스트에서 이 데이터를 수집하는 것이 유용할 수 있습니다.
부트스트랩이 완료되고 클러스터 노드가 재부팅되면 다음 명령을 실행하고 출력을 수집합니다.
$ ./openshift-install --dir <install_directory> agent wait-for install-complete --log-level=debug
이전 명령의 출력에 오류가 표시되면 다음 단계를 수행합니다.
다음 명령을 실행하여
kubeconfig
파일을 환경으로 내보냅니다.$ export KUBECONFIG=<install_directory>/auth/kubeconfig
다음 명령을 실행하여 디버깅에 대한 정보를 수집합니다.
$ oc adm must-gather
다음 명령을 실행하여 작업 디렉터리에 생성된
must-gather
디렉터리에서 압축 파일을 만듭니다.$ tar cvaf must-gather.tar.gz <must_gather_directory>
-
/auth
하위 디렉토리를 제외하고 배포 중에 사용되는 설치 디렉터리를 Red Hat 고객 포털 의 지원 케이스에 연결합니다. - 이 절차에서 수집된 다른 모든 데이터를 지원 케이스에 첨부합니다.
4장. 사용자 지정으로 클러스터 설치
다음 절차에 따라 에이전트 기반 설치 관리자를 사용하여 사용자 지정으로 OpenShift Container Platform 클러스터를 설치합니다.
4.1. 사전 요구 사항
- OpenShift Container Platform 설치 및 업데이트 프로세스에 대한 세부 사항을 검토했습니다.
- 클러스터 설치 방법 선택 및 사용자를 위한 준비에 대한 문서를 읽습니다.
- 방화벽 또는 프록시를 사용하는 경우 클러스터가 액세스해야 하는 사이트를 허용하도록 방화벽을 구성해야 합니다.
4.2. 에이전트 기반 설치 관리자를 사용하여 OpenShift Container Platform 설치
다음 절차에서는 연결이 끊긴 환경에 단일 노드 OpenShift Container Platform을 배포합니다. 이러한 절차를 기반으로 사용하고 요구 사항에 따라 수정할 수 있습니다.
4.2.1. 에이전트 기반 설치 프로그램 다운로드
다음 절차를 사용하여 에이전트 기반 설치 프로그램 및 설치에 필요한 CLI를 다운로드합니다.
현재 에이전트 기반 설치 관리자 다운로드는 IBM Z® (s390x
) 아키텍처에서 지원되지 않습니다. 권장되는 방법은 PXE 자산을 생성하는 것입니다.
프로세스
- 로그인 인증 정보를 사용하여 OpenShift Container Platform 웹 콘솔에 로그인합니다.
- Datacenter 로 이동합니다.
- 로컬 에서 에이전트 기반 설치 관리자 실행을 클릭합니다.
- OpenShift 설치 프로그램 및 명령줄 인터페이스 의 운영 체제 및 아키텍처를 선택합니다.
- 설치 프로그램 다운로드를 클릭하여 설치 프로그램을 다운로드하고 추출합니다.
- 풀 시크릿 다운로드를 클릭하거나 풀 시크릿 복사를 클릭하여 풀 시크릿을 다운로드하거나 복사합니다.
-
명령행 툴 다운로드를 클릭하고
openshift-install
바이너리를PATH
에 있는 디렉터리에 배치합니다.
4.2.2. 기본 구성 입력 생성
이 절차를 사용하여 에이전트 이미지를 생성하는 데 사용되는 기본 구성 입력을 생성합니다.
프로세스
다음 명령을 실행하여
nmstate
종속성을 설치합니다.$ sudo dnf install /usr/bin/nmstatectl -y
-
openshift-install
바이너리를 PATH에 있는 디렉터리에 배치합니다. 다음 명령을 실행하여 설치 구성을 저장할 디렉터리를 생성합니다.
$ mkdir ~/<directory_name>
참고에이전트 기반 설치에 권장되는 방법입니다. GitOps ZTP 매니페스트 사용은 선택 사항입니다.
다음 명령을 실행하여
install-config.yaml
파일을 생성합니다.$ cat << EOF > ./<directory_name>/install-config.yaml apiVersion: v1 baseDomain: test.example.com compute: - architecture: amd64 1 hyperthreading: Enabled name: worker replicas: 0 controlPlane: architecture: amd64 hyperthreading: Enabled name: master replicas: 1 metadata: name: sno-cluster 2 networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 machineNetwork: - cidr: 192.168.0.0/16 networkType: OVNKubernetes 3 serviceNetwork: - 172.30.0.0/16 platform: 4 none: {} pullSecret: '<pull_secret>' 5 sshKey: '<ssh_pub_key>' 6 EOF
- 1
- 시스템 아키텍처를 지정하고 유효한 값은
amd64
,arm64
,ppc64le
,s390x
입니다. - 2
- 필수 항목입니다. 클러스터 이름을 지정합니다.
- 3
- 설치할 클러스터 네트워크 플러그인입니다. 기본 값
OVNKubernetes
는 지원되는 유일한 값입니다. - 4
- 플랫폼을 지정합니다.참고
베어 메탈 플랫폼의 경우
agent-config.yaml
파일에서 만든 구성으로 재정의하지 않는 한install-config.yaml
파일의 platform 섹션에서 만든 호스트 설정이 기본적으로 사용됩니다. - 5
- 풀 시크릿을 지정합니다.
- 6
- SSH 공개 키를 지정합니다.
참고플랫폼을
vSphere
또는baremetal
로 설정하면 다음 세 가지 방법으로 클러스터 노드의 IP 주소 끝점을 구성할 수 있습니다.- IPv4
- IPv6
- IPv4 및 IPv6 병렬(dual-stack)
IPv6는 베어 메탈 플랫폼에서만 지원됩니다.
듀얼 스택 네트워킹의 예
networking: clusterNetwork: - cidr: 172.21.0.0/16 hostPrefix: 23 - cidr: fd02::/48 hostPrefix: 64 machineNetwork: - cidr: 192.168.11.0/16 - cidr: 2001:DB8::/32 serviceNetwork: - 172.22.0.0/16 - fd03::/112 networkType: OVNKubernetes platform: baremetal: apiVIPs: - 192.168.11.3 - 2001:DB8::4 ingressVIPs: - 192.168.11.4 - 2001:DB8::5
참고연결이 끊긴 미러 레지스트리를 사용하는 경우 미러 레지스트리에 대해 이전에 생성한 인증서 파일을
install-config.yaml
파일의additionalTrustBundle
필드에 추가해야 합니다.다음 명령을 실행하여
agent-config.yaml
파일을 생성합니다.$ cat > agent-config.yaml << EOF apiVersion: v1beta1 kind: AgentConfig metadata: name: sno-cluster rendezvousIP: 192.168.111.80 1 hosts: 2 - hostname: master-0 3 interfaces: - name: eno1 macAddress: 00:ef:44:21:e6:a5 rootDeviceHints: 4 deviceName: /dev/sdb networkConfig: 5 interfaces: - name: eno1 type: ethernet state: up mac-address: 00:ef:44:21:e6:a5 ipv4: enabled: true address: - ip: 192.168.111.80 prefix-length: 23 dhcp: false dns-resolver: config: server: - 192.168.111.1 routes: config: - destination: 0.0.0.0/0 next-hop-address: 192.168.111.2 next-hop-interface: eno1 table-id: 254 EOF
- 1
- 이 IP 주소는 부트스트랩 프로세스를 수행하고
assisted-service
구성 요소를 실행하는 노드를 결정하는 데 사용됩니다.networkConfig
매개변수에 하나 이상의 호스트의 IP 주소를 지정하지 않는 경우 rendezvous IP 주소를 제공해야 합니다. 이 주소를 제공하지 않으면 제공된 호스트의networkConfig
에서 하나의 IP 주소가 선택됩니다. - 2
- 선택 사항: 호스트 구성. 정의된 호스트 수는
compute.replicas
및controlPlane.replicas
매개변수 값의 합계인install-config.yaml
파일에 정의된 총 호스트 수를 초과해서는 안 됩니다. - 3
- 선택 사항: DHCP(Dynamic Host Configuration Protocol) 또는 역방향 DNS 조회에서 얻은 호스트 이름을 재정의합니다. 각 호스트에는 이러한 방법 중 하나에서 제공하는 고유한 호스트 이름이 있어야 합니다.
- 4
- 특정 장치에 대한 RHCOS(Red Hat Enterprise Linux CoreOS) 이미지의 프로비저닝을 활성화합니다. 설치 프로그램은 장치를 검색한 순서대로 검사하고 검색된 값을 팁과 비교합니다. 힌트 값과 일치하는 첫 번째 검색된 장치를 사용합니다.
- 5
- 선택 사항: NMState 형식으로 호스트의 네트워크 인터페이스를 구성합니다.
4.2.3. 추가 매니페스트 파일 생성
선택적 작업에서는 install-config.yaml
및 agent-config.yaml
파일에서 사용 가능한 구성 이상으로 클러스터를 추가로 구성하기 위해 추가 매니페스트를 생성할 수 있습니다.
추가 매니페스트에 의해 생성된 클러스터에 대한 사용자 지정은 검증되지 않으며 작동이 보장되지 않으며 작동하지 않는 클러스터가 발생할 수 있습니다.
4.2.3.1. 추가 매니페스트를 포함할 디렉터리 생성
install-config.yaml
및 agent-config.yaml
파일을 초과하는 에이전트 기반 설치를 구성하기 위해 추가 매니페스트를 생성하는 경우 설치 디렉터리 내에 openshift
하위 디렉터리를 생성해야 합니다. 모든 추가 머신 구성은 이 하위 디렉터리 내에 있어야 합니다.
추가할 수 있는 가장 일반적인 추가 매니페스트 유형은 MachineConfig
오브젝트입니다. 에이전트 기반 설치 중에 추가할 수 있는 MachineConfig
오브젝트의 예는 "추가 리소스" 섹션의 " MachineConfig 개체를 사용하여 노드 구성"을 참조하십시오.
프로세스
설치 호스트에서 다음 명령을 실행하여 설치 디렉터리 내에
openshift
하위 디렉터리를 생성합니다.$ mkdir <installation_directory>/openshift
추가 리소스
4.2.3.2. 디스크 파티션 설정
일반적으로 RHCOS 설치 중에 생성된 기본 디스크 파티션을 사용해야 합니다. 그러나 확장하려는 디렉토리에 별도의 파티션을 생성해야 하는 경우가 있습니다.
OpenShift 컨테이너 플랫폼은 /var
디렉토리 또는 /var
의 하위 디렉터리 중 하나에 스토리지를 연결하는 단일 파티션의 추가를 지원합니다. 예를 들면 다음과 같습니다.
-
/var/lib/containers
: 시스템에 더 많은 이미지와 컨테이너가 추가됨에 따라 확장될 수 있는 컨테이너 관련 콘텐츠를 보관합니다. -
/var/lib/etcd
: etcd 스토리지의 성능 최적화와 같은 목적으로 별도로 보관할 데이터를 보관합니다. /var
: 감사 등의 목적에 맞게 별도로 분리하여 보관해야 하는 데이터를 보관합니다.중요100GB보다 큰 디스크 크기, 특히 1TB보다 큰 디스크의 경우 별도의
/var
파티션을 만듭니다.
/var
디렉터리의 콘텐츠를 별도로 저장하면 필요에 따라 해당 영역에 대한 스토리지 확장을 보다 용이하게 하고 나중에 OpenShift Container Platform을 다시 설치하여 해당 데이터를 그대로 보존할 수 있습니다. 이 방법을 사용하면 모든 컨테이너를 다시 가져올 필요가 없으며 시스템을 업데이트할 때 대용량 로그 파일을 복사할 필요도 없습니다.
/var
디렉토리 또는 /var
의 하위 디렉토리에 대해 별도의 파티션을 사용하면 분할된 디렉토리의 데이터 증가로 루트 파일 시스템이 채워지는 것을 방지할 수 있습니다.
다음 절차에서는 설치 준비 단계에서 노드 유형의 Ignition 구성 파일에 래핑되는 머신 구성 매니페스트를 추가하여 별도의 /var
파티션을 설정합니다.
사전 요구 사항
-
설치 디렉터리 내에
openshift
하위 디렉터리가 생성되어 있습니다.
프로세스
추가 파티션을 구성하는 Butane 구성을 생성합니다. 예를 들어
$HOME/clusterconfig/98-var-partition.bu
파일의 이름을 지정하고, 디스크 장치 이름을worker
시스템의 스토리지 장치 이름으로 변경하고 스토리지 크기를 적절하게 설정합니다. 이 예에서는/var
디렉터리를 별도의 파티션에 배치합니다.variant: openshift version: 4.15.0 metadata: labels: machineconfiguration.openshift.io/role: worker name: 98-var-partition storage: disks: - device: /dev/disk/by-id/<device_name> 1 partitions: - label: var start_mib: <partition_start_offset> 2 size_mib: <partition_size> 3 number: 5 filesystems: - device: /dev/disk/by-partlabel/var path: /var format: xfs mount_options: [defaults, prjquota] 4 with_mount_unit: true
- 1
- 파티션을 설정해야하는 디스크 저장 장치 이름입니다.
- 2
- 데이터 파티션을 부트 디스크에 추가할 때 최소 오프셋 값 25000 메비 바이트가 권장됩니다. 루트 파일 시스템은 지정된 오프셋까지 사용 가능한 모든 공간을 채우기 위해 자동으로 크기가 조정됩니다. 오프셋 값이 지정되지 않거나 지정된 값이 권장 최소값보다 작으면 생성되는 루트 파일 시스템의 크기가 너무 작아지고 RHCOS를 나중에 다시 설치할 때 데이터 파티션의 첫 번째 부분을 덮어 쓸 수 있습니다.
- 3
- 데이터 파티션의 크기(MB)입니다.
- 4
- 컨테이너 스토리지에 사용되는 파일 시스템에 대해
prjquota
마운트 옵션을 활성화해야 합니다.
참고별도의
/var
파티션을 만들 때 다른 인스턴스 유형에 동일한 장치 이름이 없는 경우 컴퓨팅 노드에 다른 인스턴스 유형을 사용할 수 없습니다.Butane 구성에서 매니페스트를 생성하여
clusterconfig/openshift
디렉터리에 저장합니다. 예를 들어 다음 명령을 실행합니다.$ butane $HOME/clusterconfig/98-var-partition.bu -o $HOME/clusterconfig/openshift/98-var-partition.yaml
4.2.4. ZTP 매니페스트 사용
선택적 작업에서는 GitOps ZTP(ZTP) 매니페스트를 사용하여 install-config.yaml
및 agent-config.yaml
파일을 통해 사용 가능한 옵션 이상으로 설치를 구성할 수 있습니다.
GitOps ZTP 매니페스트는 install-config.yaml
및 agent-config.yaml
파일을 미리 구성하지 않고 또는 사용하여 생성할 수 있습니다. install-config.yaml
및 agent-config.yaml
파일을 구성하도록 선택하면 구성이 생성될 때 ZTP 클러스터 매니페스트로 가져옵니다.
사전 요구 사항
-
openshift-install
바이너리를PATH
에 있는 디렉터리에 배치했습니다. -
선택 사항:
install-config.yaml
및agent-config.yaml
파일을 생성하고 구성했습니다.
프로세스
다음 명령을 실행하여 ZTP 클러스터 매니페스트를 생성합니다.
$ openshift-install agent create cluster-manifests --dir <installation_directory>
중요install-config.yaml
및agent-config.yaml
파일을 생성한 경우 해당 파일이 삭제되고 이 명령을 통해 생성된 클러스터 매니페스트로 교체됩니다.openshift-install agent create cluster-manifests
명령을 실행할 때install-config.yaml
및agent-config.yaml
파일에 대한 구성은 ZTP 클러스터 매니페스트로 가져옵니다.다음 명령을 실행하여
cluster-manifests
디렉터리로 이동합니다.$ cd <installation_directory>/cluster-manifests
-
cluster-manifests
디렉터리에서 매니페스트 파일을 구성합니다. 샘플 파일의 경우 "Sample GitOps ZTP 사용자 정의 리소스" 섹션을 참조하십시오. 연결이 끊긴 클러스터: ZTP 매니페스트를 생성하기 전에
install-config.yaml
파일에 미러 구성을 정의하지 않은 경우 다음 단계를 수행합니다.다음 명령을 실행하여
미러
디렉터리로 이동합니다.$ cd ../mirror
-
미러
디렉터리에 매니페스트 파일을 구성합니다.
추가 리소스
- GitOps ZTP 사용자 정의 리소스 샘플
- GitOps Zero Touch Provisioning (ZTP)에 대한 자세한 내용은 네트워크 대 엣지의 챌린지 를 참조하십시오.
4.2.5. 디스크 암호화
선택적 작업에서는 에이전트 기반 설치 프로그램을 사용하여 OpenShift Container Platform을 설치하는 동안 이 절차를 사용하여 디스크 또는 파티션을 암호화할 수 있습니다.
사전 요구 사항
-
ZTP 매니페스트를 사용하지 않는 한
install-config.yaml
및agent-config.yaml
파일을 생성하고 구성했습니다. -
openshift-install
바이너리를PATH
에 있는 디렉터리에 배치했습니다.
프로세스
다음 명령을 실행하여 ZTP 클러스터 매니페스트를 생성합니다.
$ openshift-install agent create cluster-manifests --dir <installation_directory>
중요install-config.yaml
및agent-config.yaml
파일을 생성한 경우 해당 파일이 삭제되고 이 명령을 통해 생성된 클러스터 매니페스트로 교체됩니다.openshift-install agent create cluster-manifests
명령을 실행할 때install-config.yaml
및agent-config.yaml
파일에 대한 구성은 ZTP 클러스터 매니페스트로 가져옵니다.참고이미 ZTP 매니페스트를 생성한 경우 이 단계를 건너뜁니다.
다음 명령을 실행하여
cluster-manifests
디렉터리로 이동합니다.$ cd <installation_directory>/cluster-manifests
agent-cluster-install.yaml
파일에 다음 섹션을 추가합니다.diskEncryption: enableOn: all 1 mode: tang 2 tangServers: "server1": "http://tang-server-1.example.com:7500" 3
추가 리소스
4.2.6. 에이전트 이미지 생성 및 부팅
시스템에서 에이전트 이미지를 부팅하려면 다음 절차를 사용하십시오.
프로세스
다음 명령을 실행하여 에이전트 이미지를 생성합니다.
$ openshift-install --dir <install_directory> agent create image
참고RHCOS(Red Hat Enterprise Linux CoreOS)는 기본 디스크에서 다중 경로를 지원하므로 하드웨어 장애에 대한 탄력성이 강화된 호스트 가용성을 높일 수 있습니다. 기본
/etc/multipath.conf
구성이 있는 에이전트 ISO 이미지에서 멀티패스는 기본적으로 활성화됩니다.-
베어 메탈 시스템에서
agent.x86_64.iso
또는agent.aarch64.iso
이미지를 부팅합니다.
4.2.7. 현재 설치 호스트에서 릴리스 이미지를 가져올 수 있는지 확인
에이전트 이미지 및 네트워크 서비스를 호스트에서 부팅한 후 에이전트 콘솔 애플리케이션에서 가져오기 검사를 수행하여 현재 호스트에서 릴리스 이미지를 검색할 수 있는지 확인합니다.
기본 풀 검사에서 통과하면 애플리케이션을 종료하여 설치를 계속할 수 있습니다. 가져오기 검사에 실패하면 TUI의 추가 검사 섹션에 표시된 대로 애플리케이션에서 추가 검사를
수행하여 문제를 해결합니다. 기본 가져오기 검사가 성공하면 추가 검사에 대한 실패가 반드시 중요한 것은 아닙니다.
설치에 실패할 수 있는 호스트 네트워크 구성 문제가 있는 경우 콘솔 애플리케이션을 사용하여 네트워크 구성을 조정할 수 있습니다.
에이전트 콘솔 애플리케이션이 호스트 네트워크 구성 문제를 감지하면 사용자가 콘솔 애플리케이션을 수동으로 중지하고 진행하려는 의도에 신호를 보낼 때까지 설치 워크플로가 중지됩니다.
프로세스
- 에이전트 콘솔 애플리케이션이 레지스트리에서 구성된 릴리스 이미지를 가져올 수 있는지 여부를 확인할 때까지 기다립니다.
에이전트 콘솔 애플리케이션에서 설치 프로그램 연결 확인이 전달되었다고 표시되면 프롬프트가 설치를 계속할 때까지 기다립니다.
참고연결 검사에서 통과한 경우에도 네트워크 구성 설정을 보거나 변경하도록 선택할 수 있습니다.
그러나 시간 초과를 두는 대신 에이전트 콘솔 애플리케이션과 상호 작용하도록 선택하는 경우 TUI를 수동으로 종료하여 설치를 진행해야 합니다.
에이전트 콘솔 애플리케이션 검사에 실패한 경우
릴리스 이미지 URL
가져오기 확인 옆에 빨간색 아이콘으로 표시되는 다음 단계를 사용하여 호스트의 네트워크 설정을 재구성합니다.TUI의
Check Errors
섹션을 읽으십시오. 이 섹션에는 실패한 검사와 관련된 오류 메시지가 표시됩니다.- Configure network 를 선택하여 NetworkManager TUI를 시작합니다.
- 연결 편집을 선택하고 재구성할 연결을 선택합니다.
- 구성을 편집하고 OK 를 선택하여 변경 사항을 저장합니다.
- Back 을 선택하여 NetworkManager TUI의 기본 화면으로 돌아갑니다.
- 연결 활성화를 선택합니다.
- 재구성된 네트워크를 선택하여 비활성화합니다.
- 재구성된 네트워크를 다시 선택하여 다시 활성화합니다.
- Back 을 선택한 다음 Quit 를 선택하여 에이전트 콘솔 애플리케이션으로 돌아갑니다.
- 새 네트워크 구성을 사용하여 연속 네트워크 검사를 다시 시작할 때까지 5초 이상 기다립니다.
-
릴리스 이미지 URL
가져오기 검사가 성공하고 URL 옆에 녹색 아이콘이 표시되면 Quit 를 선택하여 에이전트 콘솔 애플리케이션을 종료하고 설치를 계속합니다.
4.2.8. 설치 진행 상황 추적 및 확인
다음 절차에 따라 설치 진행 상황을 추적하고 성공적으로 설치되었는지 확인합니다.
사전 요구 사항
- Kubernetes API 서버에 대한 DNS 레코드를 구성했습니다.
프로세스
선택 사항: 부트스트랩 호스트(신규 호스트)가 재부팅되는 시기를 확인하려면 다음 명령을 실행합니다.
$ ./openshift-install --dir <install_directory> agent wait-for bootstrap-complete \1 --log-level=info 2
출력 예
................................................................... ................................................................... INFO Bootstrap configMap status is complete INFO cluster bootstrap is complete
이 명령은 Kubernetes API 서버가 컨트롤 플레인 시스템에서 부트스트랩되었다는 신호를 보낼 때 성공합니다.
진행 상황을 추적하고 성공적으로 설치를 확인하려면 다음 명령을 실행합니다.
$ openshift-install --dir <install_directory> agent wait-for install-complete 1
- 1
- &
lt;install_directory
> 디렉터리에 대해 에이전트 ISO가 생성된 디렉터리의 경로를 지정합니다.
출력 예
................................................................... ................................................................... INFO Cluster is installed INFO Install complete! INFO To access the cluster as the system:admin user when using 'oc', run INFO export KUBECONFIG=/home/core/installer/auth/kubeconfig INFO Access the OpenShift web-console here: https://console-openshift-console.apps.sno-cluster.test.example.com
GitOps ZTP 매니페스트의 선택적 방법을 사용하는 경우 다음 세 가지 방법으로 AgentClusterInstall.yaml
파일을 통해 클러스터 노드의 IP 주소 끝점을 구성할 수 있습니다.
- IPv4
- IPv6
- IPv4 및 IPv6 병렬(dual-stack)
IPv6는 베어 메탈 플랫폼에서만 지원됩니다.
듀얼 스택 네트워킹의 예
apiVIP: 192.168.11.3 ingressVIP: 192.168.11.4 clusterDeploymentRef: name: mycluster imageSetRef: name: openshift-4.15 networking: clusterNetwork: - cidr: 172.21.0.0/16 hostPrefix: 23 - cidr: fd02::/48 hostPrefix: 64 machineNetwork: - cidr: 192.168.11.0/16 - cidr: 2001:DB8::/32 serviceNetwork: - 172.22.0.0/16 - fd03::/112 networkType: OVNKubernetes
추가 리소스
- 듀얼 스택 네트워킹을 사용한 배포를 참조하십시오.
- install-config yaml 파일 구성 을 참조하십시오.
- 베어 메탈 환경에 3-노드 클러스터를 배포하도록 3-노드 클러스터 구성 을 참조하십시오.
- 루트 장치 팁 정보를 참조하십시오.
- NMState 상태 예제 를 참조하십시오.
4.3. GitOps ZTP 사용자 정의 리소스 샘플
선택적으로 ZTP(ZTP) 사용자 정의 리소스(CR) 오브젝트를 사용하여 에이전트 기반 설치 관리자를 사용하여 OpenShift Container Platform 클러스터를 설치할 수 있습니다.
다음 GitOps ZTP 사용자 정의 리소스를 사용자 지정하여 OpenShift Container Platform 클러스터에 대한 자세한 정보를 지정할 수 있습니다. 다음 샘플 GitOps ZTP 사용자 정의 리소스는 단일 노드 클러스터용입니다.
agent-cluster-install.yaml
파일의 예
apiVersion: extensions.hive.openshift.io/v1beta1 kind: AgentClusterInstall metadata: name: test-agent-cluster-install namespace: cluster0 spec: clusterDeploymentRef: name: ostest imageSetRef: name: openshift-4.15 networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 serviceNetwork: - 172.30.0.0/16 provisionRequirements: controlPlaneAgents: 1 workerAgents: 0 sshPublicKey: <ssh_public_key>
cluster-deployment.yaml
파일 예
apiVersion: hive.openshift.io/v1 kind: ClusterDeployment metadata: name: ostest namespace: cluster0 spec: baseDomain: test.metalkube.org clusterInstallRef: group: extensions.hive.openshift.io kind: AgentClusterInstall name: test-agent-cluster-install version: v1beta1 clusterName: ostest controlPlaneConfig: servingCertificates: {} platform: agentBareMetal: agentSelector: matchLabels: bla: aaa pullSecretRef: name: pull-secret
cluster-image-set.yaml
파일의 예
apiVersion: hive.openshift.io/v1 kind: ClusterImageSet metadata: name: openshift-4.15 spec: releaseImage: registry.ci.openshift.org/ocp/release:4.15.0-0.nightly-2022-06-06-025509
infra-env.yaml
파일 예
apiVersion: agent-install.openshift.io/v1beta1 kind: InfraEnv metadata: name: myinfraenv namespace: cluster0 spec: clusterRef: name: ostest namespace: cluster0 cpuArchitecture: aarch64 pullSecretRef: name: pull-secret sshAuthorizedKey: <ssh_public_key> nmStateConfigLabelSelector: matchLabels: cluster0-nmstate-label-name: cluster0-nmstate-label-value
nmstateconfig.yaml
파일 예
apiVersion: agent-install.openshift.io/v1beta1 kind: NMStateConfig metadata: name: master-0 namespace: openshift-machine-api labels: cluster0-nmstate-label-name: cluster0-nmstate-label-value spec: config: interfaces: - name: eth0 type: ethernet state: up mac-address: 52:54:01:aa:aa:a1 ipv4: enabled: true address: - ip: 192.168.122.2 prefix-length: 23 dhcp: false dns-resolver: config: server: - 192.168.122.1 routes: config: - destination: 0.0.0.0/0 next-hop-address: 192.168.122.1 next-hop-interface: eth0 table-id: 254 interfaces: - name: "eth0" macAddress: 52:54:01:aa:aa:a1
pull-secret.yaml
파일 예
apiVersion: v1 kind: Secret type: kubernetes.io/dockerconfigjson metadata: name: pull-secret namespace: cluster0 stringData: .dockerconfigjson: <pull_secret>
추가 리소스
- GitOps Zero Touch Provisioning (ZTP)에 대한 자세한 내용은 네트워크 대 엣지의 챌린지 를 참조하십시오.
4.4. 에이전트 기반 설치 실패에서 로그 데이터 수집
다음 절차에 따라 지원 케이스를 제공하기 위해 실패한 에이전트 기반 설치에 대한 로그 데이터를 수집합니다.
사전 요구 사항
- Kubernetes API 서버에 대한 DNS 레코드를 구성했습니다.
프로세스
다음 명령을 실행하고 출력을 수집합니다.
$ ./openshift-install --dir <installation_directory> agent wait-for bootstrap-complete --log-level=debug
오류 메시지의 예
... ERROR Bootstrap failed to complete: : bootstrap process timed out: context deadline exceeded
이전 명령의 출력에 실패가 표시되거나 부트스트랩이 진행되지 않은 경우 다음 명령을 실행하여ndezvous 호스트에 연결하고 출력을 수집합니다.
$ ssh core@<node-ip> agent-gather -O >agent-gather.tar.xz
참고Red Hat 지원은 rendezvous 호스트에서 수집된 데이터를 사용하여 대부분의 문제를 진단할 수 있지만 일부 호스트가 등록할 수 없는 경우 모든 호스트에서 이 데이터를 수집하는 것이 유용할 수 있습니다.
부트스트랩이 완료되고 클러스터 노드가 재부팅되면 다음 명령을 실행하고 출력을 수집합니다.
$ ./openshift-install --dir <install_directory> agent wait-for install-complete --log-level=debug
이전 명령의 출력에 오류가 표시되면 다음 단계를 수행합니다.
다음 명령을 실행하여
kubeconfig
파일을 환경으로 내보냅니다.$ export KUBECONFIG=<install_directory>/auth/kubeconfig
다음 명령을 실행하여 디버깅에 대한 정보를 수집합니다.
$ oc adm must-gather
다음 명령을 실행하여 작업 디렉터리에 생성된
must-gather
디렉터리에서 압축 파일을 만듭니다.$ tar cvaf must-gather.tar.gz <must_gather_directory>
-
/auth
하위 디렉토리를 제외하고 배포 중에 사용되는 설치 디렉터리를 Red Hat 고객 포털 의 지원 케이스에 연결합니다. - 이 절차에서 수집된 다른 모든 데이터를 지원 케이스에 첨부합니다.
5장. OpenShift Container Platform의 PXE 자산 준비
다음 절차에 따라 에이전트 기반 설치 관리자를 사용하여 OpenShift Container Platform 클러스터를 PXE 부팅하는 데 필요한 자산을 생성합니다.
이러한 절차에서 생성하는 자산은 단일 노드 OpenShift Container Platform 설치를 배포합니다. 이러한 절차를 기반으로 사용하고 요구 사항에 따라 구성을 수정할 수 있습니다.
에이전트 기반 설치 관리자에서 사용할 수 있는 추가 구성에 대한 자세한 내용은 에이전트 기반 설치 관리자를 사용하여 OpenShift Container Platform 클러스터 설치를 참조하십시오.
5.1. 사전 요구 사항
- OpenShift Container Platform 설치 및 업데이트 프로세스에 대한 세부 사항을 검토했습니다.
5.2. 에이전트 기반 설치 프로그램 다운로드
다음 절차를 사용하여 에이전트 기반 설치 프로그램 및 설치에 필요한 CLI를 다운로드합니다.
현재 에이전트 기반 설치 관리자 다운로드는 IBM Z® (s390x
) 아키텍처에서 지원되지 않습니다. 권장되는 방법은 PXE 자산을 생성하는 것입니다.
프로세스
- 로그인 인증 정보를 사용하여 OpenShift Container Platform 웹 콘솔에 로그인합니다.
- Datacenter 로 이동합니다.
- 로컬 에서 에이전트 기반 설치 관리자 실행을 클릭합니다.
- OpenShift 설치 프로그램 및 명령줄 인터페이스 의 운영 체제 및 아키텍처를 선택합니다.
- 설치 프로그램 다운로드를 클릭하여 설치 프로그램을 다운로드하고 추출합니다.
- 풀 시크릿 다운로드를 클릭하거나 풀 시크릿 복사를 클릭하여 풀 시크릿을 다운로드하거나 복사합니다.
-
명령행 툴 다운로드를 클릭하고
openshift-install
바이너리를PATH
에 있는 디렉터리에 배치합니다.
5.3. 기본 구성 입력 생성
다음 절차를 사용하여 PXE 파일을 생성하는 데 사용되는 기본 구성 입력을 생성합니다.
프로세스
다음 명령을 실행하여
nmstate
종속성을 설치합니다.$ sudo dnf install /usr/bin/nmstatectl -y
-
openshift-install
바이너리를 PATH에 있는 디렉터리에 배치합니다. 다음 명령을 실행하여 설치 구성을 저장할 디렉터리를 생성합니다.
$ mkdir ~/<directory_name>
참고에이전트 기반 설치에 권장되는 방법입니다. GitOps ZTP 매니페스트 사용은 선택 사항입니다.
다음 명령을 실행하여
install-config.yaml
파일을 생성합니다.$ cat << EOF > ./<directory_name>/install-config.yaml apiVersion: v1 baseDomain: test.example.com compute: - architecture: amd64 1 hyperthreading: Enabled name: worker replicas: 0 controlPlane: architecture: amd64 hyperthreading: Enabled name: master replicas: 1 metadata: name: sno-cluster 2 networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 machineNetwork: - cidr: 192.168.0.0/16 networkType: OVNKubernetes 3 serviceNetwork: - 172.30.0.0/16 platform: 4 none: {} pullSecret: '<pull_secret>' 5 sshKey: '<ssh_pub_key>' 6 EOF
- 1
- 시스템 아키텍처를 지정하고 유효한 값은
amd64
,arm64
,ppc64le
,s390x
입니다. - 2
- 필수 항목입니다. 클러스터 이름을 지정합니다.
- 3
- 설치할 클러스터 네트워크 플러그인입니다. 기본 값
OVNKubernetes
는 지원되는 유일한 값입니다. - 4
- 플랫폼을 지정합니다.참고
베어 메탈 플랫폼의 경우
agent-config.yaml
파일에서 만든 구성으로 재정의하지 않는 한install-config.yaml
파일의 platform 섹션에서 만든 호스트 설정이 기본적으로 사용됩니다. - 5
- 풀 시크릿을 지정합니다.
- 6
- SSH 공개 키를 지정합니다.
참고플랫폼을
vSphere
또는baremetal
로 설정하면 다음 세 가지 방법으로 클러스터 노드의 IP 주소 끝점을 구성할 수 있습니다.- IPv4
- IPv6
- IPv4 및 IPv6 병렬(dual-stack)
IPv6는 베어 메탈 플랫폼에서만 지원됩니다.
듀얼 스택 네트워킹의 예
networking: clusterNetwork: - cidr: 172.21.0.0/16 hostPrefix: 23 - cidr: fd02::/48 hostPrefix: 64 machineNetwork: - cidr: 192.168.11.0/16 - cidr: 2001:DB8::/32 serviceNetwork: - 172.22.0.0/16 - fd03::/112 networkType: OVNKubernetes platform: baremetal: apiVIPs: - 192.168.11.3 - 2001:DB8::4 ingressVIPs: - 192.168.11.4 - 2001:DB8::5
참고연결이 끊긴 미러 레지스트리를 사용하는 경우 미러 레지스트리에 대해 이전에 생성한 인증서 파일을
install-config.yaml
파일의additionalTrustBundle
필드에 추가해야 합니다.다음 명령을 실행하여
agent-config.yaml
파일을 생성합니다.$ cat > agent-config.yaml << EOF apiVersion: v1beta1 kind: AgentConfig metadata: name: sno-cluster rendezvousIP: 192.168.111.80 1 hosts: 2 - hostname: master-0 3 interfaces: - name: eno1 macAddress: 00:ef:44:21:e6:a5 rootDeviceHints: 4 deviceName: /dev/sdb networkConfig: 5 interfaces: - name: eno1 type: ethernet state: up mac-address: 00:ef:44:21:e6:a5 ipv4: enabled: true address: - ip: 192.168.111.80 prefix-length: 23 dhcp: false dns-resolver: config: server: - 192.168.111.1 routes: config: - destination: 0.0.0.0/0 next-hop-address: 192.168.111.2 next-hop-interface: eno1 table-id: 254 EOF
- 1
- 이 IP 주소는 부트스트랩 프로세스를 수행하고
assisted-service
구성 요소를 실행하는 노드를 결정하는 데 사용됩니다.networkConfig
매개변수에 하나 이상의 호스트의 IP 주소를 지정하지 않는 경우 rendezvous IP 주소를 제공해야 합니다. 이 주소를 제공하지 않으면 제공된 호스트의networkConfig
에서 하나의 IP 주소가 선택됩니다. - 2
- 선택 사항: 호스트 구성. 정의된 호스트 수는
compute.replicas
및controlPlane.replicas
매개변수 값의 합계인install-config.yaml
파일에 정의된 총 호스트 수를 초과해서는 안 됩니다. - 3
- 선택 사항: DHCP(Dynamic Host Configuration Protocol) 또는 역방향 DNS 조회에서 얻은 호스트 이름을 재정의합니다. 각 호스트에는 이러한 방법 중 하나에서 제공하는 고유한 호스트 이름이 있어야 합니다.
- 4
- 특정 장치에 대한 RHCOS(Red Hat Enterprise Linux CoreOS) 이미지의 프로비저닝을 활성화합니다. 설치 프로그램은 장치를 검색한 순서대로 검사하고 검색된 값을 팁과 비교합니다. 힌트 값과 일치하는 첫 번째 검색된 장치를 사용합니다.
- 5
- 선택 사항: NMState 형식으로 호스트의 네트워크 인터페이스를 구성합니다.
선택 사항: iPXE 스크립트를 생성하려면
agent-config.yaml
파일에bootArtifactsBaseURL
을 추가합니다.apiVersion: v1beta1 kind: AgentConfig metadata: name: sno-cluster rendezvousIP: 192.168.111.80 bootArtifactsBaseURL: <asset_server_URL>
여기서
<asset_server_URL
>은 PXE 자산을 업로드할 서버의 URL입니다.
추가 리소스
- 듀얼 스택 네트워킹을 사용한 배포.
- install-config yaml 파일 구성.
- 베어 메탈 환경에 3-노드 클러스터를 배포하도록 3-노드 클러스터 구성 을 참조하십시오.
- 루트 장치 팁 정보.
- NMState 상태 예제.
- 선택 사항: 추가 매니페스트 파일 생성
5.4. PXE 자산 생성
다음 절차에 따라 PXE 인프라에 구현할 자산 및 선택적 스크립트를 생성합니다.
프로세스
다음 명령을 실행하여 PXE 자산을 생성합니다.
$ openshift-install agent create pxe-files
생성된 PXE 자산 및 선택적 iPXE 스크립트는
boot-artifacts
디렉터리에서 확인할 수 있습니다.PXE 자산 및 선택적 iPXE 스크립트가 있는 파일 시스템의 예
boot-artifacts ├─ agent.x86_64-initrd.img ├─ agent.x86_64.ipxe ├─ agent.x86_64-rootfs.img └─ agent.x86_64-vmlinuz
중요boot-artifacts
디렉터리의 내용은 지정된 아키텍처에 따라 다릅니다.참고RHCOS(Red Hat Enterprise Linux CoreOS)는 기본 디스크에서 다중 경로를 지원하므로 하드웨어 장애에 대한 탄력성이 강화된 호스트 가용성을 높일 수 있습니다. 기본
/etc/multipath.conf
구성이 있는 에이전트 ISO 이미지에서 멀티패스는 기본적으로 활성화됩니다.부팅 프로세스 중에 액세스할 수 있는 인프라에 PXE 자산 및 선택적 스크립트를 업로드합니다.
참고iPXE 스크립트를 생성한 경우 자산 위치는
agent-config.yaml
파일에 추가한bootArtifactsBaseURL
과 일치해야 합니다.
5.5. 수동으로 IBM Z 에이전트 추가
PXE 자산을 생성한 후 IBM Z® 에이전트를 추가할 수 있습니다. IBM Z® 클러스터에만 이 절차를 사용하십시오.
현재 IBM Z® (s390x
) 아키텍처에서는 ISO 부팅이 지원되지 않습니다. 따라서 IBM Z®의 에이전트 기반 설치에는 IBM Z® 에이전트를 수동으로 추가해야 합니다.
IBM Z® 환경에 따라 다음 옵션 중에서 선택할 수 있습니다.
- z/VM을 사용하여 IBM Z® 에이전트 추가
- RHEL KVM을 사용하여 IBM Z® 에이전트 추가
5.5.1. z/VM을 사용하여 IBM Z 에이전트 추가
다음 절차에 따라 z/VM과 함께 IBM Z® 에이전트를 수동으로 추가합니다. z/VM이 있는 IBM Z® 클러스터에만 이 절차를 사용하십시오.
프로세스
z/VM 게스트에 대한 매개변수 파일을 생성합니다.
매개변수 파일 예
rd.neednet=1 \ console=ttysclp0 \ coreos.live.rootfs_url=<rootfs_url> \ 1 ip=172.18.78.2::172.18.78.1:255.255.255.0:::none nameserver=172.18.78.1 \ 2 zfcp.allow_lun_scan=0 \ 3 rd.znet=qeth,0.0.bdd0,0.0.bdd1,0.0.bdd2,layer2=1 \ rd.dasd=0.0.4411 \ 4 rd.zfcp=0.0.8001,0x50050763040051e3,0x4000406300000000 \ 5 random.trust_cpu=on rd.luks.options=discard \ ignition.firstboot ignition.platform.id=metal \ console=tty1 console=ttyS1,115200n8 \ coreos.inst.persistent-kargs="console=tty1 console=ttyS1,115200n8"
- 1
coreos.live.rootfs_url
아티팩트의 경우 부팅 중인커널
및initramfs
와 일치하는rootfs
아티팩트를 지정합니다. HTTP 및 HTTPS 프로토콜만 지원됩니다.- 2
ip
매개변수의 경우 "IBM Z® 및 IBM® LinuxONE에 z/VM으로 클러스터 설치"에 설명된 대로 DHCP를 사용하여 자동으로 IP 주소를 할당하거나 IP 주소를 수동으로 할당합니다.- 3
- 기본값은
1
입니다. OSA 네트워크 어댑터를 사용하는 경우 이 항목을 생략합니다. - 4
- DASD 유형 디스크에 설치하는 경우
rd.dasd
를 사용하여 RHCOS(Red Hat Enterprise Linux CoreOS)를 설치할 DASD를 지정합니다. FCP 유형 디스크에 대해 이 항목을 생략합니다. - 5
- FCP 유형 디스크에 설치하려면
rd.zfcp=<adapter>,<wwpn>,<lun
>을 사용하여 RHCOS를 설치할 FCP 디스크를 지정합니다. DASD 유형 디스크에 이 항목을 생략합니다.
변경되지 않은 다른 모든 매개변수는 그대로 두십시오.
kernel.img
,generic.parm
,initrd.img
파일을 z/VM 게스트 가상 머신의 가상 리더로 실행합니다.자세한 내용은 PUNCH (IBM 문서)를 참조하십시오.
작은 정보CP PUNCH
명령을 사용하거나 Linux를 사용하는 경우vmur
명령을 사용하여 두 개의 z/VM 게스트 가상 머신 간에 파일을 전송할 수 있습니다.- 부트스트랩 머신의 대화식 모니터 시스템(CMS)에 로그인합니다.
다음 명령을 실행하여 리더의 부트스트랩 시스템을 IPL합니다.
$ ipl c
자세한 내용은 IPL (IBM 문서)을 참조하십시오.
5.5.2. RHEL KVM을 사용하여 IBM Z(R) 에이전트 추가
RHEL KVM에 IBM Z® 에이전트를 수동으로 추가하려면 다음 절차를 사용하십시오. RHEL KVM의 IBM Z® 클러스터에만 다음 절차를 사용하십시오.
프로세스
- RHEL KVM 머신을 부팅합니다.
가상 서버를 배포하려면 다음 매개변수를 사용하여
virt-install
명령을 실행합니다.$ virt-install \ --name <vm_name> \ --autostart \ --ram=16384 \ --cpu host \ --vcpus=8 \ --location <path_to_kernel_initrd_image>,kernel=kernel.img,initrd=initrd.img \1 --disk <qcow_image_path> \ --network network:macvtap ,mac=<mac_address> \ --graphics none \ --noautoconsole \ --wait=-1 \ --extra-args "rd.neednet=1 nameserver=<nameserver>" \ --extra-args "ip=<IP>::<nameserver>::<hostname>:enc1:none" \ --extra-args "coreos.live.rootfs_url=http://<http_server>:8080/agent.s390x-rootfs.img" \ --extra-args "random.trust_cpu=on rd.luks.options=discard" \ --extra-args "ignition.firstboot ignition.platform.id=metal" \ --extra-args "console=tty1 console=ttyS1,115200n8" \ --extra-args "coreos.inst.persistent-kargs=console=tty1 console=ttyS1,115200n8" \ --osinfo detect=on,require=off
- 1
--location
매개변수의 경우 HTTP 또는 HTTPS 서버의 kernel/initrd 위치를 지정합니다.
6장. Kubernetes Operator용 다중 클러스터 엔진을 위한 에이전트 기반 설치 클러스터 준비
다중 클러스터 엔진 Operator를 설치하고 에이전트 기반 OpenShift Container Platform 설치 프로그램을 사용하여 허브 클러스터를 배포할 수 있습니다. 다음 절차는 부분적으로 자동화되며 초기 클러스터를 배포한 후 수동 단계가 필요합니다.
6.1. 사전 요구 사항
다음 문서를 읽었습니다.
- 필요한 컨테이너 이미지를 얻으려면 인터넷에 액세스할 수 있습니다.
-
OpenShift CLI(
oc
)가 설치되어 있습니다. - 연결이 끊긴 환경에 설치하는 경우 연결 해제된 설치 미러링을 위해 로컬 미러 레지스트리가 구성되어 있어야 합니다.
6.2. 연결이 끊긴 동안 Kubernetes Operator용 다중 클러스터 엔진을 위한 에이전트 기반 클러스터 배포 준비
연결이 끊긴 환경의 필요한 OpenShift Container Platform 컨테이너 이미지, 다중 클러스터 엔진 Operator 및 LSO(Local Storage Operator)를 로컬 미러 레지스트리에 미러링할 수 있습니다. 미러 레지스트리의 로컬 DNS 호스트 이름과 포트를 기록해야 합니다.
OpenShift Container Platform 이미지 저장소를 미러 레지스트리에 미러링하려면 oc adm release image
또는 oc mirror
명령을 사용할 수 있습니다. 이 절차에서는 oc mirror
명령이 예제로 사용됩니다.
프로세스
-
유효한
install-config.yaml
및agent-config.yaml
파일을 포함할 <assets_directory
> 폴더를 생성합니다. 이 디렉터리는 모든 자산을 저장하는 데 사용됩니다. OpenShift Container Platform 이미지 리포지토리, 다중 클러스터 엔진 및 LSO를 미러링하려면 다음 설정으로
ImageSetConfiguration.yaml
파일을 생성합니다.Example
ImageSetConfiguration.yaml
kind: ImageSetConfiguration apiVersion: mirror.openshift.io/v1alpha2 archiveSize: 4 1 storageConfig: 2 imageURL: <your-local-registry-dns-name>:<your-local-registry-port>/mirror/oc-mirror-metadata 3 skipTLS: true mirror: platform: architectures: - "amd64" channels: - name: stable-4.15 4 type: ocp additionalImages: - name: registry.redhat.io/ubi9/ubi:latest operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.15 5 packages: 6 - name: multicluster-engine 7 - name: local-storage-operator 8
- 1
- 이미지 세트 내의 각 파일의 최대 크기(GiB)를 지정합니다.
- 2
- 이미지 세트 메타데이터를 수신할 백엔드 위치를 설정합니다. 이 위치는 레지스트리 또는 로컬 디렉터리일 수 있습니다.
storageConfig
값을 지정해야 합니다. - 3
- 스토리지 백엔드의 레지스트리 URL을 설정합니다.
- 4
- 설치 중인 버전의 OpenShift Container Platform 이미지가 포함된 채널을 설정합니다.
- 5
- 설치 중인 OpenShift Container Platform 이미지가 포함된 Operator 카탈로그를 설정합니다.
- 6
- 이미지 세트에 포함할 특정 Operator 패키지 및 채널만 지정합니다. 이 필드를 제거하여 카탈로그의 모든 패키지를 검색합니다.
- 7
- 멀티 클러스터 엔진 패키지 및 채널.
- 8
- LSO 패키지 및 채널
참고이 파일은 콘텐츠를 미러링할 때
oc mirror
명령에 필요합니다.특정 OpenShift Container Platform 이미지 저장소, 다중 클러스터 엔진 및 LSO를 미러링하려면 다음 명령을 실행합니다.
$ oc mirror --dest-skip-tls --config ocp-mce-imageset.yaml docker://<your-local-registry-dns-name>:<your-local-registry-port>
install-config.yaml
파일에서 레지스트리 및 인증서를 업데이트합니다.Example
imageContentSources.yaml
imageContentSources: - source: "quay.io/openshift-release-dev/ocp-release" mirrors: - "<your-local-registry-dns-name>:<your-local-registry-port>/openshift/release-images" - source: "quay.io/openshift-release-dev/ocp-v4.0-art-dev" mirrors: - "<your-local-registry-dns-name>:<your-local-registry-port>/openshift/release" - source: "registry.redhat.io/ubi9" mirrors: - "<your-local-registry-dns-name>:<your-local-registry-port>/ubi9" - source: "registry.redhat.io/multicluster-engine" mirrors: - "<your-local-registry-dns-name>:<your-local-registry-port>/multicluster-engine" - source: "registry.redhat.io/rhel8" mirrors: - "<your-local-registry-dns-name>:<your-local-registry-port>/rhel8" - source: "registry.redhat.io/redhat" mirrors: - "<your-local-registry-dns-name>:<your-local-registry-port>/redhat"
또한
install-config.yaml
의additionalTrustBundle
필드에 인증서가 있는지 확인합니다.예:
install-config.yaml
additionalTrustBundle: | -----BEGIN CERTIFICATE----- zzzzzzzzzzz -----END CERTIFICATE-------
중요oc mirror
명령은 여러 출력을 사용하여oc-mirror-workspace
라는 폴더를 생성합니다. 여기에는 OpenShift Container Platform 및 선택한 Operator에 필요한 모든 미러를 식별하는imageContentSourcePolicy.yaml
파일이 포함됩니다.다음 명령을 실행하여 클러스터 매니페스트를 생성합니다.
$ openshift-install agent create cluster-manifests
이 명령은 미러 구성이 포함된
미러
폴더를 포함하도록 클러스터 매니페스트 폴더를 업데이트합니다.
6.3. 연결된 동안 Kubernetes Operator용 다중 클러스터 엔진을 위한 에이전트 기반 클러스터 배포 준비
다중 클러스터 엔진 Operator, LSO(Local Storage Operator)에 필요한 매니페스트를 생성하고 에이전트 기반 OpenShift Container Platform 클러스터를 허브 클러스터로 배포합니다.
프로세스
<
assets_directory> 폴더에
생성합니다. 이 하위 폴더는 배포된 클러스터를 추가로 사용자 지정하기 위해 설치 중에 적용할 추가 매니페스트를 저장하는 데 사용됩니다. &openshift
라는 하위 폴더를lt;assets_directory
> 폴더에는install-config.yaml
및agent-config.yaml
파일을 포함한 모든 자산이 포함되어 있습니다.참고설치 프로그램에서 추가 매니페스트를 확인하지 않습니다.
다중 클러스터 엔진의 경우 다음 매니페스트를 생성하여 <
assets_directory>/openshift
폴더에 저장합니다.Example
mce_namespace.yaml
apiVersion: v1 kind: Namespace metadata: labels: openshift.io/cluster-monitoring: "true" name: multicluster-engine
Example
mce_operatorgroup.yaml
apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: multicluster-engine-operatorgroup namespace: multicluster-engine spec: targetNamespaces: - multicluster-engine
Example
mce_subscription.yaml
apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: multicluster-engine namespace: multicluster-engine spec: channel: "stable-2.3" name: multicluster-engine source: redhat-operators sourceNamespace: openshift-marketplace
참고지원되는 설치 관리자(AI)를 사용하여 RHACM(Red Hat Advanced Cluster Management)을 사용하여 대규모로 DCU(Distributed Unit)를 설치할 수 있습니다. 이러한 분산 단위는 hub 클러스터에서 활성화되어야 합니다. AI 서비스에는 수동으로 생성되는 PV(영구 볼륨)가 필요합니다.
AI 서비스의 경우 다음 매니페스트를 생성하여 <
assets_directory>/openshift
폴더에 저장합니다.Example
lso_namespace.yaml
apiVersion: v1 kind: Namespace metadata: annotations: openshift.io/cluster-monitoring: "true" name: openshift-local-storage
Example
lso_operatorgroup.yaml
apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: local-operator-group namespace: openshift-local-storage spec: targetNamespaces: - openshift-local-storage
Example
lso_subscription.yaml
apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: local-storage-operator namespace: openshift-local-storage spec: installPlanApproval: Automatic name: local-storage-operator source: redhat-operators sourceNamespace: openshift-marketplace
참고모든 매니페스트를 생성한 후 파일 시스템이 다음과 같이 표시되어야 합니다.
파일 시스템 예
<assets_directory> ├─ install-config.yaml ├─ agent-config.yaml └─ /openshift ├─ mce_namespace.yaml ├─ mce_operatorgroup.yaml ├─ mce_subscription.yaml ├─ lso_namespace.yaml ├─ lso_operatorgroup.yaml └─ lso_subscription.yaml
다음 명령을 실행하여 에이전트 ISO 이미지를 생성합니다.
$ openshift-install agent create image --dir <assets_directory>
- 이미지가 준비되면 대상 시스템을 부팅하고 설치가 완료될 때까지 기다립니다.
설치를 모니터링하려면 다음 명령을 실행합니다.
$ openshift-install agent wait-for install-complete --dir <assets_directory>
참고완전한 기능 허브 클러스터를 구성하려면 다음 매니페스트를 생성하고
$ oc apply -f <manifest-name> 명령을 실행하여 수동으로 적용해야 합니다
. 매니페스트 생성 순서가 중요하며 필요한 경우 대기 조건이 표시됩니다.AI 서비스에 필요한 PV의 경우 다음 매니페스트를 생성합니다.
apiVersion: local.storage.openshift.io/v1 kind: LocalVolume metadata: name: assisted-service namespace: openshift-local-storage spec: logLevel: Normal managementState: Managed storageClassDevices: - devicePaths: - /dev/vda - /dev/vdb storageClassName: assisted-service volumeMode: Filesystem
다음 명령을 사용하여 후속 매니페스트를 적용하기 전에 PV의 가용성을 기다립니다.
$ oc wait localvolume -n openshift-local-storage assisted-service --for condition=Available --timeout 10m
참고The `devicePath` is an example and may vary depending on the actual hardware configuration used.
다중 클러스터 엔진 인스턴스에 대한 매니페스트를 생성합니다.
Example
MultiClusterEngine.yaml
apiVersion: multicluster.openshift.io/v1 kind: MultiClusterEngine metadata: name: multiclusterengine spec: {}
AI 서비스를 활성화하는 매니페스트를 생성합니다.
agentserviceconfig.yaml
예apiVersion: agent-install.openshift.io/v1beta1 kind: AgentServiceConfig metadata: name: agent namespace: assisted-installer spec: databaseStorage: storageClassName: assisted-service accessModes: - ReadWriteOnce resources: requests: storage: 10Gi filesystemStorage: storageClassName: assisted-service accessModes: - ReadWriteOnce resources: requests: storage: 10Gi
나중에 대화하는 클러스터를 배포할 매니페스트를 생성합니다.
Example
clusterimageset.yaml
apiVersion: hive.openshift.io/v1 kind: ClusterImageSet metadata: name: "4.15" spec: releaseImage: quay.io/openshift-release-dev/ocp-release:4.15.0-x86_64
에이전트가 설치된 클러스터(Multicluster 엔진 및 지원 서비스를 호스트)를 hub 클러스터 클러스터로 가져오는 매니페스트를 생성합니다.
예:
autoimport.yaml
apiVersion: cluster.open-cluster-management.io/v1 kind: ManagedCluster metadata: labels: local-cluster: "true" cloud: auto-detect vendor: auto-detect name: local-cluster spec: hubAcceptsClient: true
관리 클러스터가 생성될 때까지 기다립니다.
$ oc wait -n multicluster-engine managedclusters local-cluster --for condition=ManagedClusterJoined=True --timeout 10m
검증
관리 클러스터 설치에 성공했는지 확인하려면 다음 명령을 실행합니다.
$ oc get managedcluster NAME HUB ACCEPTED MANAGED CLUSTER URLS JOINED AVAILABLE AGE local-cluster true https://<your cluster url>:6443 True True 77m
추가 리소스
7장. 에이전트 기반 설치 관리자에 대한 설치 구성 매개변수
에이전트 기반 설치 관리자를 사용하여 OpenShift Container Platform 클러스터를 배포하기 전에 클러스터와 이를 호스팅하는 플랫폼을 사용자 지정하는 매개변수를 제공합니다. install-config.yaml
및 agent-config.yaml
파일을 생성할 때 필수 매개변수의 값을 제공해야 하며 선택적 매개변수를 사용하여 클러스터를 추가로 사용자 지정할 수 있습니다.
7.1. 사용 가능한 설치 구성 매개변수
다음 표에서는 에이전트 기반 설치 프로세스의 일부로 설정할 수 있는 필수 및 선택적 설치 구성 매개변수를 지정합니다.
이러한 값은 install-config.yaml
파일에 지정됩니다.
이러한 설정은 설치에만 사용되며 설치 후에는 수정할 수 없습니다.
7.1.1. 필수 구성 매개변수
필수 설치 구성 매개변수는 다음 표에 설명되어 있습니다.
매개변수 | 설명 | 값 |
---|---|---|
apiVersion: |
| 문자열 |
baseDomain: |
클라우드 공급자의 기본 도메인입니다. 기본 도메인은 OpenShift Container Platform 클러스터 구성 요소에 대한 경로를 생성하는 데 사용됩니다. 클러스터의 전체 DNS 이름은 |
정규화된 도메인 또는 하위 도메인 이름(예: |
metadata: |
Kubernetes 리소스 | 개체 |
metadata: name: |
클러스터의 이름입니다. 클러스터의 DNS 레코드는 |
소문자, 하이픈( |
platform: |
설치를 수행할 특정 플랫폼에 대한 구성: | 개체 |
pullSecret: | Red Hat OpenShift Cluster Manager에서 풀 시크릿 을 가져와서 Quay.io와 같은 서비스에서 OpenShift Container Platform 구성 요소의 컨테이너 이미지 다운로드를 인증합니다. |
{ "auths":{ "cloud.openshift.com":{ "auth":"b3Blb=", "email":"you@example.com" }, "quay.io":{ "auth":"b3Blb=", "email":"you@example.com" } } } |
7.1.2. 네트워크 구성 매개변수
기존 네트워크 인프라의 요구 사항에 따라 설치 구성을 사용자 지정할 수 있습니다. 예를 들어 클러스터 네트워크의 IP 주소 블록을 확장하거나 기본값과 다른 IP 주소 블록을 제공할 수 있습니다.
- Red Hat OpenShift Networking OVN-Kubernetes 네트워크 플러그인을 사용하는 경우 IPv4 및 IPv6 주소 제품군이 모두 지원됩니다.
두 IP 주소 제품군을 모두 사용하도록 클러스터를 구성하는 경우 다음 요구 사항을 검토하십시오.
- 두 IP 제품군 모두 기본 게이트웨이에 동일한 네트워크 인터페이스를 사용해야 합니다.
- 두 IP 제품군 모두 기본 게이트웨이가 있어야 합니다.
- 모든 네트워크 구성 매개 변수에 대해 IPv4 및 IPv6 주소를 동일한 순서로 지정해야 합니다. 예를 들어 다음 구성 IPv4 주소는 IPv6 주소 앞에 나열됩니다.
networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 - cidr: fd00:10:128::/56 hostPrefix: 64 serviceNetwork: - 172.30.0.0/16 - fd00:172:16::/112
Red Hat OpenShift Data Foundation 재해 복구 솔루션에서는 Globalnet이 지원되지 않습니다. 지역 재해 복구 시나리오의 경우 각 클러스터의 클러스터 및 서비스 네트워크에 대해 겹치지 않는 개인 IP 주소를 사용해야 합니다.
매개변수 | 설명 | 값 |
---|---|---|
networking: | 클러스터의 네트워크의 구성입니다. | 개체 참고
설치한 후에는 |
networking: networkType: | 설치할 Red Hat OpenShift Networking 네트워크 플러그인입니다. |
|
networking: clusterNetwork: | Pod의 IP 주소 블록입니다.
기본값은 여러 IP 주소 블록을 지정하는 경우 블록이 겹치지 않아야 합니다. | 개체의 배열입니다. 예를 들면 다음과 같습니다. networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 - cidr: fd01::/48 hostPrefix: 64 |
networking: clusterNetwork: cidr: |
OVN-Kubernetes 네트워크 플러그인을 사용하는 경우 IPv4 및 IPv6 네트워크를 지정할 수 있습니다. |
CIDR(Classless Inter-Domain Routing) 표기법의 IP 주소 블록입니다. IPv4 블록의 접두사 길이는 |
networking: clusterNetwork: hostPrefix: |
개별 노드 각각에 할당할 서브넷 접두사 길이입니다. 예를 들어 | 서브넷 접두사입니다.
IPv4 네트워크의 경우 기본값은 |
networking: serviceNetwork: |
서비스의 IP 주소 블록입니다. 기본값은 OVN-Kubernetes 네트워크 플러그인은 서비스 네트워크에 대한 단일 IP 주소 블록만 지원합니다. OVN-Kubernetes 네트워크 플러그인을 사용하는 경우 IPv4 및 IPv6 주소 제품군 모두에 IP 주소 블록을 지정할 수 있습니다. | CIDR 형식의 IP 주소 블록이 있는 어레이입니다. 예를 들면 다음과 같습니다. networking: serviceNetwork: - 172.30.0.0/16 - fd02::/112 |
networking: machineNetwork: | 시스템의 IP 주소 블록입니다. 여러 IP 주소 블록을 지정하는 경우 블록이 겹치지 않아야 합니다. | 개체의 배열입니다. 예를 들면 다음과 같습니다. networking: machineNetwork: - cidr: 10.0.0.0/16 |
networking: machineNetwork: cidr: |
| CIDR 표기법의 IP 네트워크 블록입니다.
예를 들면 참고
기본 NIC가 상주하는 CIDR과 일치하도록 |
7.1.3. 선택적 구성 매개변수
선택적 설치 구성 매개변수는 다음 표에 설명되어 있습니다.
매개변수 | 설명 | 값 |
---|---|---|
additionalTrustBundle: | 노드의 신뢰할 수 있는 인증서 스토리지에 추가되는 PEM 인코딩 X.509 인증서 번들입니다. 이 신뢰할 수 있는 번들은 프록시가 구성되었을 때에도 사용할 수 있습니다. | 문자열 |
capabilities: | 선택적 핵심 클러스터 구성 요소의 설치를 제어합니다. 선택적 구성 요소를 비활성화하여 OpenShift Container Platform 클러스터의 설치 공간을 줄일 수 있습니다. 자세한 내용은 설치 의 "클러스터 기능" 페이지를 참조하십시오. | 문자열 배열 |
capabilities: baselineCapabilitySet: |
활성화할 선택적 기능 세트를 선택합니다. 유효한 값은 | 문자열 |
capabilities: additionalEnabledCapabilities: |
| 문자열 배열 |
cpuPartitioningMode: | 워크로드 파티셔닝을 통해 OpenShift Container Platform 서비스, 클러스터 관리 워크로드 및 인프라 Pod를 분리하여 예약된 CPU 세트에서 실행할 수 있습니다. 워크로드 파티셔닝은 설치 중에만 활성화할 수 있으며 설치 후에는 비활성화할 수 없습니다. 이 필드를 사용하면 워크로드 파티셔닝을 사용할 수 있지만 특정 CPU를 사용하도록 워크로드를 구성하지 않습니다. 자세한 내용은 확장 및 성능 섹션의 워크로드 파티션 페이지를 참조하십시오. |
|
compute: | 컴퓨팅 노드를 구성하는 시스템의 구성입니다. |
|
compute: architecture: |
풀에 있는 시스템의 명령어 집합 아키텍처를 결정합니다. 현재 다양한 아키텍처가 있는 클러스터는 지원되지 않습니다. 모든 풀은 동일한 아키텍처를 지정해야 합니다. 유효한 값은 | 문자열 |
compute: hyperthreading: |
컴퓨팅 시스템에서 동시 멀티스레딩 또는 중요 동시 멀티스레딩을 비활성화하는 경우 용량 계획에서 시스템 성능이 크게 저하될 수 있는 문제를 고려해야 합니다. |
|
compute: name: |
|
|
compute: platform: |
|
|
compute: replicas: | 프로비저닝할 컴퓨팅 시스템(작업자 시스템이라고도 함) 수입니다. |
|
featureSet: | 기능 세트를 위한 클러스터를 활성화합니다. 기능 세트는 기본적으로 활성화되어 있지 않은 OpenShift Container Platform 기능 컬렉션입니다. 설치 중에 기능 세트를 활성화하는 방법에 대한 자세한 내용은 "기능 게이트를 사용하여 기능 활성화"를 참조하십시오. |
문자열. |
controlPlane: | 컨트롤 플레인을 구성하는 시스템들의 구성입니다. |
|
controlPlane: architecture: |
풀에 있는 시스템의 명령어 집합 아키텍처를 결정합니다. 현재 다양한 아키텍처가 있는 클러스터는 지원되지 않습니다. 모든 풀은 동일한 아키텍처를 지정해야 합니다. 유효한 값은 | 문자열 |
controlPlane: hyperthreading: |
컨트롤 플레인 시스템에서 동시 멀티스레딩 또는 중요 동시 멀티스레딩을 비활성화하는 경우 용량 계획에서 시스템 성능이 크게 저하될 수 있는 문제를 고려해야 합니다. |
|
controlPlane: name: |
|
|
controlPlane: platform: |
|
|
controlPlane: replicas: | 프로비저닝하는 컨트롤 플레인 시스템의 수입니다. |
지원되는 값은 |
credentialsMode: | Cloud Credential Operator (CCO) 모드입니다. 모드가 지정되지 않은 경우 CCO는 여러 모드가 지원되는 플랫폼에서 Mint 모드가 우선으로 되어 지정된 인증 정보의 기능을 동적으로 확인하려고합니다. |
|
fips: |
FIPS 모드를 활성화 또는 비활성화합니다. 기본값은 중요 클러스터의 FIPS 모드를 활성화하려면 FIPS 모드에서 작동하도록 구성된 RHEL(Red Hat Enterprise Linux) 컴퓨터에서 설치 프로그램을 실행해야 합니다. RHEL에서 FIPS 모드 구성에 대한 자세한 내용은 FIPS 모드에서 시스템 설치를 참조하십시오. FIPS 모드에서 부팅된 RHEL(Red Hat Enterprise Linux CoreOS) 또는 RHCOS(Red Hat Enterprise Linux CoreOS)를 실행하는 경우 OpenShift Container Platform 코어 구성 요소는 x86_64, ppc64le 및 s390x 아키텍처에서만 FIPS 140-2/140-3 Validation에 대해 NIST에 제출된 RHEL 암호화 라이브러리를 사용합니다. 참고 Azure File 스토리지를 사용하는 경우 FIPS 모드를 활성화할 수 없습니다. |
|
imageContentSources: | 릴리스 이미지 내용의 소스 및 리포지토리입니다. |
개체의 배열입니다. 이 표의 다음 행에 설명된 대로 |
imageContentSources: source: |
| 문자열 |
imageContentSources: mirrors: | 동일한 이미지를 포함할 수도 있는 하나 이상의 리포지토리를 지정합니다. | 문자열 배열 |
publish: | Kubernetes API, OpenShift 경로와 같이 클러스터의 사용자 끝점을 게시하거나 노출하는 방법입니다. |
이 필드를 중요
필드 값을 |
sshKey: | 클러스터 시스템에 대한 액세스를 인증하는 SSH 키입니다. 참고
설치 디버깅 또는 재해 복구를 수행하려는 프로덕션 OpenShift Container Platform 클러스터의 경우 |
예를 들어 |
- 모든 클라우드 공급자에서 모든 CCO 모드가 지원되는 것은 아닙니다. CCO 모드에 대한 자세한 내용은 인증 및 권한 부여 콘텐츠의 "클라우드 공급자 인증 정보 관리" 항목을 참조하십시오.
7.1.4. 에이전트 기반 설치 프로그램에 대한 추가 베어 메탈 구성 매개변수
에이전트 기반 설치 관리자의 추가 베어 메탈 설치 구성 매개변수는 다음 표에 설명되어 있습니다.
이러한 필드는 클러스터의 초기 프로비저닝 중에 사용되지 않지만 클러스터가 설치되면 사용할 수 있습니다. 설치 시 이러한 필드를 구성하면 Day 2 작업으로 설정할 필요가 없습니다.
매개변수 | 설명 | 값 |
---|---|---|
platform: baremetal: clusterProvisioningIP: |
프로비저닝 서비스가 실행되는 클러스터 내의 IP 주소입니다. 기본값은 provisioning 서브넷의 세 번째 IP 주소입니다. 예: | IPv4 또는 IPv6 주소. |
platform: baremetal: provisioningNetwork: |
|
|
platform: baremetal: provisioningMACAddress: | 프로비저닝 서비스가 실행되는 클러스터 내의 MAC 주소입니다. | MAC 주소. |
platform: baremetal: provisioningNetworkCIDR: | 프로비저닝에 사용할 네트워크의 CIDR입니다. 이 옵션은 provisioning 네트워크에서 기본 주소 범위를 사용하지 않는 경우 필요합니다. |
유효한 CIDR(예: |
platform: baremetal: provisioningNetworkInterface: |
provisioning 네트워크에 연결된 노드의 네트워크 인터페이스 이름입니다. | 문자열. |
platform: baremetal: provisioningDHCPRange: |
provisioning 네트워크에서 노드의 IP 범위를 정의합니다(예: | IP 주소 범위. |
platform: baremetal: hosts: | 베어 메탈 호스트에 대한 구성입니다. | 호스트 구성 오브젝트의 배열입니다. |
platform: baremetal: hosts: name: | 호스트의 이름입니다. | 문자열. |
platform: baremetal: hosts: bootMACAddress: | 호스트 프로비저닝에 사용되는 NIC의 MAC 주소입니다. | MAC 주소. |
platform: baremetal: hosts: bmc: | BMC(Baseboard Management Controller)에 연결할 호스트에 대한 구성입니다. | BMC 구성 오브젝트의 사전입니다. |
platform: baremetal: hosts: bmc: username: | BMC의 사용자 이름입니다. | 문자열. |
platform: baremetal: hosts: bmc: password: | BMC의 암호입니다. | 문자열. |
platform: baremetal: hosts: bmc: address: |
호스트의 BMC 컨트롤러와 통신하기 위한 URL입니다. address 구성 설정은 프로토콜을 지정합니다. 예를 들어 | URL. |
platform: baremetal: hosts: bmc: disableCertificateVerification: |
| 부울. |
7.1.5. 추가 VMware vSphere 구성 매개변수
추가 VMware vSphere 구성 매개변수는 다음 표에 설명되어 있습니다.
매개변수 | 설명 | 값 |
---|---|---|
platform: vsphere: | 클러스터를 호스팅하는 클라우드 플랫폼의 계정을 설명합니다. 매개 변수를 사용하여 플랫폼을 사용자 지정할 수 있습니다. 머신 풀에서 컴퓨팅 및 컨트롤 플레인 시스템에 대한 추가 구성 설정을 제공하는 경우 매개변수가 필요하지 않습니다. OpenShift Container Platform 클러스터에 대해 하나의 vCenter 서버만 지정할 수 있습니다. | vSphere 구성 오브젝트 사전 |
platform: vsphere: failureDomains: |
지역과 영역 간의 관계를 설정합니다. | 장애 도메인 구성 오브젝트의 배열입니다. |
platform: vsphere: failureDomains: name: | 실패 도메인의 이름입니다. | 문자열 |
platform: vsphere: failureDomains: region: |
클러스터의 장애 도메인을 여러 개 정의하는 경우 태그를 각 vCenter 데이터 센터에 연결해야 합니다. 리전을 정의하려면 | 문자열 |
platform: vsphere: failureDomains: server: |
클라이언트가 장애 도메인 리소스에 액세스할 수 있도록 VMware vCenter 서버의 정규화된 호스트 이름 또는 IP 주소를 지정합니다. vSphere vCenter | 문자열 |
platform: vsphere: failureDomains: zone: |
클러스터의 장애 도메인을 여러 개 정의하는 경우 태그를 각 vCenter 클러스터에 연결해야 합니다. 영역을 정의하려면 | 문자열 |
platform: vsphere: failureDomains: topology: computeCluster: | vSphere 컴퓨팅 클러스터의 경로입니다. | 문자열 |
platform: vsphere: failureDomains: topology: datacenter: |
OpenShift Container Platform VM(가상 머신)이 작동하는 데이터센터를 나열하고 정의합니다. 데이터센터 목록은 | 문자열 |
platform: vsphere: failureDomains: topology: datastore: | 가상 머신 파일, 템플릿 및 ISO 이미지를 보유하는 vSphere 데이터 저장소의 경로입니다. 중요 데이터 저장소 클러스터에 존재하는 모든 데이터 저장소의 경로를 지정할 수 있습니다. 기본적으로 데이터 저장소 클러스터에 대해 스토리지 vMotion이 자동으로 활성화됩니다. Red Hat은 스토리지 vMotion을 지원하지 않으므로 OpenShift Container Platform 클러스터의 데이터 손실 문제를 방지하려면 스토리지 vMotion을 비활성화해야 합니다.
여러 데이터 저장소에서 VM을 지정해야 하는 경우 | 문자열 |
platform: vsphere: failureDomains: topology: folder: |
선택 사항: 사용자가 가상 머신을 생성하는 기존 폴더의 절대 경로입니다(예: /< | 문자열 |
platform: vsphere: failureDomains: topology: networks: | vCenter 인스턴스에서 구성한 가상 IP 주소 및 DNS 레코드가 포함된 모든 네트워크를 나열합니다. | 문자열 |
platform: vsphere: failureDomains: topology: resourcePool: |
선택 사항: 설치 프로그램이 가상 머신을 생성하는 기존 리소스 풀의 절대 경로입니다(예: /< | 문자열 |
platform: vsphere: failureDomains: topology template: | 기존 RHCOS(Red Hat Enterprise Linux CoreOS) 이미지 템플릿 또는 가상 머신의 절대 경로를 지정합니다. 설치 프로그램은 이미지 템플릿 또는 가상 머신을 사용하여 vSphere 호스트에 RHCOS를 빠르게 설치할 수 있습니다. vSphere 호스트에서 RHCOS 이미지를 업로드하는 대신 이 매개변수를 사용하는 것이 좋습니다. 이 매개변수는 설치 관리자 프로비저닝 인프라에서만 사용할 수 있습니다. | 문자열 |
platform: vsphere: vcenters: | 서비스가 vCenter 서버와 통신할 수 있도록 연결 세부 정보를 구성합니다. 현재 단일 vCenter 서버만 지원됩니다. | vCenter 구성 오브젝트의 배열입니다. |
platform: vsphere: vcenters: datacenters: |
OpenShift Container Platform VM(가상 머신)이 작동하는 데이터센터를 나열하고 정의합니다. 데이터 센터 목록은 | 문자열 |
platform: vsphere: vcenters: password: | vSphere 사용자와 연결된 암호입니다. | 문자열 |
platform: vsphere: vcenters: port: | vCenter 서버와 통신하는 데 사용되는 포트 번호입니다. | 정수 |
platform: vsphere: vcenters: server: | vCenter 서버의 정규화된 호스트 이름(FQHN) 또는 IP 주소입니다. | 문자열 |
platform: vsphere: vcenters: user: | vSphere 사용자와 연결된 사용자 이름입니다. | 문자열 |
7.1.6. 더 이상 사용되지 않는 VMware vSphere 구성 매개변수
OpenShift Container Platform 4.13에서는 다음 vSphere 구성 매개변수가 더 이상 사용되지 않습니다. 이러한 매개변수를 계속 사용할 수 있지만 설치 프로그램은 install-config.yaml
파일에 이러한 매개변수를 자동으로 지정하지 않습니다.
다음 표에는 더 이상 사용되지 않는 각 vSphere 구성 매개변수가 나열되어 있습니다.
매개변수 | 설명 | 값 |
---|---|---|
platform: vsphere: cluster: | OpenShift Container Platform 클러스터를 설치할 vCenter 클러스터입니다. | 문자열 |
platform: vsphere: datacenter: | OpenShift Container Platform VM(가상 머신)이 작동하는 데이터 센터를 정의합니다. | 문자열 |
platform: vsphere: defaultDatastore: | 프로비저닝 볼륨에 사용할 기본 데이터 저장소의 이름입니다. | 문자열 |
platform: vsphere: folder: | 선택 사항: 설치 프로그램이 가상 머신을 생성하는 기존 폴더의 절대 경로입니다. 이 값을 지정하지 않으면 설치 프로그램은 데이터 센터 가상 머신 폴더에 인프라 ID로 이름이 지정된 폴더를 생성합니다. |
문자열(예: |
platform: vsphere: password: | vCenter 사용자 이름의 암호입니다. | 문자열 |
platform: vsphere: resourcePool: |
선택 사항: 설치 프로그램이 가상 머신을 생성하는 기존 리소스 풀의 절대 경로입니다. 값을 지정하지 않으면 설치 프로그램은 /< |
문자열(예: |
platform: vsphere: username: | vCenter 인스턴스에 연결하는 데 사용할 사용자 이름입니다. 이 사용자에게는 최소한 vSphere에서 정적 또는 동적 영구 볼륨 프로비저닝 에 필요한 역할과 권한이 있어야 합니다. | 문자열 |
platform: vsphere: vCenter: | vCenter 서버의 정규화된 호스트 이름 또는 IP 주소입니다. | 문자열 |
7.2. 사용 가능한 에이전트 구성 매개변수
다음 표에서는 에이전트 기반 설치 프로세스의 일부로 설정할 수 있는 필수 및 선택적 에이전트 구성 매개변수를 지정합니다.
이러한 값은 agent-config.yaml
파일에 지정됩니다.
이러한 설정은 설치에만 사용되며 설치 후에는 수정할 수 없습니다.
7.2.1. 필수 구성 매개변수
필수 에이전트 구성 매개변수는 다음 표에 설명되어 있습니다.
매개변수 | 설명 | 값 |
---|---|---|
apiVersion: |
| 문자열 |
metadata: |
Kubernetes 리소스 | 개체 |
metadata: name: |
클러스터의 이름입니다. 클러스터의 DNS 레코드는 |
소문자 및 하이픈( |
7.2.2. 선택적 구성 매개변수
선택적 에이전트 구성 매개변수는 다음 표에 설명되어 있습니다.
매개변수 | 설명 | 값 |
---|---|---|
rendezvousIP: |
부트스트랩 프로세스를 수행하고 | IPv4 또는 IPv6 주소. |
bootArtifactsBaseURL: | 에이전트 기반 설치 관리자를 사용하여 iPXE 스크립트를 생성할 때 PXE(Preboot Execution Environment) 자산을 업로드할 서버의 URL입니다. 자세한 내용은 "OpenShift Container Platform용 PXE 자산 준비"를 참조하십시오. | 문자열. |
additionalNTPSources: | 다른 수단을 통해 구성된 모든 NTP 소스에 추가되는 모든 클러스터 호스트에 추가할 NTP(Network Time Protocol) 소스 목록입니다. | 호스트 이름 또는 IP 주소 목록입니다. |
hosts: |
호스트 구성. 선택적 호스트 목록입니다. 정의된 호스트 수는 | 호스트 구성 오브젝트의 배열입니다. |
hosts: hostname: | 호스트 이름. DHCP(Dynamic Host Configuration Protocol) 또는 역방향 DNS 조회에서 가져온 호스트 이름을 재정의합니다. 이 매개 변수를 통해 호스트 이름을 구성하는 것은 선택 사항이지만 각 호스트에는 이러한 방법 중 하나에서 제공하는 고유한 호스트 이름이 있어야 합니다. | 문자열. |
hosts: interfaces: |
호스트의 인터페이스에 대한 이름 및 MAC 주소 매핑 테이블을 제공합니다. | 호스트 구성 오브젝트의 배열입니다. |
hosts: interfaces: name: | 호스트의 인터페이스 이름입니다. | 문자열. |
hosts: interfaces: macAddress: | 호스트에 있는 인터페이스의 MAC 주소입니다. |
다음 예와 같은 MAC 주소: |
hosts: role: |
호스트가 |
|
hosts: rootDeviceHints: | 특정 장치에 대한 RHCOS(Red Hat Enterprise Linux CoreOS) 이미지의 프로비저닝을 활성화합니다. 설치 프로그램은 장치를 검색한 순서대로 검사하고 검색된 값을 팁과 비교합니다. 힌트 값과 일치하는 첫 번째 검색된 장치를 사용합니다. 이 장치는 설치 중에 운영 체제가 작성된 장치입니다. | 키-값 쌍으로 이루어진 사전입니다. 자세한 내용은 "OpenShift 설치를 위한 환경 설정" 페이지의 "루트 장치 팁"을 참조하십시오. |
hosts: rootDeviceHints: deviceName: | RHCOS 이미지가 프로비저닝되는 장치의 이름입니다. | 문자열. |
hosts: networkConfig: | 호스트 네트워크 정의입니다. 구성은 nmstate 설명서에 정의된 Host Network Management API와 일치해야 합니다. | 호스트 네트워크 구성 오브젝트로 이루어진 사전입니다. |
Legal Notice
Copyright © 2024 Red Hat, Inc.
OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
Modified versions must remove all Red Hat trademarks.
Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.
Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.