ALB 관리
클러스터에서 Ingress ALB를 관리하여 트래픽 플로우가 중단되지 않도록 하십시오.
ALB 업데이트
IBM Cloud Kubernetes Service 은 정기적으로 ALB 버전을 릴리스하여 새 기능을 제공하고 보안 취약성을 해결합니다. ibmcloud ks ingress alb versions 명령을 사용하여 사용 가능한 버전을 나열하거나
버전 히스토리에 대한 Ingress ALB 버전 변경 로그 를 검토하십시오.
ALB 버전은 <ingress_nginx_version>_<ibm_build>_iks 형식을 따르며, 여기서 <ingress_nginx_version> 는 Kubernetes Ingress NGINX 컨트롤러의 버전을 나타내고, <ibm_build> 번호는 IBM Cloud Kubernetes Service 빌드 버전을 나타냅니다.
ALB를 기본 버전으로 자동으로 업데이트하거나 자동 업데이트를 사용 안함으로 설정하고 ALB 버전을 수동으로 관리하도록 선택할 수 있습니다.
자동 업데이트 사용
자동 업데이트를 사용으로 설정하면 ALB가 기본값으로 표시된 버전으로 업데이트됩니다. 새 버전이 기본 버전이 되면 ALB가 자동으로 해당 버전으로 업데이트됩니다.
클러스터의 구역에 하나의 작업자 노드만 존재하는 상태에서 ALB 복제본의 수를 1로 설정하는 경우 업데이트가 적용될 때마다 이 하나의 ALB 팟(Pod)이 삭제되고 새 팟(Pod)이 작성됩니다. 다른 존에 워커 노드와 ALB 복제본이 있더라도 이 프로세스로 인해 트래픽 중단이 발생할 수 있습니다. 트래픽 중단을 방지하려면 각 구역에 최소 두 개의 워커 노드가 존재하고, 각 ALB에 대해 두 개의 복제본이 존재하도록 해야 합니다. 업데이트 프로세스 중에 새 연결만 두 번째 ALB팟 (Pod) 으로 라우팅됩니다. 업데이트 ALB팟 (Pod) 의 기존 연결은 안전하게 종료됩니다. 업데이트 중에 종료된 기존 연결의 경우 클라이언트 애플리케이션에서 재시도를 시작하십시오.
자동 업데이트를 위한 유지보수 창 스케줄링
사용자 지정 자동화 작업( ConfigMap )을 생성하여 업데이트를 원하는 시간을 지정함으로써 자동 ALB 업데이트를 제어하고 관리할 수 있습니다.
자동 업데이트 시간을 설정하려면 배포 구성( ConfigMap )에서 ‘ updateStartTime ’ 및 ‘ updateEndTime ’ 키를 설정하면 됩니다. 각 키는 24시간 형식(HH:MM)으로 지정된 시간을 나타냅니다. 이 시간은 로컬 시간이 아닌 협정 세계시(UTC)로 지정됩니다.
-
configmap의 YAML 파일을 작성하십시오.
data필드에updateStartTime및updateEndTime필드를 키-값 쌍으로 지정하십시오.다음 예제 ConfigMap 는 자동 업데이트 기능을 설정하여, UTC 기준 20:34부터 23:59 사이에 클러스터 내 ALB 포드를 업데이트하도록 합니다.
apiVersion: v1 kind: ConfigMap metadata: name: ibm-ingress-deploy-config namespace: kube-system data: "updateStartTime": "20:34" "updateEndTime": "23:59" -
클러스터에 configmap을 배치하십시오. 새 규칙은 다음 번에 업데이트가 발생할 때 적용됩니다.
kubectl apply -f <filename>.yaml
자동 업데이트 사용 안함
버그 수정 및 보안 업데이트를 수신하려면 자동 업데이트를 사용으로 유지하십시오. 자동 업데이트가 사용 안함으로 설정되면 사용자가 ALB를 수동으로 업데이트해야 합니다.
ibmcloud ks ingress alb autoupdate disable -c CLUSTER_NAME_OR_ID 를 실행하여 ALB에 대한 자동 업데이트를 사용 안함으로 설정할 수 있습니다.
클러스터에 대해 자동 업데이트가 사용으로 설정되어 있는지 확인하려면 ibmcloud ks ingress alb autoupdate get -c CLUSTER_NAME_OR_ID 명령을 사용하십시오. 자동 업데이트를 다시 사용하기로
결정한 경우 ibmcloud ks ingress alb autoupdate enable -c CLUSTER_NAME_OR_ID 를 실행할 수 있습니다.
수동 업데이트 적용
ibmcloud ks ingress alb update 명령을 사용하여 Ingress ALB팟 (Pod) 의 일회성 업데이트를 수동으로 적용할 수 있습니다. 이 명령은 기본 ALB 이미지 버전을 적용하지만 --version 옵션을 포함하여 다른 버전을 적용할 수 있습니다. 자세한 정보 또는 명령 옵션은 CLI 참조 를 참조하십시오.
--version 옵션을 사용하여 ALB 이미지를 특정 버전으로 업데이트하려면 자동 ALB 업데이트를 사용 안함으로 설정 한 후 지정된 버전을 실행하려는 기간 동안 사용 안함으로 설정된 상태로 유지해야 합니다. 자동 업데이트는 항상 기본 버전을 적용하고 사용자가 적용하는 모든 수동 업데이트를 겹쳐씁니다. 다른 버전을 사용하려는 경우 자동 업데이트를 사용으로
설정할 수 없습니다.
-
사용 가능한 ALB 버전을 확인하려면 다음 명령을 실행하십시오.
ibmcloud ks ingress alb versions --region REGION -
클러스터에서 모든 ALB 팟(Pod)을 업데이트하려면 다음 명령을 실행하십시오.
ibmcloud ks ingress alb update -c CLUSTER_NAME_OR_ID --version IMAGE_VERSION -
특정 ALB에 대한 ALB를 업데이트하려면 다음 명령을 실행하십시오.
ibmcloud ks ingress alb update -c CLUSTER_NAME_OR_ID --version IMAGE_VERSION --alb ALB_ID [--alb ALB_2_ID ...]
지원되는 이미지 버전 선택
IBM Cloud Kubernetes Service은(는) 클러스터의 Ingress 애플리케이션 로드 밸런서(ALB)에 대해 Kubernetes Ingress 이미지만 지원합니다. Kubernetes Ingress 이미지는 NGINX Ingress 제어기의 커뮤니티 Kubernetes 프로젝트의 구현을 기반으로 빌드됩니다. NGINX Ingress 제어기의 사용자 정의 구현을 기반으로 빌드된, 이전에 지원되었던 IBM Cloud Kubernetes Service Ingress 이미지는 지원되지 않습니다.
2020년 12월 1일 이후에 작성된 클러스터: 기본 애플리케이션 로드 밸런서(ALB)는 모든 새 IBM Cloud Kubernetes Service 클러스터에서 Kubernetes Ingress 이미지를 실행합니다.
2020년 12월 1일 전에 작성된 클러스터:
- 사용자 정의 IBM Ingress 이미지를 실행하는 ALB가 포함된 기존 클러스터는 그대로 계속 작동됩니다.
- 사용자 정의 IBM Ingress 이미지에 대한 지원은 2021년 6월 2일에 종료되었습니다.
- 기존 Ingress 설정을 마이그레이션하여 새 Kubernetes Ingress로 이동해야 합니다. 기존 ALB 및 기타 Ingress 리소스는 새 Kubernetes Ingress 이미지로 자동 마이그레이션되지 않습니다.
- 지원되지 않는 이미지를 사용하는 모든 ALB는 계속해서 실행되지만, IBM은 이들을 지원하지 않습니다.
새 ALB를 작성 하거나 이전에 사용 안함으로 설정된 ALB를 사용으로 설정 하거나
[ALB를 수동으로 업데이트 (#update-alb)]하는 경우 --version 옵션을 사용하여 ALB의 이미지 버전을 지정할 수 있습니다. ALB를 활성화하거나 기존 ALB를 업데이트할 때 --version 옵션을 생략하면, ALB는 이전에 실행되었던 것과 동일한 이미지의 기본 버전을 실행합니다. 즉, Kubernetes Ingress
이미지 또는 IBM Cloud Kubernetes Service Ingress 이미지 중 하나가 실행됩니다.
자동 업데이트는 기본 버전만 적용합니다. 기본값과 다른 버전을 지정하려면 다음 명령을 실행하여 자동 업데이트를 비활성화해야 합니다. ibmcloud ks ingress alb autoupdate disable 명령을 실행하여 자동 업데이트를 비활성화해야 합니다.
지원되는 이미지 버전 보기
각 이미지 유형에 지원되는 세 개의 최신 버전을 나열하려면 다음 명령을 실행하십시오.
ibmcloud ks ingress alb versions
출력 예
Kubernetes Ingress versions
1.1.2_2507_iks (default)
1.2.1_2506_iks
0.35.0_1374_iks
Kubernetes Ingress 버전은 <community_version>_<ibm_build>_iks 형식을 따릅니다. IBM 빌드 번호는 IBM Cloud Kubernetes Service가 릴리스된 Kubernetes Ingress NGINX 릴리스의 가장 최신 빌드를 나타냅니다. 예를 들어, 1.1.2_2507_iks 버전은 0.47.0 Ingress NGINX 버전의 최신 빌드를 표시합니다. IBM Cloud Kubernetes Service에서는 취약성을 해결하기 위해 커뮤니티 이미지 버전의 빌드를 릴리스할 수 있습니다.
Ingress 이미지의 각 버전에 포함된 변경 사항에 대해서는 Ingress 버전 변경 내역을 참조하십시오.
이전 버전으로 되돌리기
ALB 포드가 최근에 업데이트되었지만, ALB에 대한 사용자 지정 구성이 최신 이미지 버전 빌드의 영향을 받는 경우, ibmcloud ks ingress alb update--version 옵션을 지정하여 ALB 포드를 이전의 지원되는 버전으로 롤백할 수 있습니다. ALB를 변경할 이미지 버전은 ibmcloud ks ingress alb versions 출력에 나열된 지원되는 이미지 버전이어야 합니다.
이전 버전으로 되돌리는 경우에는 자동 ALB 업데이트를 사용 안함으로 설정 한 후 이전 버전을 실행하려는 기간 동안 사용 안함으로 설정된 상태로 유지해야 합니다. 자동 업데이트는 항상 최신 버전을 적용하고 사용자가 적용하는 모든 수동 업데이트를 겹쳐씁니다. 이전 버전을 사용하려는 경우 자동 업데이트를 사용으로 설정할 수 없습니다.
ALB 수동 스케일링
각 ALB는 초당 약 20,000개의 연결을 처리할 수 있습니다. 추가 연결을 처리해야 하는 경우 구역에서 추가 ALB를 작성하거나 ALB팟 (Pod) 복제본의 수를 늘릴 수 있습니다.
구역에서 추가 ALB 작성
구역의 각 ALB는 서로 다른 작업자 노드에 두 개의 팟 (Pod) 으로 배치됩니다. ALB 처리 기능을 확장하고 추가 연결을 처리하기 위해 구역에서 추가 ALB를 작성할 수 있습니다. 새 ALB의 IP 주소가 Ingress 하위 도메인에 자동으로 추가됩니다.
다중 구역 클러스터를 작성하면, 작업자 노드가 있는 각 구역에 기본 공용 ALB가 작성됩니다. 나중에 이 초기 3개 영역 중 하나를 제거하고 다른 영역에 워커를 추가하더라도, 해당 새 영역에는 기본 공용 ALB가 생성되지 않습니다. ALB를 수동으로 작성하여 해당 새 구역에서 연결을 처리할 수 있습니다.
Ingress 리소스 유효성 검증을 사용할 때 모든 작성 및 업데이트 요청은 모든 ALB에 의해 유효성 검증됩니다. 특정 ALB 인스턴스에 대해 실행 중인 팟 (Pod) 이 없는 경우 클러스터에서 Ingress 리소스를 적용하지 못할 수 있습니다. 사용 상태의 각 ALB에 대해 하나 이상의 실행 중인 팟 (Pod) 이 있는지 확인하십시오. 자세한 정보는 Ingress 배치 사용자 정의 참조 를 참조하십시오.
-
작업자 노드가 있는 각 구역에서 ALB를 작성하십시오.
다음 명령은 클래식 클러스터에 적용됩니다. 자세한 정보 및 명령 옵션은 CLI 참조 를 참조하십시오.
ibmcloud ks ingress alb create --cluster CLUSTER_NAME_OR_ID --type PUBLIC_OR_PRIVATE --zone ZONE --vlan VLAN_ID [--ip IP_ADDRESS] [--version image_version]다음 명령은 VPC 클러스터에 적용됩니다. 자세한 정보 및 명령 옵션은 CLI 참조 를 참조하십시오.
ibmcloud ks ingress alb create vpc-gen2 --cluster CLUSTER_NAME_OR_ID --type PUBLIC_OR_PRIVATE --zone VPC_ZONE [--version image_version] -
각 구역에서 작성한 ALB의 상태 가
enabled인지 확인하십시오. 클래식 클러스터의 경우 ALB IP 가 지정되었는지 확인하십시오. VPC 클러스터의 경우 로드 밸런서 호스트 이름 이 지정되었는지 확인하십시오.ibmcloud ks ingress alb ls --cluster CLUSTER_NAME_OR_ID일반적인 클러스터의 출력 예시.
ALB ID Enabled Status Type ALB IP Zone Build ALB VLAN ID NLB Version private-crdf253b6025d64944ab99ed63bb4567b6-alb1 false disabled private - dal12 ingress:1.1.2_2507_iks 2294021 - private-crdf253b6025d64944ab99ed63bb4567b6-alb2 false disabled private - dal10 ingress:1.1.2_2507_iks 2234947 - public-crdf253b6025d64944ab99ed63bb4567b6-alb1 true enabled public 169.48.228.78 dal12 ingress:1.1.2_2507_iks 2294019 - public-crdf253b6025d64944ab99ed63bb4567b6-alb2 true enabled public 169.46.17.6 dal10 ingress:1.1.2_2507_iks 2234945 -VPC 클러스터의 출력 예시.
ALB ID Enabled Status Type Load Balancer Hostname Zone Build private-crdf253b6025d64944ab99ed63bb4567b6-alb1 false disabled private - us-south-2 ingress:1.1.2_2507_iks private-crdf253b6025d64944ab99ed63bb4567b6-alb2 false disabled private - us-south-1 ingress:1.1.2_2507_iks public-crdf253b6025d64944ab99ed63bb4567b6-alb1 true enabled public 23f2dfb1-us-south.lb.appdomain.cloud us-south-2 ingress:1.1.2_2507_iks public-crdf253b6025d64944ab99ed63bb4567b6-alb2 true enabled public 23f2dfb1-us-south.lb.appdomain.cloud us-south-1 ingress:1.1.2_2507_iks
ALB 포드 복제본 수 변경
기본적으로 각 ALB에는 두 개의 복제본이 있습니다. ALB팟 (Pod) 의 수를 수동으로 변경하거나 동적 자동 스케일링을 사용으로 설정하여 ALB 처리 기능을 사용자 정의할 수 있습니다.
단일 ALB팟 (Pod) 은 많은 양의 요청을 처리할 수 있습니다. 제한시간 초과, 느린 응답 또는 기타 과부하 신호가 발생하는 경우 백엔드 애플리케이션의 상태를 확인하십시오. ALB팟 (Pod) 을 스케일링하기 전에 ALB가 애플리케이션의 병목 현상인지 확인하십시오. 그렇지 않으면 예상된 결과를 제공하지 않을 수 있습니다.
클래식 클러스터의 경우: ALB의 로드 밸런서 서비스 구성에서 externalTrafficPolicy 가 Local 로 설정된 경우 2개의 복제본을 초과하여 스케일링하지 마십시오. 클래식 로드 밸런서는 2개복제본의 고정 구성으로 실행되며 로드 밸런서 팟 (Pod) 과 동일한 노드에 있는 ALB팟 (Pod) 으로만 트래픽을 전달할 수 있습니다.
기본적으로 주기적인 Ingress 버전 업데이트가 자동으로 ALB로 롤아웃됩니다. 클러스터의 구역에 하나의 작업자 노드만 존재하는 상태에서 ALB 복제본의 수를 1로 설정하는 경우 업데이트가 적용될 때마다 이 하나의 ALB 팟(Pod)이 삭제되고 새 팟(Pod)이 작성됩니다. 이 프로세스로 인해 다른 구역에 작업자 노드 및 ALB 복제본이 존재하는 경우에도 트래픽 중단이 발생할 수 있습니다. 트래픽 중단을 방지하려면 각각의 구역에 두 개 이상의 작업자 노드가 존재하고 각각의 ALB에 대해 두 개의 복제본이 존재하는지 확인하십시오. 업데이트 프로세스 중에 새 연결만 두 번째 ALB팟 (Pod) 으로 라우팅됩니다. 업데이트 ALB팟 (Pod) 의 기존 연결은 안전하게 종료됩니다. 클라이언트 애플리케이션은 업데이트 중에 종료되는 기존 연결에 대해 재시도를 시작하는 것이 좋습니다.
ConfigMap을 작성하여 ALB 복제본의 수를 수동으로 변경하십시오. 동적 스케일링을 사용하도록 ALB를 구성 한 경우에는 ALB 복제본을 수동으로 스케일링할 수 없습니다.
-
ALB에 대한 ID를 가져오십시오.
ibmcloud ks ingress alb ls -c CLUSTER_NAME_OR_ID -
ibm-ingress-deploy-configconfigmap에 대한 YAML 파일을 작성하십시오. ALB마다'{"replicas":<number_of_replicas>}'을(를) 추가하십시오. 이 예제는 ALB팟 (Pod) 의 수를 4개의 복제본으로 늘립니다.apiVersion: v1 kind: ConfigMap metadata: name: ibm-ingress-deploy-config namespace: kube-system data: <alb1-id>: '{"replicas":4}' <alb2-id>: '{"replicas":4}' ... -
클러스터에서
ibm-ingress-deploy-configconfigmap을 작성하십시오.kubectl create -f ibm-ingress-deploy-config.yaml -
변경 사항을 적용하려면 ALB를 업데이트하십시오. 변경 사항이 반영되는 데 최대 5분 정도 걸릴 수 있으니 유의해 주세요.
ibmcloud ks ingress alb update -c CLUSTER_NAME_OR_ID -
Ready로 설정된 ALB 포드의 수가 지정한 복제본 수만큼 증가했는지 확인하십시오.kubectl get pods -n kube-system | grep alb
오토스케일러를 사용하여 동적으로 ALB 스케일링
동적 스케일링을 사용하면 실제 로드를 기반으로 ALB 복제본 수가 자동으로 변경됩니다. 복제본의 수는 실제 로드가 낮을 때 감소하고 로드가 높을 때 증가하여 사용량이 많을 때 트래픽을 처리하는 기능을 유지하면서 계산 용량을 절약합니다. CPU 이용률 또는 사용자가 정의하는 사용자 정의 메트릭을 기반으로 스케일링을 구현하도록 ALB 오토스케일러를 구성할 수 있습니다.
자동 확장 기능을 설정하려면 다음 명령어를 실행하십시오. --cpu-average-utilization 옵션을 포함하여 CPU 이용률을 기반으로 스케일링할 수 있습니다. 또는 --custom-metrics-file 옵션을 포함하여 사용자 정의 메트릭을 기반으로 스케일링하고 구성 파일 경로를 지정할 수 있습니다.
ibmcloud ks ingress alb autoscale set --alb ALB --cluster CLUSTER --max-replicas NUM_REPLICAS --min-replicas NUM_REPLICAS [--output OUTPUT] [-q] (--cpu-average-utilization PERCENT | --custom-metrics-file FILE)
--cluster, -c CLUSTER- 필수: 클러스터의 이름 또는 ID입니다.
--alb ALB- ALB ID입니다. 사용 가능한 ALB ID를 보려면
ibmcloud ks ingress alb ls를 실행하십시오. --max-replicas REPLICAS:- ALB의 최대 복제본 수. 정수를 지정하십시오. ALB 복제본의 최대 수는 클러스터의 작업자 노드 수로 제한됩니다. 클러스터에 작업자 노드를 더 추가하려면 클래식 클러스터에 작업자 노드 추가 또는 VPC 클러스터에 작업자 노드 추가 를 참조하십시오.
--min-replicas REPLICAS- ALB의 최소 복제본 수.
2이상의 정수를 지정하십시오. --cpu-average-utilization PERCENT- 평균 CPU 이용률을 사용한 자동 스케일링: 자동 스케일러의 대상 CPU 이용률입니다. 평균은 모든 ALB팟 (Pod) 에 대해 요청된 CPU와 비교하여 사용된 CPU의 백분율을 나타냅니다. ALB팟 (Pod) 의 현재 CPU 사용량을 확인하려면
kubectl top pods -n kube-system -l app=ALB_ID를 실행하십시오. ALB팟 (Pod) 에 대해 요청된 CPU양을 확인하려면kubectl get deployment -n kube-system ALB_ID -o=jsonpath='{.spec.template.spec.containers[0].resources.requests.cpu}를 실행하십시오. 이 옵션은 ‘--custom-metrics-file’ 옵션과 함께 사용할 수 없습니다. --custom-metrics-file FILE- 사용자 정의 메트릭을 사용하여 자동 스케일링: 자동 스케일링을 위한 사용자 정의 메트릭 및 대상 값을 정의하는 구성 파일의 이름을 지정하십시오. 사용자는 Prometheus와 같은 메트릭 제공자를 설치하고 구성해야 합니다. 이 옵션은 ‘
--cpu-average-utilization’ 옵션과 함께 사용할 수 없습니다.
사용자 정의 메트릭 YAML 파일의 예입니다. YAML 파일에서 사용자 정의 메트릭을 구성하십시오. 파일을 저장하고 --custom-metrics-file 명령 옵션을 사용하여 파일 이름을 지정하십시오. 사용자 정의 메트릭스 사양 파일 작성에 대한 자세한 내용은 Horizontal Pod Autoscaling에 대한 Kubernetes 문서 또는 MetricSpec API 문서를 참조하십시오.
- type: Object
object:
metric:
name: example_metrics
describedObject:
apiVersion: networking.k8s.io/v1
kind: Ingress
name: example-ingress
target:
type: Value
value: 2k
동적 ALB 자동 스케일링을 구성하기 위한 예제 명령
평균 CPU 이용률 60%를 기반으로 하는 동적 스케일링에 대한 예제 명령입니다.
ibmcloud ks ingress alb autoscale set -c CLUSTER_NAME_OR_ID --alb ALB_ID --min-replicas 2 --max-replicas 5 --cpu-average-utilization 60
my-custom-metrics.yaml 파일에 저장된 사용자 정의 메트릭을 기반으로 하는 동적 스케일링에 대한 예제 명령입니다.
ibmcloud ks ingress alb autoscale set -c CLUSTER_NAME_OR_ID --alb ALB_ID --min-replicas 2 --max-replicas 5 --custom-metrics-file my-custom-metrics.yaml
평균 CPU 활용도 계산
다음 이미지는 자동 스케일링 구성을 계획할 때 CPU 사용량을 판별하기 위한 예제 시나리오를 보여줍니다.
수신 트래픽이 없는 두 개의 실행 중인 ALB 복제본이 있는 유휴 클러스터가 있다고 가정합니다. 이 경우 총 CPU 요청은 2*20m=40m 입니다. 복제본 중 하나는 5m CPU및 다른 7m CPU를 사용할 수 있습니다. 다음 공식을 사용하여 CPU 활용도를 계산할 수 있습니다.
ALB 자동 스케일링 사용 안함
ALB에 대한 자동 스케일링을 사용 안함으로 설정하는 명령을 실행하십시오.
ibmcloud ks ingress alb autoscale unset --alb ALB --cluster CLUSTER
ALB 사용 안함
ALB를 축소하려면 클러스터에서 더 이상 트래픽을 라우팅하지 않도록 ALB를 사용 안함으로 설정할 수 있습니다.
ibmcloud ks ingress alb disable --alb ALB_ID -c CLUSTER_NAME_OR_ID
다음 명령을 실행하여 언제든지 ALB를 다시 활성화할 수 있습니다. ibmcloud ks ingress alb enable classic --alb ALB_ID -c CLUSTER_NAME_OR_ID 클래식 클러스터의 경우 다음 명령어를 실행하거나
ibmcloud ks ingress alb enable vpc-gen2 --alb ALB_ID -c CLUSTER_NAME_OR_ID 를 실행하여 ALB를 언제든지 다시 활성화할 수 있습니다.
클래식 클러스터에서 VLAN 간 ALB 이동
이 주제의 정보는 클래식 클러스터에만 해당됩니다.
작업자 노드 VLAN 연결을 변경하는 경우 작업자 노드는 새 VLAN에 연결되고 새 공용 또는 사설 IP 주소가 지정됩니다. 그러나 ALB에는 이전 VLAN에 속하는 서브넷의 안정적인 포터블 공인 또는 사설 IP 주소가 지정되므로 ALB를 새 VLAN으로 자동으로 마이그레이션할 수 없습니다. 작업자 노드와 ALB가 서로 다른 VLAN에 연결되어 있는 경우 ALB는 수신 네트워크 트래픽을 작업자 노드에 있는 앱 팟으로 전달할 수 없습니다. ALB를 다른 VLAN으로 이동하려면 새 VLAN에 ALB를 작성하고 이전 VLAN에서 ALB를 사용 안함으로 설정해야 합니다. 클러스터의 모든 공용 ALB는 동일한 IBM 지정 Ingress 하위 도메인을 공유하는 점에 유의하십시오. 새 ALB를 작성할 때는 Ingress 리소스 파일을 변경하지 않아도 됩니다.
VLAN에서 모든 작업자를 제거하면 VLAN의 구역에서 ALB의 IP 주소가 제거됩니다.
-
각 구역에서 작업자 노드 연결을 변경한 새 공용 또는 사설 VLAN을 가져오십시오.
- 구역에 작업자에 대한 세부사항을 나열하십시오.
ibmcloud ks worker get --cluster CLUSTER_NAME_OR_ID --worker WORKER_ID ``` 2. 출력에서 공용 또는 사설 VLAN의 **ID**를 기록해 두십시오. * 공용 ALB를 작성하려면 공용 VLAN ID를 기록해 두십시오. * 사설 ALB를 작성하려면 사설 VLAN ID를 기록해 두십시오. 3. 각 구역에서 새 공용 또는 사설 VLAN ID를 보유하도록 각 구역의 작업자에 대해 이 단계를 반복하십시오. -
각 구역의 새 VLAN에서 ALB를 작성하십시오. 이 명령의 매개변수에 대한 자세한 정보는 CLI 참조를 참조하십시오.
ibmcloud ks ingress alb create --cluster CLUSTER_NAME_OR_ID --type PUBLIC_OR_PRIVATE --zone ZONE --vlan VLAN_ID [--ip IP_ADDRESS] [--version image_version] -
각 구역의 새 VLAN에서 작성한 ALB의 상태가
enabled이고 ALB IP 주소가 지정되었는지 확인하십시오.ibmcloud ks ingress alb ls --cluster CLUSTER_NAME_OR_ID새 공용 ALB가
2294030의 VLANdal12및2234940의dal10에 작성된 클러스터의 출력 예.ALB ID Enabled Status Type ALB IP Zone Build ALB VLAN ID NLB Version private-crdf253b6025d64944ab99ed63bb4567b6-alb1 false disabled private - dal12 ingress:1.1.2_2507_iks 2294021 private-crdf253b6025d64944ab99ed63bb4567b6-alb2 false disabled private - dal10 ingress:1.1.2_2507_iks 2234947 public-crdf253b6025d64944ab99ed63bb4567b6-alb1 true enabled public 169.48.228.78 dal12 ingress:1.1.2_2507_iks 2294019 public-crdf253b6025d64944ab99ed63bb4567b6-alb2 true enabled public 169.46.17.6 dal10 ingress:1.1.2_2507_iks 2234945 public-crdf253b6025d64944ab99ed63bb4567b6-alb3 true enabled public 169.49.28.09 dal12 ingress:1.1.2_2507_iks 2294030 public-crdf253b6025d64944ab99ed63bb4567b6-alb4 true enabled public 169.50.35.62 dal10 ingress:1.1.2_2507_iks 2234940 -
이전 VLAN에 연결된 각 ALB를 사용 안함으로 설정하십시오.
ibmcloud ks ingress alb disable --alb OLD_ALB_ID -c CLUSTER_NAME_OR_ID -
이전 VLAN에 연결된 각 ALB의 상태가
disabled인지 확인하십시오. 새 VLAN에 연결된 ALB만 수신 네트워크 트래픽을 수신하고 앱 팟(Pod)과 통신합니다.ibmcloud ks ingress alb ls --cluster CLUSTER_NAME_OR_ID2294019의 VLANdal12및2234945의dal10에서 기본 공용 ALB를 사용할 수 없는 클러스터의 출력 예.ALB ID Enabled Status Type ALB IP Zone Build private-crdf253b6025d64944ab99ed63bb4567b6-alb1 false disabled private - dal12 ingress:1.1.2_2507_iks 2294021 private-crdf253b6025d64944ab99ed63bb4567b6-alb2 false disabled private - dal10 ingress:1.1.2_2507_iks 2234947 public-crdf253b6025d64944ab99ed63bb4567b6-alb1 false disabled public 169.48.228.78 dal12 ingress:1.1.2_2507_iks 2294019 public-crdf253b6025d64944ab99ed63bb4567b6-alb2 false disabled public 169.46.17.6 dal10 ingress:1.1.2_2507_iks 2234945 public-crdf253b6025d64944ab99ed63bb4567b6-alb3 true enabled public 169.49.28.09 dal12 ingress:1.1.2_2507_iks 2294030 public-crdf253b6025d64944ab99ed63bb4567b6-alb4 true enabled public 169.50.35.62 dal10 ingress:1.1.2_2507_iks 2234940 -
공용 ALB의 선택사항: 새 ALB의 IP 주소가 클러스터의 IBM 제공 Ingress 하위 도메인 아래에 나열되어 있는지 확인하십시오.
ibmcloud ks cluster get --cluster CLUSTER_NAME_OR_ID을(를) 실행하여 이 하위 도메인을 찾을 수 있습니다.nslookup <Ingress_subdomain>출력 예
Non-authoritative answer: Name: mycluster-<hash>-0000.us-south.containers.appdomain.cloud Addresses: 169.49.28.09 169.50.35.62 -
선택사항: 더 이상 이전 VLAN의 서브넷이 필요하지 않은 경우, 서브넷을 제거할 수 있습니다.
ALB에서 포트 80 관리하기
2026년 1월 26일 이후 생성된 VPC 클러스터에서는 모든 ALB에 대해 포트 80이 기본적으로 차단됩니다. 이 날짜 이전에 생성된 클러스터는 영향을 받지 않습니다.
다음 명령을 사용하여 ALB에서 포트 80을 관리할 수 있습니다. 변경한 사항은 클러스터의 모든 ALB에 적용됩니다.
-
ALB에서 포트 80의 상태를 확인하려면 다음 명령을 실행하세요.
ibmcloud ks ingress security port80 get --cluster CLUSTER_NAME_OR_ID -
ALB에서 포트 80을 활성화하려면 다음 명령을 실행하세요.
ibmcloud ks ingress security port80 enable --cluster CLUSTER_NAME_OR_ID -
ALB에서 포트 80을 비활성화하려면 다음 명령을 실행하세요.
ibmcloud ks ingress security port80 disable --cluster CLUSTER_NAME_OR_ID