8장. 인프라 노드에 Red Hat Quay 배포
기본적으로 모든 quay관련 Pod는 OpenShift Container Platform 클러스터의 사용 가능한 작업자 노드에 예약됩니다. 일부 환경에서는 레지스트리, 데이터베이스, 모니터링 Pod와 같은 인프라 워크로드에 대해 특정 노드를 전용으로 지정하여 성능을 개선하고 중요한 구성 요소를 분리하거나 유지보수를 간소화해야 할 수 있습니다.
OpenShift Container Platform은 인프라 머신 세트를 사용하여 이 방법을 지원하여 인프라용으로 예약된 노드를 자동으로 생성하고 관리합니다.
OpenShift Container Platform 관리자는 작업자 노드에 레이블을 지정하고 테인트하여 동일한 결과를 얻을 수 있습니다. 이렇게 하면 quay pod와 같은 인프라 워크로드만 이러한 노드에 예약됩니다. 인프라 노드를 구성한 후 노드 선택기 및 허용 오차를 사용하여 quay Pod가 실행되는 위치를 제어할 수 있습니다.
다음 절차는 단일 네임스페이스에 Red Hat Quay Operator를 설치하고 자체 백엔드 스토리지를 제공하는 새 배포를 위한 것입니다. 이 절차에서는 전용 인프라 노드에서 노드를 준비하고 Red Hat Quay를 배포하는 방법을 보여줍니다. 이 절차에서는 모든 quay관련 Pod가 전용 인프라 노드에 배치됩니다.
8.1. 인프라 사용을 위해 노드에 레이블 지정 및 테인트 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에 따라 인프라 사용을 위해 노드에 레이블을 지정하고 테인트를 수행합니다.
다음 절차에서는 infra 레이블을 사용하여 3개의 작업자 노드에 레이블을 지정합니다. 환경과 관련된 리소스에 따라 infra 레이블을 사용하여 3개 이상의 작업자 노드에 레이블을 지정해야 할 수 있습니다.
다음 명령을 입력하여 배포에서 작업자 노드 목록을 가져옵니다.
oc get nodes | grep worker
$ oc get nodes | grep workerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여
node-role.kubernetes.io/infra=레이블을 작업자 노드에 추가합니다. 필요한 인프라 노드 수는 환경에 따라 다릅니다. 프로덕션 환경에서는 모든quay관련 구성 요소에 대해 고가용성 및 충분한 리소스를 보장하기 위해 충분한 인프라 노드를 프로비저닝해야 합니다. CPU, 메모리 및 스토리지 사용률을 모니터링하여 추가 인프라 노드가 필요한지 확인합니다.oc label node --overwrite <infra_node_one> <infra_node_two> <infra_node_three> node-role.kubernetes.io/infra=
$ oc label node --overwrite <infra_node_one> <infra_node_two> <infra_node_three> node-role.kubernetes.io/infra=Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여
node-role.kubernetes.io/infra=레이블이 적절한 노드에 추가되었는지 확인합니다.oc get node | grep infra
$ oc get node | grep infraCopy to Clipboard Copied! Toggle word wrap Toggle overflow --- example-cluster-new-c5qqp-worker-b-4zxx5.c.quay-devel.internal Ready infra,worker 405d v1.32.8 example-cluster-new-c5qqp-worker-b-kz6jn.c.quay-devel.internal Ready infra,worker 406d v1.32.8 example-cluster-new-c5qqp-worker-b-wrhw4.c.quay-devel.internal Ready infra,worker 405d v1.32.8 ---
--- example-cluster-new-c5qqp-worker-b-4zxx5.c.quay-devel.internal Ready infra,worker 405d v1.32.8 example-cluster-new-c5qqp-worker-b-kz6jn.c.quay-devel.internal Ready infra,worker 406d v1.32.8 example-cluster-new-c5qqp-worker-b-wrhw4.c.quay-devel.internal Ready infra,worker 405d v1.32.8 ---Copy to Clipboard Copied! Toggle word wrap Toggle overflow 작업자 노드에
infra역할이 할당되면 사용자 워크로드가 실수로 인프라 노드에 할당될 수 있습니다. 이를 방지하려면 인프라 노드에 테인트를 적용한 다음 제어하려는 Pod에 대한 허용 오차를 추가할 수 있습니다. 다음 명령을 입력하여infra레이블이 있는 작업자 노드를 테인트합니다.oc adm taint nodes -l node-role.kubernetes.io/infra \ node-role.kubernetes.io/infra=reserved:NoSchedule --overwrite
$ oc adm taint nodes -l node-role.kubernetes.io/infra \ node-role.kubernetes.io/infra=reserved:NoSchedule --overwriteCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
node/example-cluster-new-c5qqp-worker-b-4zxx5.c.quay-devel.internal modified node/example-cluster-new-c5qqp-worker-b-kz6jn.c.quay-devel.internal modified node/example-cluster-new-c5qqp-worker-b-wrhw4.c.quay-devel.internal modified
node/example-cluster-new-c5qqp-worker-b-4zxx5.c.quay-devel.internal modified node/example-cluster-new-c5qqp-worker-b-kz6jn.c.quay-devel.internal modified node/example-cluster-new-c5qqp-worker-b-wrhw4.c.quay-devel.internal modifiedCopy to Clipboard Copied! Toggle word wrap Toggle overflow