클래식 클러스터 네트워킹 이해
클래식 클러스터를 작성할 때는 특정 클러스터 컴포넌트가 서로 통신할 수 있도록, 그리고 클러스터 외부의 네트워크 또는 서비스와도 통신할 수 있도록 네트워킹 설정을 선택해야 합니다.
- 작업자 간 통신: 모든 작업자 노드는 사설 네트워크에서 서로 통신할 수 있어야 합니다. 서로 다른 VLAN이나 구역에 있는 직원들이 서로 연결될 수 있도록 하기 위해서는, 여러 개의 사설 VLAN 간에 통신이 허용되어야 하는 경우가 많습니다.
- 작업자와 마스터 간 통신 및 사용자와 마스터 간 통신: 작업자 노드와 권한 부여된 클러스터 사용자는 TLS를 사용하는 공용 네트워크를 통해, 또는 프라이빗 클라우드 서비스 엔드포인트를 통해 사설 네트워크에서 Kubernetes 마스터와 안전하게 통신할 수 있습니다.
- 작업자와 기타 IBM Cloud 서비스 또는 온프레미스 네트워크 간의 통신: 작업자 노드가 IBM Cloud 등의 기타 IBM Cloud® Container Registry 서비스, 그리고 온프레미스 네트워크와 안전하게 통신할 수 있도록 하십시오.
- 작업자 노드에서 실행되는 앱에 대한 외부 통신: 클러스터에 공용 및 개인용 요청을 전달하거나, 클러스터에서 공용 엔드포인트로 요청이 전달될 수 있도록 하십시오.
작업자 간 통신: 클래식 VLAN 및 서브넷
클래식 클러스터를 작성하면, 클러스터의 작업자 노드가 사설 VLAN에 자동으로 연결되며 선택적으로 공용 VLAN에 연결됩니다. VLAN은 동일한 실제 회선에 연결된 것처럼 작업자 노드 및 팟(Pod)의 그룹을 구성하며, 작업자 간의 연결을 위한 채널을 제공합니다.
사설 VLAN에만 연결된 클래식 Red Hat OpenShift on IBM Cloud 클러스터를 작성할 수 없습니다. 작업자 노드는 공용 및 개인용 VLAN 둘 다에 연결되어야 합니다.
작업자 노드에 대한 VLAN 연결
모든 작업자 노드는 각 작업자 노드가 다른 작업자 노드와 정보를 전송하고 수신할 수 있도록 사설 VLAN에 연결되어야 합니다. 사설 VLAN은 사설 IP 주소를 작업자 노드와 사설 앱 서비스에 지정하는 데 사용되는 사설 서브넷을 제공합니다. 공용 VLAN에도 연결된 작업자 노드를 포함하는 클러스터를 작성할 수 있습니다. 공용 VLAN은 공인 IP 주소를 작업자 노드와 공용 앱 서비스에 지정하는 데 사용되는 공용 서브넷을 제공합니다. 하지만 공용 네트워크 인터페이스에서 앱을 보호해야 하는 경우, ‘ Calico ’ 네트워크 정책을 생성하거나 외부 네트워크 워크로드를 에지 워커 노드로 격리하는 등 클러스터 보안을 강화할 수 있는 여러 가지 방법이 있습니다.
특정 영역에서 클러스터를 처음 생성하면, 해당 영역의 공용 VLAN과 사설 VLAN이 IBM Cloud 인프라 계정에 자동으로 프로비저닝됩니다. 해당 작업자 노드가 사설 VLAN에만 연결되도록 지정하는 경우에는 해당 구역의 사설 VLAN만 자동으로 프로비저닝됩니다. 사용자는 해당 구역에서 작성하는 모든 후속 클러스터에 대해 사용할 VLAN 쌍을 지정할 수 있습니다. 다중 클러스터가 VLAN을 공유할 수 있으므로 사용자는 자신을 위해 작성된 동일한 공용 및 사설 VLAN을 재사용할 수 있습니다.
VLAN, 서브넷 및 IP 주소에 대한 자세한 정보는 IBM Cloud Kubernetes Service의 네트워킹 개요를 참조하십시오.
사용자 정의 서브넷을 사용하여 클러스터를 작성해야 합니까? 기존 서브넷을 사용하여 클러스터 작성을 확인하십시오.
여러 서브넷 및 VLAN 간 작업자 노드 통신
몇 가지 상황에서는 클러스터의 컴포넌트가 여러 사설 VLAN과 통신할 수 있도록 허용되어야 합니다. 예를 들어, 다중 구역 클러스터를 작성하려는 경우, 클러스터에 대한 여러 개의 VLAN이 있는 경우 또는 동일한 VLAN에 여러 개의 서브넷이 있는 경우 동일한 VLAN 또는 다른 VLAN의 다른 서브넷에 있는 작업자 노드는 자동으로 서로 통신할 수 없습니다. 사용자는 IBM Cloud 인프라 계정에 대해 VRF(Virtual Routing and Forwarding) 또는 VLAN Spanning을 사용으로 설정해야 합니다.
- VRF(Virtual Routing and Forwarding): VRF는 인프라 계정의 모든 사설 VLAN과 서브넷이 서로 통신할 수 있도록 합니다. 또한 작업자 및 마스터가 프라이빗 클라우드 서비스 엔드포인트를 통해 통신하고, 프라이빗 클라우드 서비스 엔드포인트를 지원하는 다른
IBM Cloud 인스턴스와도 통신할 수 있도록 하려면 VRF가 필요합니다. VRF가 이미 사용으로 설정되었는지 확인하려면
ibmcloud account show명령을 사용하십시오. VRF를 사용으로 설정하려면ibmcloud account update --service-endpoint-enable true를 실행하십시오. 이 명령 출력은 계정에서 VRF 및 서비스 엔드포인트를 사용할 수 있도록 설정하는 지원 케이스를 열 것인지 묻는 프롬프트를 표시합니다. VRF는 모든 VLAN이 통신할 수 있으므로 이를 사용하면 계정에 대한 VLAN Spanning 옵션을 제거합니다. VRF가 사용으로 설정되면 동일한 IBM Cloud 계정에서 사설 VLAN에 연결된 모든 시스템이 클러스터 작업자 노드와 통신할 수 있습니다. Calico 사설 네트워크 정책을 적용하여 사설 네트워크의 기타 시스템으로부터 클러스터를 분리할 수 있습니다. - VLAN 스패닝: VRF 대신 VLAN 스패닝을 활성화하도록 선택한 경우, 프라이빗 클라우드 서비스 엔드포인트를 활성화할 수 없습니다. 마스터에 사설 네트워크를 통해 접근할 필요가 없거나, 게이트웨이 어플라이언스를 사용하여 공용 VLAN을 통해 마스터에 접근하는 경우 등, VRF를 활성화할 수 없거나 활성화하고 싶지 않을 때는 VLAN 스패닝을 활성화하십시오. 예를 들어, 기존 게이트웨이 어플라이언스가 있는 상태에서 클러스터를 추가하는 경우, 클러스터에 할당된 새로운 이동형 서브넷은 게이트웨이 어플라이언스에 구성되지 않지만, VLAN 스패닝을 통해 서브넷 간의 라우팅이 가능해집니다.
작업자 대 마스터 및 사용자 대 마스터 통신: 서비스 엔드포인트
작업자 노드가 Kubernetes 마스터와의 연결을 설정할 수 있도록 통신 채널을 설정해야 합니다. 퍼블릭 클라우드 서비스 엔드포인트만 사용으로 설정하거나, 퍼블릭 및 프라이빗 클라우드 서비스 엔드포인트를 사용으로 설정하거나, 프라이빗 클라우드 서비스 엔드포인트만 사용으로 설정하여 작업자 노드 및 Kubernetes 마스터가 통신하도록 허용할 수 있습니다.
퍼블릭 및 프라이빗 클라우드 서비스 엔드포인트 간의 통신을 보호하기 위해, IBM Cloud Kubernetes Service 는 클러스터가 생성될 때 Kubernetes 마스터와 워커 노드 간에 Konnectivity 연결을 자동으로 설정합니다. 워커들은 TLS 인증서를 통해 마스터와 안전하게 통신하며, 마스터는 VPN 연결을 통해 워커들과 통신합니다.
공용 서비스 엔드포인트 전용
계정에 대해 VRF를 사용하지 않거나 사용할 수 없는 경우, 작업자 노드는 퍼블릭 클라우드 서비스 엔드포인트를 통한 공용 VLAN을 통해 Kubernetes 마스터에 자동으로 연결할 수 있습니다.
- 작업자 노드와 마스터 간의 통신은 퍼블릭 클라우드 서비스 엔드포인트를 통해 공용 네트워크를 거쳐 안전하게 설정됩니다.
- 마스터는 권한 부여된 클러스터 사용자가 퍼블릭 클라우드 서비스 엔드포인트를 통해서만 공용으로 액세스할 수 있습니다. 클러스터 사용자는 인터넷을 통해 Kubernetes 마스터에 안전하게 액세스하여
kubectl명령(예)을 실행할 수 있습니다. - 컨텍스트 기반 제한을 사용하여 클러스터의 공용 및 비공개 서비스 엔드포인트에 대한 액세스를 선택적으로 보호할 수 있습니다.
퍼블릭 및 프라이빗 클라우드 서비스 엔드포인트
마스터에 공용으로 또는 개인용으로 클러스터 사용자가 액세스할 수 있도록 하기 위해 퍼블릭 및 프라이빗 클라우드 서비스 엔드포인트를 사용으로 설정할 수 있습니다. VRF는 IBM Cloud 계정에 필요하며, 사용자는 계정에서 서비스 엔드포인트를 사용할 수 있게 해야 합니다. VRF 및 서비스 엔드포인트를 사용으로 설정하려면 ibmcloud account update --service-endpoint-enable true를
실행하십시오.
- 작업자 노드가 공용 및 개인용 VLAN에 연결된 경우 작업자 노드와 마스터 간의 통신은 사설 네트워크에서 프라이빗 클라우드 서비스 엔드포인트를 통해 설정되는 동시에 공용 네트워크에서 퍼블릭 클라우드 서비스 엔드포인트를 통해서도 설정됩니다. 공용 엔드포인트를 통한 작업자와 마스터 간의 트래픽 절반과 사설 엔드포인트를 통해 절반을 라우팅하여 마스터와 작업자 간의 통신은 공용 또는 사설 네트워크의 잠재적인 가동 중단으로부터 보호됩니다. 작업자 노드가 개인용 VLAN에만 연결된 경우 작업자 노드와 마스터 간의 통신은 사설 네트워크에서 프라이빗 클라우드 서비스 엔드포인트를 통해서만 설정됩니다.
- 마스터는 권한 부여된 클러스터 사용자가 퍼블릭 클라우드 서비스 엔드포인트를 통해 공용으로 액세스할 수 있습니다. 권한 부여된 클러스터 사용자가 IBM Cloud 사설 네트워크에 있거나 VPN 연결 또는 IBM Cloud Direct Link를 통해 사설 네트워크에 연결되어 있는 경우 프라이빗 클라우드 서비스 엔드포인트를 통해 개인용으로 마스터에 액세스할 수 있습니다. 사용자가 VPN 또는 IBM Cloud Direct Link 연결을 통해 마스터에 액세스할 수 있도록, 마스터 엔드포인트를 사설 로드 밸런서를 통해 노출해야 한다는 점에 유의하십시오.
- 컨텍스트 기반 제한을 사용하여 클러스터의 공용 및 비공개 서비스 엔드포인트에 대한 액세스를 선택적으로 보호할 수 있습니다.
개인 서비스 엔드포인트 전용
마스터에 개인적으로만 액세스할 수 있도록 하기 위해 프라이빗 클라우드 서비스 엔드포인트를 사용으로 설정할 수 있습니다. VRF는 IBM Cloud 계정에 필요하며, 사용자는 계정에서 서비스 엔드포인트를 사용할 수 있게 해야 합니다. VRF 및 서비스 엔드포인트를 사용으로 설정하려면 ibmcloud account update --service-endpoint-enable true를 실행하십시오. 프라이빗
클라우드 서비스 엔드포인트만 사용하는 경우 비용이 청구되지 않거나 데이터 통신 대역폭 비용만 발생하게 됩니다.
- 작업자 노드와 마스터 간의 통신은 사설 네트워크에서 프라이빗 클라우드 서비스 엔드포인트를 통해 설정됩니다.
- 마스터는 권한 부여된 클러스터 사용자가 IBM Cloud 사설 네트워크에 있거나, VPN 연결 또는 Direct Link를 통해 사설 네트워크에 연결되어 있는 경우 개인적으로 액세스할 수 있습니다. 사용자가 VPN 또는 Direct Link 연결을 통해 마스터에 액세스할 수 있도록 사설 로드 밸런서를 통해 마스터 엔드포인트를 노출해야 한다는 점을 유의하십시오.
- 컨텍스트 기반 제한을 사용하여 클러스터의 공용 및 비공개 서비스 엔드포인트에 대한 액세스를 선택적으로 보호할 수 있습니다.
작업자와 기타 IBM Cloud 서비스 또는 온프레미스 네트워크 간의 통신
작업자 노드가 기타 IBM Cloud 서비스, 그리고 온프레미스 네트워크와 안전하게 통신할 수 있도록 하십시오.
사설 또는 공용 네트워크를 통한 기타 IBM Cloud 서비스와의 통신
작업자 노드는 IBM Cloud 인프라 사설 네트워크를 통해 프라이빗 클라우드 서비스 엔드포인트를 지원하는 기타 IBM Cloud 서비스(예:IBM Cloud® Container Registry)와 자동으로 안전하게 통신할 수 있습니다. IBM Cloud 서비스가 프라이빗 클라우드 서비스 엔드포인트를 지원하지 않는 경우 작업자 노드는 공용 네트워크를 통해 서비스와 안전하게 통신할 수 있도록 공용 VLAN에 연결되어야 합니다.
Calico 정책 또는 게이트웨이 어플라이언스를 사용하여 작업자 노드의 공용 또는 사설 네트워크를 제어하는 경우 퍼블릭 클라우드 서비스 엔드포인트를 지원하는 서비스의 공인 IP 주소 및 프라이빗 클라우드 서비스 엔드포인트를 지원하는 서비스의 사설 IP 주소(선택사항)에 대한 액세스를 허용해야 합니다.
온프레미스 데이터 센터에 있는 리소스와 사설 네트워크를 통해 통신하기 위한 IBM Cloud® Direct Link
온프레미스 데이터 센터(예: IBM Cloud Private)와 클러스터를 연결하기 위해 IBM Cloud Direct Link를 설정할 수 있습니다. IBM Cloud Direct Link를 사용하면 공용 인터넷을 통한 라우팅 없이 원격 네트워크 환경과 IBM Cloud Kubernetes Service 간에 개인용 직접 연결을 작성할 수 있습니다.
온프레미스 데이터 센터 내 리소스와 공용 네트워크를 통해 통신하기 위한 VPN 연결
-
공용 및 사설 VLAN에 연결된 워커 노드: 클러스터에 VPN 서비스를 설정하여 클러스터와 온프레미스 네트워크 간에 인터넷을 통한 안전한 엔드투엔드 통신 채널을 제공하세요. 몇 가지 오픈 소스 옵션이 있습니다( 클래식 VPN 연결을 참조하세요).
-
전용 VLAN에만 연결된 워커 노드: Virtual Router Appliance (Vyatta)와 같은 게이트웨이 어플라이언스에 VPN 엔드포인트를 설정합니다.
클러스터를 온프레미스 네트워크에 연결하려는 경우 다음 유용한 정보를 확인하십시오.
- IBM 제공 기본 범위인, 팟(Pod)에 대한 172.30.0.0/16 범위 및 서비스에 대한 172.21.0.0/16 범위와의 서브넷 충돌이 있을 수 있습니다. CLI를 통해 클러스터를 생성할 때,
--pod-subnet옵션에서 파드용 사용자 지정 서브넷 CIDR을,--service-subnet옵션에서 서비스용 사용자 지정 서브넷 CIDR을 지정하면 서브넷 충돌을 방지할 수 있습니다. - 사용자의 VPN 솔루션이 요청의 소스 IP 주소를 유지하는 경우에는 작업자 노드가 클러스터의 응답을 온프레미스 네트워크로 다시 라우팅할 수 있도록 사용자 정의 정적 라우트를 작성할 수 있습니다.
172.16.0.0/16,172.18.0.0/16,172.19.0.0/16및172.20.0.0/16서브넷 범위는 IBM Cloud Kubernetes Service 제어 플레인 기능을 위해 예약되어 있어 금지된다는 점을 참고하십시오.
작업자 노드에서 실행되는 앱에 대한 외부 통신
클러스터 외부로부터 작업자 노드에서 실행되는 앱으로의 공용 또는 개인용 트래픽 요청을 허용하십시오.
클러스터 앱에 대한 개인용 트래픽
클러스터에 앱을 배치할 때 클러스터와 동일한 사설 네트워크에 있는 사용자 및 서비스에서만 앱에 액세스할 수 있도록 설정하려고 할 수 있습니다. 사설 로드 밸런싱은 앱을 일반 사용자에게 노출하지 않고 클러스터 외부의 요청에서 앱을 사용할 수 있도록 하는 데 적합합니다. 나중에 공용 네트워크 서비스를 사용하여 앱을 공용으로 노출하기 전에 액세스, 요청 라우팅 및 기타 구성을 테스트하기 위해 사설 로드 밸런싱도 사용할 수 있습니다. 클러스터 외부에서 앱으로의 개인용 트래픽 요청을 허용하려는 경우에는 사설 NodePort, NLB 및 Ingress ALB와 같은 사설 Kubernetes 네트워킹 서비스를 작성할 수 있습니다. 그 후에는 Calico Pre-DNAT 정책을 사용하여 사설 네트워킹 서비스의 NodePort에 대한 트래픽을 차단할 수 있습니다. 자세한 정보는 사설 외부 로드 밸런싱 계획을 참조하십시오.
클러스터 앱에 대한 공용 트래픽
외부의 공용 인터넷에서 앱에 액세스할 수 있도록 하려는 경우에는 공용 NodePort, 네트워크 로드 밸런서(NLB) 및 Ingress 애플리케이션 로드 밸런서(ALB)를 작성할 수 있습니다. 공용 네트워킹 서비스는 공인 IP 주소 및 서비스에 따라 공용 URL(선택사항)로 앱을 제공하여 이 공용 네트워크 인터페이스에 연결합니다. 앱이 공용으로 노출되면 공용 서비스 IP 주소 또는 사용자 앱에 맞게 설정한 URL을 갖고 있는 사용자는 요청을 앱에 전송할 수 있습니다. 그 후에는 특정 소스 IP 주소 또는 CIDR에서의 트래픽을 허용하고 모든 기타 트래픽을 차단하는 등과 같이 Calico DNAT 이전 정책을 사용하여 공용 네트워킹 서비스로의 트래픽을 제어할 수 있습니다. 자세한 정보는 공용 외부 로드 밸런싱 계획을 참조하십시오.
- 보안을 강화하기 위해 네트워킹 워크로드를 에지 워커 노드에 분리하여 배치할 수 있습니다.
- 에지 작업자 노드는 공용 VLAN에 연결된 작업자 노드 중 외부에서 액세스되는 노드의 수를 줄이고 네트워킹 워크로드를 격리함으로써 클러스터의 보안을 향상시킬 수 있습니다. 작업자 노드를 에지 노드로 레이블 지정하면 NLB 및 ALB 팟(Pod)이 이렇게 지정된 작업자 노드에만 배치됩니다. 또한, 에지 노드에서 다른 워크로드가 실행되는 것을 방지하기 위해 에지 노드에 테인트를 지정할 수 있습니다. 그 후 에지 노드에 공용 및 사설 NLB와 ALB를 모두 배치할 수 있습니다. 예를 들어, 작업자 노드가 사설 VLAN에만 연결되었으나 클러스터에 있는 앱에 대한 공용 액세스를 허용해야 하는 경우에는 에지 노드가 공용 및 사설 VLAN에 연결된 에지 작업자 풀을 작성할 수 있습니다. 사용자는 이러한 작업자만 공용 연결을 처리하도록 이러한 에지 노드에 공용 NLB 및 ALB를 배치할 수 있습니다.
시나리오: 기존 클러스터에서 인터넷에 노출된 앱 워크로드를 실행하는 경우
이 시나리오에서는 일반 사용자가 앱에 액세스할 수 있도록 인터넷에서의 요청이 액세스 가능한 클래식 클러스터에서 워크로드를 실행하고자 합니다. 여기서는 클러스터에서 공용 액세스를 격리하고 클러스터에 허용되는 공용 요청을 제어합니다. 또한 작업자가 클러스터에 연결할 IBM Cloud 서비스에 대한 액세스 권한을 자동으로 획득합니다.
인터넷에 연결된 워크로드가 있는 클래식 클러스터의 작업자 대 작업자 통신
이 설정을 수행하기 위해, 사용자는 작업자 노드를 공용 및 사설 VLAN에 연결하여 클러스터를 작성합니다.
공용 및 사설 VLAN를 모두 사용하여 클러스터를 작성하면 나중에 해당 클러스터에서 공용 VLAN을 제거할 수 없습니다. 클러스터에서 모든 공용 VLAN을 제거하면 여러 클러스터 컴포넌트의 작동이 중지됩니다. 이 경우에는 사설 VLAN에만 연결된 새 작업자 풀을 작성하십시오.
인터넷 대면 워크로드가 있는 클래식 클러스터의 작업자 대 마스터 및 사용자 대 마스터 통신
작업자 대 마스터 및 사용자 대 마스터 통신을 공용 및 사설 네트워크를 통해 허용할지, 또는 공용 네트워크를 통해서만 허용할지 선택할 수 있습니다.
- 퍼블릭 및 프라이빗 클라우드 서비스 엔드포인트: 계정이 VRF 및 서비스 엔드포인트를 사용하도록 설정되어야 합니다. 작업자 노드와 마스터 간 통신은 프라이빗 클라우드 서비스 엔드포인트를 통한 사설 네트워크와 퍼블릭 클라우드 서비스 엔드포인트를 통한 공용 네트워크 모두를 통해 설정됩니다. 마스터는 권한 부여된 클러스터 사용자가 퍼블릭 클라우드 서비스 엔드포인트를 통해 공용으로 액세스할 수 있습니다.
- 공용 서비스 엔드포인트: 계정에서 VRF를 사용하지 않으려고 하거나 사용으로 설정할 수 없는 경우, 작업자 노드 및 권한 부여된 클러스터 사용자는 퍼블릭 클라우드 서비스 엔드포인트를 통해 공용 네트워크를 거쳐 Kubernetes 마스터와 자동으로 연결할 수 있습니다.
인터넷에 연결된 워크로드가 있는 다른 서비스 또는 네트워크에 대한 작업자 통신
작업자 노드는 프라이빗 클라우드 서비스 엔드포인트를 지원하는 기타 IBM Cloud 서비스와 IBM Cloud 인프라 사설 네트워크를 통해 자동으로 안전하게 통신할 수 있습니다. IBM Cloud 서비스가 프라이빗 클라우드 서비스 엔드포인트를 지원하지 않는 경우 작업자는 공용 네트워크를 통해 서비스와 안전하게 통신할 수 있습니다. 공용 네트워크 또는 사설 네트워크 격리를 위해 Calico 네트워크 정책을 사용하여 작업자 노드의 공용 또는 사설 인터페이스를 잠글 수 있습니다. 사용자는 이러한 Calico 격리 정책에서 사용하려는 서비스의 공인 및 사설 IP 주소에 대한 액세스를 허용해야 할 수 있습니다.
작업자 노드가 IBM Cloud 계정 외부의 비공개 네트워크에 있는 서비스에 액세스해야 하는 경우 비공개 네트워크 연결 설정을 참조하세요
인터넷에 노출된 워크로드를 처리하는 워커 노드에서 실행되는 앱과의 외부 통신
클러스터에 있는 앱을 인터넷에 노출하려는 경우에는 공용 네트워크 로드 밸런서(NLB) 또는 Ingress 애플리케이션 로드 밸런서(ALB) 서비스를 작성할 수 있습니다. 에지 노드로 레이블 지정된 작업자 노드의 풀을 작성하여 클러스터의 보안을 향상시킬 수 있습니다. 외부 트래픽 워크로드가 클러스터에 있는 소수의 작업자로 격리되도록 공용 네트워크 서비스를 위한 팟(Pod)이 에지 노드에 배치됩니다. 허용 목록 및 차단 목록 정책과 같은 Calico DNAT 이전 정책을 작성하여 앱을 노출하는 네트워크 서비스에 대한 공용 트래픽을 추가로 제어할 수 있습니다.
이 시나리오의 클러스터를 시작할 준비가 되셨습니까? 고가용성 설정을 계획한 후에는 클러스터 만들기 를 참조하세요.
시나리오: 게이트웨이 어플라이언스와의 제한된 공용 연결 허용
이 시나리오에서는 온프레미스 데이터 센터에 있는 서비스, 데이터베이스 및 기타 리소스에서 액세스할 수 있는 클래식 클러스터에서 워크로드를 실행하고자 합니다. 그러나 클러스터에 제한된 공용 액세스를 제공해야 할 수도 있으며, 이 경우에는 클러스터에서 모든 공용 액세스를 제어 및 격리하려 합니다. 예를 들면, 작업자가 프라이빗 클라우드 서비스 엔드포인트를 지원하지 않는 IBM Cloud 서비스에 공용 네트워크를 통해 액세스해야 할 수 있습니다. 또는 클러스터에서 실행되는 앱에 대해 제한된 공용 액세스를 제공해야 할 수도 있습니다. 이러한 클러스터 구성을 구현하려면, ‘ Virtual Router Appliance (Vyatta)’와 같은 게이트웨이 어플라이언스를 공용 게이트웨이 및 방화벽으로 설정할 수 있습니다.
게이트웨이 어플라이언스와의 작업자 대 작업자 통신, 작업자 대 마스터 및 사용자 대 마스터 통신
사설 VLAN에만 작업자 노드를 설정하고 계정에 대해 VRF를 사용하지 않거나 사용할 수 없는 경우에는 공용 네트워크를 통해 작업자 노드와 마스터 간에 네트워크 연결을 제공하도록 게이트웨이 어플라이언스를 구성해야 합니다. 예를 들어, Virtual Router Appliance 를 설정하도록 선택할 수 있습니다.
사용자는 클러스터에 전용 네트워크 보안을 제공하고, 네트워크 침입을 발견 및 해결하기 위해 사용자 정의 네트워크 정책을 사용하는 게이트웨이 어플라이언스를 설정할 수 있습니다. 공용 네트워크에 대해 방화벽을 설정할 때는 마스터와 작업자 노드가 통신할 수 있도록 각 지역에 대해 필수 포트와 사설 IP 주소를 열어야 합니다. 이 방화벽을 사설 네트워크에 대해서도 구성하는 경우에는 작업자 노드가 서로 통신하고 클러스터가 사설 네트워크를 통해 인프라 리소스에 액세스할 수 있도록 필수 포트 및 사설 IP 주소도 열어야 합니다. 또한 서브넷이 동일한 VLAN 및 다른 VLAN으로 라우팅할 수 있도록 계정에 대해 VLAN Spanning을 사용으로 설정해야 합니다.
게이트웨이 어플라이언스를 사용하여 다른 서비스 또는 네트워크에 대한 작업자 통신
작업자 노드와 앱을 온-프레미스 네트워크 또는 IBM Cloud 외부의 서비스에 안전하게 연결하려면 비공개 네트워크 연결 설정을 참조하세요
작업자 노드는 게이트웨이 어플라이언스를 통해 기타 IBM Cloud 서비스, 그리고 IBM Cloud 외부의 공용 서비스와 안전하게 통신할 수 있습니다. 사용자는 사용할 서비스의 공인 또는 사설 IP 주소에 대해서만 액세스를 허용하도록 방화벽을 구성할 수 있습니다.
게이트웨이 어플라이언스를 사용하여 작업자 노드에서 실행되는 앱에 대한 외부 통신
클러스터에 있는 앱에 대한 개인용 액세스를 제공하려는 경우에는 사설 네트워크 로드 밸런서(NLB) 또는 Ingress 애플리케이션 로드 밸런서(ALB)를 작성하여 앱을 사설 네트워크에만 노출할 수 있습니다. 클러스터에 있는 앱에 대해 제한된 공용 액세스를 제공해야 하는 경우에는 공용 NLB 또는 ALB를 작성하여 앱을 노출할 수 있습니다. 모든 트래픽이 게이트웨이 어플라이언스 방화벽을 통과하므로, 앱을 노출하는 네트워크 서비스에 대한 인바운드 트래픽을 허용하기 위해 방화벽에 이러한 서비스의 포트 및 IP 주소를 열어 해당 서비스에 대한 공용 및 개인용 트래픽을 제어할 수 있습니다.
이 시나리오의 클러스터를 시작할 준비가 되셨습니까? 고가용성 설정을 계획한 후에는 클러스터 만들기 를 참조하세요.
시나리오: 온프레미스 데이터 센터를 클래식 클러스터로 확장
이 시나리오에서는 클래식 클러스터의 워크로드를 실행하고자 합니다. 그러나 이러한 워크로드를 온프레미스 데이터 센터(IBM Cloud Private 등)에 있는 서비스, 데이터베이스 또는 기타 리소스에서만 액세스할 수 있도록 하려 합니다. 클러스터 워크로드가 사설 네트워크를 통한 통신을 지원하는 몇몇 다른 IBM Cloud 서비스(IBM Cloud Object Storage 등)에 액세스해야 할 수도 있습니다.
사설 클러스터에 대한 작업자 대 작업자 통신
이 설정을 수행하기 위해, 사용자는 작업자 노드를 사설 VLAN에만 연결하여 클러스터를 작성합니다. 사설 네트워크에서 프라이빗 클라우드 서비스 엔드포인트를 통해서만 클러스터 마스터와 작업자 노드 간의 연결을 제공하려면 사용자 계정에서 VRF 및 서비스 엔드포인트를 사용하도록 설정되어 있어야 합니다. VRF가 사용으로 설정되면 사설 네트워크의 모든 리소스에서 클러스터를 볼 수 있으므로, Calico 사설 네트워크 정책을 적용하여 사설 네트워크의 다른 시스템으로부터 클러스터를 격리시킬 수 있습니다.
작업자 노드, 팟(Pod), 서비스에 대한 기본 범위와 온프레미스 네트워크의 서브넷 간에 서브넷 충돌이 있을 수 있습니다. --no-subnet 옵션을 지정하여 IBM 에서 제공하는 서브넷을 사용하지 않고 클러스터를 생성합니다. 클러스터를 작성한 후 클러스터에 사용자 정의 서브넷을 추가할
수 있습니다. 또한, 클러스터를 생성할 때 ibmcloud ks cluster create 명령어에서 --pod-subnet 및 --service-subnet 옵션을 사용하여 포드 및 서비스에 대한 사용자 지정 서브넷 CIDR을 지정할 수 있습니다.
사설 클러스터에 대한 작업자 대 마스터 및 사용자 대 마스터 통신
권한 부여된 사용자가 IBM Cloud 사설 네트워크에 존재하며 클래식 VPN 연결 또는 IBM Cloud Direct Link 등을 통해 연결되어 있는 경우 프라이빗 클라우드 서비스 엔드포인트를 통해 Kubernetes
마스터에 액세스할 수 있습니다. 하지만 프라이빗 클라우드 서비스 엔드포인트를 통한 Kubernetes 마스터와의 통신은 클래식 VPN 연결 또는 IBM Cloud Direct Link를 통해 라우팅할 수 없는 166.X.X.X IP 주소 범위를 통해 수행되어야 합니다. 클러스터 사용자를 위해 사설 네트워크 로드 밸런서(NLB)를 사용하여 프라이빗 클라우드 서비스 엔드포인트를 노출할 수 있습니다. 사설
NLB는 사용자가 VPN 또는 IBM Cloud Direct Link 연결을 통해 액세스할 수 있는 내부 10.X.X.X IP 주소 범위로 마스터의 프라이빗 클라우드 서비스 엔드포인트를 노출합니다. 프라이빗 클라우드 서비스 엔드포인트만 사용으로 설정하는 경우에는 Kubernetes 대시보드를 사용하거나 임시로 퍼블릭 클라우드 서비스 엔드포인트를 사용으로 설정하여 사설 NLB를 작성할 수 있습니다.
사설 클러스터의 다른 서비스 또는 네트워크에 대한 작업자 통신
작업자 노드는 IBM Cloud 인프라 사설 네트워크를 통해 프라이빗 클라우드 서비스 엔드포인트를 지원하는 다른 IBM Cloud 서비스(예: IBM Cloud® Container Registry)와 자동으로 안전하게 통신할 수 있습니다. 예를 들어 IBM Cloudant의 모든 표준 플랜 인스턴스에 대한 전용 하드웨어 환경에서는 프라이빗 클라우드 서비스 엔드포인트가 지원됩니다. IBM Cloud 서비스가 프라이빗 클라우드 서비스 엔드포인트를 지원하지 않는 경우 클러스터는 해당 서비스에 액세스할 수 없습니다.
비공개 클러스터의 워커 노드에서 실행되는 앱과의 외부 통신
클러스터에 있는 앱에 대한 개인용 액세스를 제공하려는 경우에는 사설 네트워크 로드 밸런서(NLB) 또는 Ingress 애플리케이션 로드 밸런서(ALB)를 작성할 수 있습니다. 이러한 Kubernetes 네트워크 서비스는 NLB IP가 있는 서브넷에 연결된 온프레미스 시스템이 앱에 액세스할 수 있도록 앱을 사설 네트워크에만 노출합니다.
이 시나리오의 클러스터를 시작할 준비가 되셨습니까? 고가용성 설정을 계획한 후에는 클러스터 만들기 를 참조하세요.
다음 단계
계획 프로세스를 계속 진행하려면 구성해야 하는 암호화 수준을 결정하여 클러스터의 민감한 정보를 보호하는 방법에 대해 알아보세요. 네트워킹 설정을 시작할 준비가 되었다면 Calico 네트워크 정책을 사용하여 클래식 클러스터에서 트래픽 제어하기 으로 이동하세요.