8.4. 인프라 머신 세트로 리소스 이동
일부 인프라 리소스는 기본적으로 클러스터에 배포됩니다. 다음과 같이 인프라 노드 선택기를 추가하여 생성한 인프라 머신 세트로 이동할 수 있습니다.
- 1
- 적절한 값이 설정된
nodeSelector
매개변수를 이동하려는 구성 요소에 추가합니다. 표시된 형식으로nodeSelector
를 사용하거나 노드에 지정된 값에 따라<key>: <value>
쌍을 사용할 수 있습니다. 인프라 노드에 오염을 추가한 경우 일치하는 허용 범위도 추가합니다.
모든 인프라 구성 요소에 특정 노드 선택기를 적용하면 OpenShift Container Platform에서 해당 레이블이 있는 노드에서 해당 워크로드를 예약합니다 .
8.4.1. 라우터 이동 링크 복사링크가 클립보드에 복사되었습니다!
라우터 포드를 다른 컴퓨팅 머신 세트에 배포할 수 있습니다. 기본적으로 Pod는 작업자 노드에 배포됩니다.
사전 요구 사항
- OpenShift Container Platform 클러스터에서 추가 컴퓨팅 머신 세트를 구성합니다.
프로세스
라우터 Operator의
IngressController
사용자 정의 리소스를 표시합니다.oc get ingresscontroller default -n openshift-ingress-operator -o yaml
$ oc get ingresscontroller default -n openshift-ingress-operator -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 명령 출력은 다음 예제와 유사합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ingresscontroller
리소스를 편집하고infra
레이블을 사용하도록nodeSelector
를 변경합니다.oc edit ingresscontroller default -n openshift-ingress-operator
$ oc edit ingresscontroller default -n openshift-ingress-operator
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 적절한 값이 설정된
nodeSelector
매개변수를 이동하려는 구성 요소에 추가합니다. 표시된 형식으로nodeSelector
매개변수를 사용하거나 노드에 지정된 값에 따라<key>: <value>
쌍을 사용할 수 있습니다. 인프라 노드에 오염을 추가한 경우 일치하는 허용 범위도 추가하세요.
라우터 pod가
infra
노드에서 실행되고 있는지 확인합니다.라우터 pod 목록을 표시하고 실행중인 pod의 노드 이름을 기록해 둡니다.
oc get pod -n openshift-ingress -o wide
$ oc get pod -n openshift-ingress -o wide
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES router-default-86798b4b5d-bdlvd 1/1 Running 0 28s 10.130.2.4 ip-10-0-217-226.ec2.internal <none> <none> router-default-955d875f4-255g8 0/1 Terminating 0 19h 10.129.2.4 ip-10-0-148-172.ec2.internal <none> <none>
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES router-default-86798b4b5d-bdlvd 1/1 Running 0 28s 10.130.2.4 ip-10-0-217-226.ec2.internal <none> <none> router-default-955d875f4-255g8 0/1 Terminating 0 19h 10.129.2.4 ip-10-0-148-172.ec2.internal <none> <none>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서 실행중인 pod는
ip-10-0-217-226.ec2.internal
노드에 있습니다.실행중인 pod의 노드 상태를 표시합니다.
oc get node <node_name>
$ oc get node <node_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- pod 목록에서 얻은
<node_name>
을 지정합니다.
출력 예
NAME STATUS ROLES AGE VERSION ip-10-0-217-226.ec2.internal Ready infra,worker 17h v1.32.3
NAME STATUS ROLES AGE VERSION ip-10-0-217-226.ec2.internal Ready infra,worker 17h v1.32.3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 역할 목록에
infra
가 포함되어 있으므로 pod가 올바른 노드에서 실행됩니다.
8.4.2. 기본 레지스트리 이동 링크 복사링크가 클립보드에 복사되었습니다!
Pod를 다른 노드에 배포하도록 레지스트리 Operator를 구성합니다.
사전 요구 사항
- OpenShift Container Platform 클러스터에서 추가 컴퓨팅 머신 세트를 구성합니다.
프로세스
config/instance
개체를 표시합니다.oc get configs.imageregistry.operator.openshift.io/cluster -o yaml
$ oc get configs.imageregistry.operator.openshift.io/cluster -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow config/instance
개체를 편집합니다.oc edit configs.imageregistry.operator.openshift.io/cluster
$ oc edit configs.imageregistry.operator.openshift.io/cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 적절한 값이 설정된
nodeSelector
매개변수를 이동하려는 구성 요소에 추가합니다. 표시된 형식으로nodeSelector
매개변수를 사용하거나 노드에 지정된 값에 따라<key>: <value>
쌍을 사용할 수 있습니다. 인프라 노드에 오염을 추가한 경우 일치하는 허용 범위도 추가합니다.
레지스트리 pod가 인프라 노드로 이동되었는지 검증합니다.
다음 명령을 실행하여 레지스트리 pod가 있는 노드를 식별합니다.
oc get pods -o wide -n openshift-image-registry
$ oc get pods -o wide -n openshift-image-registry
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 노드에 지정된 레이블이 있는지 확인합니다.
oc describe node <node_name>
$ oc describe node <node_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 명령 출력을 확인하고
node-role.kubernetes.io/infra
가LABELS
목록에 있는지 확인합니다.
8.4.3. 모니터링 솔루션 이동 링크 복사링크가 클립보드에 복사되었습니다!
모니터링 스택에는 Prometheus, Thanos Querier, Alertmanager를 포함한 여러 구성 요소가 포함되어 있습니다. 클러스터 모니터링 운영자는 이 스택을 관리합니다. 모니터링 스택을 인프라 노드에 재배포하려면 사용자 정의 구성 맵을 생성하고 적용할 수 있습니다.
사전 요구 사항
-
cluster-admin
클러스터 역할의 사용자로 클러스터에 액세스할 수 있습니다. -
cluster-monitoring-config
ConfigMap
오브젝트를 생성하셨습니다. -
OpenShift CLI(
oc
)가 설치되어 있습니다.
프로세스
cluster-monitoring-config
구성 맵을 편집하고nodeSelector를
변경하여인프라
레이블을 사용합니다.oc edit configmap cluster-monitoring-config -n openshift-monitoring
$ oc edit configmap cluster-monitoring-config -n openshift-monitoring
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 적절한 값이 설정된
nodeSelector
매개변수를 이동하려는 구성 요소에 추가합니다. 표시된 형식으로nodeSelector
매개변수를 사용하거나 노드에 지정된 값에 따라<key>: <value>
쌍을 사용할 수 있습니다. 인프라 노드에 오염을 추가한 경우 일치하는 허용 범위도 추가하세요.
모니터링 pod가 새 머신으로 이동하는 것을 확인합니다.
watch 'oc get pod -n openshift-monitoring -o wide'
$ watch 'oc get pod -n openshift-monitoring -o wide'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 구성 요소가
infra
노드로 이동하지 않은 경우 이 구성 요소가 있는 pod를 제거합니다.oc delete pod -n openshift-monitoring <pod>
$ oc delete pod -n openshift-monitoring <pod>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 삭제된 pod의 구성 요소가
infra
노드에 다시 생성됩니다.
8.4.4. Vertical Pod Autoscaler Operator 구성 요소 이동 링크 복사링크가 클립보드에 복사되었습니다!
수직 포드 자동 확장 연산자(VPA)는 추천자, 업데이터, 승인 컨트롤러의 세 가지 구성 요소로 구성됩니다. 운영자와 각 구성 요소는 제어 평면 노드의 VPA 네임스페이스에 자체 포드를 갖습니다. VPA 구독과 VerticalPodAutoscalerController
CR에 노드 선택기를 추가하여 VPA Operator와 구성 요소 Pod를 인프라 노드로 이동할 수 있습니다.
다음 예에서는 VPA 포드를 제어 평면 노드에 기본적으로 배포하는 방법을 보여줍니다.
출력 예
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES vertical-pod-autoscaler-operator-6c75fcc9cd-5pb6z 1/1 Running 0 7m59s 10.128.2.24 c416-tfsbj-master-1 <none> <none> vpa-admission-plugin-default-6cb78d6f8b-rpcrj 1/1 Running 0 5m37s 10.129.2.22 c416-tfsbj-master-1 <none> <none> vpa-recommender-default-66846bd94c-dsmpp 1/1 Running 0 5m37s 10.129.2.20 c416-tfsbj-master-0 <none> <none> vpa-updater-default-db8b58df-2nkvf 1/1 Running 0 5m37s 10.129.2.21 c416-tfsbj-master-1 <none> <none>
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
vertical-pod-autoscaler-operator-6c75fcc9cd-5pb6z 1/1 Running 0 7m59s 10.128.2.24 c416-tfsbj-master-1 <none> <none>
vpa-admission-plugin-default-6cb78d6f8b-rpcrj 1/1 Running 0 5m37s 10.129.2.22 c416-tfsbj-master-1 <none> <none>
vpa-recommender-default-66846bd94c-dsmpp 1/1 Running 0 5m37s 10.129.2.20 c416-tfsbj-master-0 <none> <none>
vpa-updater-default-db8b58df-2nkvf 1/1 Running 0 5m37s 10.129.2.21 c416-tfsbj-master-1 <none> <none>
프로세스
VPA Operator에 대한
구독
사용자 정의 리소스(CR)에 노드 선택기를 추가하여 VPA Operator 포드를 이동합니다.CR을 편집하세요:
oc edit Subscription vertical-pod-autoscaler -n openshift-vertical-pod-autoscaler
$ oc edit Subscription vertical-pod-autoscaler -n openshift-vertical-pod-autoscaler
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인프라 노드의 노드 역할 레이블과 일치하는 노드 선택기를 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 인프라 노드의 노드 역할을 지정합니다.
참고인프라 노드에서 taint를 사용하는 경우
서브스크립션
CR에 허용 오차를 추가해야 합니다.예를 들면 다음과 같습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 인프라 노드의 오염에 대한 허용 범위를 지정합니다.
VerticalPodAutoscaler
사용자 정의 리소스(CR)에 노드 선택기를 추가하여 각 VPA 구성 요소를 이동합니다.CR을 편집하세요:
oc edit VerticalPodAutoscalerController default -n openshift-vertical-pod-autoscaler
$ oc edit VerticalPodAutoscalerController default -n openshift-vertical-pod-autoscaler
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인프라 노드의 노드 역할 레이블과 일치하도록 노드 선택기를 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고대상 노드가 오염을 사용하는 경우
VerticalPodAutoscalerController
CR에 허용 범위를 추가해야 합니다.예를 들면 다음과 같습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
다음 명령을 사용하여 포드가 이동했는지 확인할 수 있습니다.
oc get pods -n openshift-vertical-pod-autoscaler -o wide
$ oc get pods -n openshift-vertical-pod-autoscaler -o wide
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 포드는 더 이상 제어 평면 노드에 배포되지 않습니다. 아래 예제 출력에서 해당 노드는 이제 제어 평면 노드가 아니라 인프라 노드입니다.
출력 예
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES vertical-pod-autoscaler-operator-6c75fcc9cd-5pb6z 1/1 Running 0 7m59s 10.128.2.24 c416-tfsbj-infra-eastus3-2bndt <none> <none> vpa-admission-plugin-default-6cb78d6f8b-rpcrj 1/1 Running 0 5m37s 10.129.2.22 c416-tfsbj-infra-eastus1-lrgj8 <none> <none> vpa-recommender-default-66846bd94c-dsmpp 1/1 Running 0 5m37s 10.129.2.20 c416-tfsbj-infra-eastus1-lrgj8 <none> <none> vpa-updater-default-db8b58df-2nkvf 1/1 Running 0 5m37s 10.129.2.21 c416-tfsbj-infra-eastus1-lrgj8 <none> <none>
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES vertical-pod-autoscaler-operator-6c75fcc9cd-5pb6z 1/1 Running 0 7m59s 10.128.2.24 c416-tfsbj-infra-eastus3-2bndt <none> <none> vpa-admission-plugin-default-6cb78d6f8b-rpcrj 1/1 Running 0 5m37s 10.129.2.22 c416-tfsbj-infra-eastus1-lrgj8 <none> <none> vpa-recommender-default-66846bd94c-dsmpp 1/1 Running 0 5m37s 10.129.2.20 c416-tfsbj-infra-eastus1-lrgj8 <none> <none> vpa-updater-default-db8b58df-2nkvf 1/1 Running 0 5m37s 10.129.2.21 c416-tfsbj-infra-eastus1-lrgj8 <none> <none>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.4.5. 클러스터 리소스 재정의 운영자 포드 이동 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 클러스터 리소스 오버라이드 연산자 설치 프로세스는 clusterresourceoverride-operator
네임스페이스의 노드에 연산자 포드와 두 개의 클러스터 리소스 오버라이드 포드를 생성합니다. 필요에 따라 이러한 포드를 인프라 노드 등 다른 노드로 옮길 수 있습니다.
다음 예에서는 클러스터 리소스 재정의 포드가 제어 평면 노드에 배포되고 클러스터 리소스 재정의 연산자 포드가 작업자 노드에 배포되는 것을 보여줍니다.
클러스터 리소스 재정의 포드 예
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES clusterresourceoverride-786b8c898c-9wrdq 1/1 Running 0 23s 10.128.2.32 ip-10-0-14-183.us-west-2.compute.internal <none> <none> clusterresourceoverride-786b8c898c-vn2lf 1/1 Running 0 26s 10.130.2.10 ip-10-0-20-140.us-west-2.compute.internal <none> <none> clusterresourceoverride-operator-6b8b8b656b-lvr62 1/1 Running 0 56m 10.131.0.33 ip-10-0-2-39.us-west-2.compute.internal <none> <none>
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
clusterresourceoverride-786b8c898c-9wrdq 1/1 Running 0 23s 10.128.2.32 ip-10-0-14-183.us-west-2.compute.internal <none> <none>
clusterresourceoverride-786b8c898c-vn2lf 1/1 Running 0 26s 10.130.2.10 ip-10-0-20-140.us-west-2.compute.internal <none> <none>
clusterresourceoverride-operator-6b8b8b656b-lvr62 1/1 Running 0 56m 10.131.0.33 ip-10-0-2-39.us-west-2.compute.internal <none> <none>
예제 노드 목록
프로세스
클러스터 리소스 재정의 연산자에
대한 구독
사용자 정의 리소스(CR)에 노드 선택기를 추가하여 클러스터 리소스 재정의 연산자 포드를 이동합니다.CR을 편집하세요:
oc edit -n clusterresourceoverride-operator subscriptions.operators.coreos.com clusterresourceoverride
$ oc edit -n clusterresourceoverride-operator subscriptions.operators.coreos.com clusterresourceoverride
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터 리소스 재정의 운영자 포드를 설치하려는 노드의 노드 역할 레이블과 일치하는 노드 선택기를 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 클러스터 리소스 재정의 운영자 포드를 배포할 노드의 역할을 지정합니다.
참고인프라 노드에서 taint를 사용하는 경우
서브스크립션
CR에 허용 오차를 추가해야 합니다.예를 들면 다음과 같습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 인프라 노드의 오염에 대한 허용 범위를 지정합니다.
ClusterResourceOverride
사용자 정의 리소스(CR)에 노드 선택기를 추가하여 Cluster Resource Override 포드를 이동합니다.CR을 편집하세요:
oc edit ClusterResourceOverride cluster -n clusterresourceoverride-operator
$ oc edit ClusterResourceOverride cluster -n clusterresourceoverride-operator
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인프라 노드의 노드 역할 레이블과 일치하는 노드 선택기를 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고인프라 노드가 오염을 사용하는 경우
ClusterResourceOverride
CR에 허용 범위를 추가해야 합니다.예를 들면 다음과 같습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 인프라 노드의 오염에 대한 허용 범위를 지정합니다.
검증
다음 명령을 사용하여 포드가 이동했는지 확인할 수 있습니다.
oc get pods -n clusterresourceoverride-operator -o wide
$ oc get pods -n clusterresourceoverride-operator -o wide
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터 리소스 재정의 포드가 이제 인프라 노드에 배포되었습니다.
출력 예
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES clusterresourceoverride-786b8c898c-9wrdq 1/1 Running 0 23s 10.127.2.25 ip-10-0-23-244.us-west-2.compute.internal <none> <none> clusterresourceoverride-786b8c898c-vn2lf 1/1 Running 0 26s 10.128.0.80 ip-10-0-24-233.us-west-2.compute.internal <none> <none> clusterresourceoverride-operator-6b8b8b656b-lvr62 1/1 Running 0 56m 10.129.0.71 ip-10-0-67-453.us-west-2.compute.internal <none> <none>
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES clusterresourceoverride-786b8c898c-9wrdq 1/1 Running 0 23s 10.127.2.25 ip-10-0-23-244.us-west-2.compute.internal <none> <none> clusterresourceoverride-786b8c898c-vn2lf 1/1 Running 0 26s 10.128.0.80 ip-10-0-24-233.us-west-2.compute.internal <none> <none> clusterresourceoverride-operator-6b8b8b656b-lvr62 1/1 Running 0 56m 10.129.0.71 ip-10-0-67-453.us-west-2.compute.internal <none> <none>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow