본문 바로가기
10. 기타

Path analysis tests 를 사용하여 OCI Kubernetes (OKE) Cluster 의 네트워크 트러블슈팅

by AndyPandi 2024. 2. 29.

OKE(OCI Container Engine for Kubernetes) 신규기능인 Path analysis tests 사용하여 생성된 Kubernetes Cluster의 네트워크 구성 문제를 확인하는 방법을 알아봅니다.

 

OCIOKE(OCI Container Engine for Kubernetes)로 생성한 클러스터가 올바르게 동작하려면 클러스터에 지정된 네트워크 리소스를 올바르게 구성해야 합니다. 클러스터 생성시 [Quick create] 사용하여 생성하면 자동으로 네트워크 리소스를 자동으로 생성 및 구성 하지만 [Custom create] 사용하여 생성한 경우 다양한 클러스터 구성 요소가 통신할 수 있도록 직접 네트워크 리소스를 올바르게 구성해야 합니다.

< OKE에서 클러스터 생성 및 배포를 위한 네트워크 구성 >

 

하지만 이러한  Kubernetes 클러스터에 대한 네트워크 구성은 복잡할 수 있는데 이를 위해 사전에 정의된 다양한 네트워크 경로를 테스트할 수 있는 Path analysis tests 기능을 제공합니다.

 

Path analysis tests 는 가상 네트워크 토폴로지를 검사하고, 여러 라우팅 테이블을 살펴보고, NSG(Network Security Group) Security List의 보안 규칙을 면밀히 조사합니다실제 트래픽은 전송되지 않으며 대신 구성을 검사하고 연결 가능성을 확인하는 데 사용됩니다. 하나의 OCI 리소스가 다른 OCI 리소스에 연결할 수 있는지 여부(소스에서 대상으로의 단방향 연결), 두 OCI 리소스가 서로 연결할 수 있는지(양방향 연결) 여부, 클러스터의 PodOCI 서비스에 연결할 수 있는지 여부 등 다양한 경로를 테스트 할 수 있습니다.

 

그러면 이제 어떻게 OKE(OCI Container Engine for Kubernetes) Path analysis tests 사용하는 방법을 알아보겠습니다.

Kubernetes Cluster 는 생성되어진 상태여야 합니다.

 

1. Path analysis tests 실행에 필요한 IAM Policy 입력

Identity & Security > Identity > Policies 메뉴에서 [Create Policy] 를 클릭해 아래 Policies를 추가합니다.

 allow group <group-name> to manage vn-path-analyzer-test in tenancy
 allow any-user to inspect compartments in tenancy where all { request.principal.type = 'vnpa-service' }
 allow any-user to read instances in tenancy where all { request.principal.type = 'vnpa-service' }
 allow any-user to read virtual-network-family in tenancy where all { request.principal.type = 'vnpa-service' }
 allow any-user to read load-balancers in tenancy where all { request.principal.type = 'vnpa-service' }
 allow any-user to read network-security-group in tenancy where all { request.principal.type = 'vnpa-service' }

 

2. Path analysis tests 메뉴로 이동

OCI Console >  메뉴 > Developer Services > Containers & Artifacts > Kubernetes Clusters (OKE) > Cluster 메뉴로 이동해 왼쪽 하단에 있는 Resources 아래에 있는 Path analysis tests 를 클릭 합니다.

 

3. Launch path analysis 수행

Path analysis tests 화면에서 테스트하고자 하는 항목의 오른쪽에 있는 [Launch path analysis] 버튼을 클릭합니다.

여기서는 Internet to Kubernetes API endpoint 테스트를 해보도록 하겠습니다.

< Internet to Kubernetes API endpoint 테스트 >

Source IP를 입력 하고 [Run analysis] 버튼을 클릭합니다. Kubernetes API public endpoint 인 158.179.194.15:6443 로의 연결을 테스트 합니다.

정상적으로 구성된 경우 아래와 같이 Forward, Return 모두 테스트 결과가 정상이었습니다.

< 네트워크 구성이 올바른 경우 >

- Security List 에서 Kubernetes API public endpoint 의 포트인 6443 을 막고 다시 테스트 해보겠습니다.

< 네트워크 구성이 올바르지 않은 경우 >

Kubernetes API endpoint 로의 연결이 실패한 것을 확인할 수 있습니다.

 

 

참고. https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contengtroubleshooting_topic-network_troubleshooting.htm

 


작성자: 정성일(andypandi.yo@gmail.com) / Oracle Cloud Architect

개인 시간을 투자하여 작성된 글로서, 글의 내용에 오류가 있을 수 있으며, 글 속의 의견은 개인적인 의견입니다.

댓글